Python
 Computer >> コンピューター >  >> プログラミング >> Python

不変とはどういう意味ですか?どのPythonタイプが変更可能で、どれが変更可能ではありませんか?


Pythonには、2種類のオブジェクトがあります。

  • ミュータブルオブジェクト
  • 不変オブジェクト

変更可能 :変更可能なオブジェクトが変更されます。つまり、オブジェクトは変更可能なリストです。 、セット dict 、などは変更可能です。

変更可能なオブジェクトは簡単に変更できます。

例1

list =["Tutorials ","Point", "Pvt","Ltd"]
list[2]= 'Tutorix'
list

出力

['Tutorials ', 'Point', 'Tutorix', 'Ltd']

例2

list=['Car','Bike','Scooty','Bus','Metro']
list[4]= 'Bicycle'
list

出力

['Car', 'Bike', 'Scooty', 'Bus', 'Bicycle']


不変 :不変オブジェクトは変更されません(つまり、変更できません int フロートブール str タプルUnicodeなど... 不変です。不変オブジェクトは高価であり、変更が困難です。タプルは括弧で囲まれていますタプルは不変であり、変更できません。

例1

tuple=('1','2','Python','Perl')
tuple

出力

('1', '2', 'Python', 'Perl')

例2

tuple=('1','2','Python','Perl')
tuple[4]='2019'
tuple

出力

TypeError Traceback (most recent call last)
in
1 tuple=('1','2','Python','Perl')
----> 2 tuple[4]='2019'
3 tuple
TypeError: 'tuple' object does not support item assignment


上記の出力を見て、タプルオブジェクトを変更することはできません。明確に理解できます


  1. Pythonディクショナリビューオブジェクトとは何ですか?

    ディクショナリメソッドitems()、keys()、values()はビューオブジェクトを返します。 items()メソッドは、ディクショナリ内のキーと値のペアのリストを含むdict_itemsオブジェクトを返します >>> D1={"pen":25, "pencil":10, "book":100, "sharpner":5, "eraser":5} >>> i=D1.items() >>> i dict_items([('pen&

  2. Python2.7.xとPython3.xの主な違いは何ですか?

    Python 3.0は2008年12月にリリースされました。これは、以前のバージョンの特定の欠陥を修正するために設計されました。 Python 3の基本原則は、「古いやり方を削除することで機能の重複を減らす」ことでした。 Python3.0は下位互換性を提供しません。つまり、バージョン2.x構文を使用して記述されたPythonプログラムは、python3.xインタープリターでは実行されません。 Ver 2.7は、Python2.xシリーズの最後のメジャーリリースです。 これら2つのバージョンの使用法にはかなりの違いがありますが、最も明白なものを以下に示します- 印刷 はPython2.7の