ホームページ  >  記事  >  バックエンド開発  >  Pythonのリストの長さは変数ですか?

Pythonのリストの長さは変数ですか?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼オリジナル
2019-06-19 17:55:2110848ブラウズ

Pythonのリストの長さは変数ですか?

#Python ではリストの長さは可変ですか? Python の変数型と不変型を紹介しましょう:

変数、不変型
変数/不変型とは、メモリ ID が変化せず、型も変化しないことを指します。値が変化するかどうかは変化しないことを前提としています。
int() と str() は両方とも不変型です
リストと辞書は変数型です

リストなどの変数オブジェクトの場合、リストを操作すると、リスト内の内容が変更されます例:

>>> a = ['c', 'b', 'a']>>> a.sort()>>> a
['a', 'b', 'c']

関連する推奨事項: "Python ビデオ チュートリアル "

不変オブジェクトの場合、たとえば、次のようになります。 str、strの操作方法:

>>> a = 'abc'>>> a.replace('a', 'A')'Abc'>> ;> ; a'abc'

文字列には replace() メソッドがあり、確かに 'Abc' が変更されていますが、変数 a は最終的には 'abc' のままです。

まず、コードを次のように変更しましょう:

>>> a = 'abc'>>> b = a.replace('a', 'A ')>>> b'Abc'>>> a'abc'

常に覚えておくべきことは、a は変数であり、'abc' は文字列であるということです。物体 !オブジェクト a の内容は「abc」であるとよく言われますが、実際には、a 自体が変数であり、それが指すオブジェクトの内容が「abc」であることを意味します。

Pythonのリストの長さは変数ですか?

a.replace('a', 'A') を呼び出すと、実際には文字列オブジェクト 'abc' に対して replace メソッドが呼び出されます。このメソッドは replace という名前ですが、変更されていません。 . 文字列「abc」の内容。逆に、replace メソッドは新しい文字列 'Abc' を作成して返します。変数 b を使用して新しい文字列を指すとすると、理解しやすいです。変数 a は元の文字列 'abc' を指したままですが、変数b が指す新しい文字列 'Abc' は次のとおりです:

Pythonのリストの長さは変数ですか?

したがって、不変オブジェクトの場合、オブジェクト自体のメソッドを呼び出しても、オブジェクト自体の内容は変更されません。代わりに、これらのメソッドは新しいオブジェクトを作成してそれを返すため、不変オブジェクト自体は常に不変になります。

以上がPythonのリストの長さは変数ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。