2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[Python] 破壊的/非破壊的

Posted at

結論

  • 破壊的メソッド:オブジェクトの値を変更しNoneを返すメソッド
  • 非破壊的メソッド:オブジェクトの値を変更せず処理を加えた新たなオブジェクトを返すメソッド

実践確認

破壊的

lst = [1,2,3,4,5]
lst.append(99)
# lst => [1, 2, 3, 4, 5, 99]

変数lstの値が変更されるため、append()は破壊的メソッドと言える。
また、

lst = [1,2,3,4,5]
lst2 = lst.append(99)
# lst => [1, 2, 3, 4, 5, 99]
# lst2 => None

変数lst2に値が存在しないことから、破壊的メソッドはNoneを返却する。

非破壊的

msg1 = 'こんにちは、世界'
msg2 = msg1.replace('こんにちは', 'さようなら')
# msg1 => 'こんにちは、世界'
# msg2 => 'さようなら、世界'

変数msg1の値が変更されていないため、replace()は非破壊的メソッドと言える。
また、変数msg2には、新たに生成されたオブジェクトが格納される。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?