Değiştirilebilir ve Değiştirilemez Nesneler Python {ÖRNEKLER}
Değişken Nesne Nedir?
Değiştirilebilir Python Doğada değişebilen veya değişen bir şey olarak değerlendirilebilen nesne olarak tanımlanabilir. Değişken, bir değeri değiştirme veya düzenleme yeteneği anlamına gelir.
Değiştirilebilir nesneler Python programcıların değerlerini değiştirebilecek nesnelere sahip olmalarını sağlar. Genellikle bir veri koleksiyonunu depolamak için kullanılırlar. Mutasyona uğramış bir şey olarak kabul edilebilir ve bir nesnenin içinde geçerli olan iç durum değişmiştir.
Değişmez nesneler nelerdir?
Değişmez nesneler Python zaman içinde değerlerini ve niteliklerini değiştirmeyen nesneler olarak tanımlanabilir.
Bu nesneler oluşturulduktan ve başlatıldıktan sonra kalıcı hale gelirler ve kullanılan veri yapılarının kritik bir bölümünü oluştururlar. Python.
Python sayılarda kullanılır, Tuplelerin, dizeler, dondurulmuş kümeler ve bazı istisnalar dışında kullanıcı tanımlı sınıflar. Değişemezler ve değerleri bir kez başlatıldıktan ve dolayısıyla değişmez olarak adlandırıldıktan sonra kalıcı kalır.
In Python, her şey bir nesnedir
içinde Python programlama dilinde her şey listelerden, tamsayılardan ve işlevlerden oluşan bir nesne olarak kabul edilebilir. Bu özellik nesneleri destekleyen diğer programlama dilleriyle karşılaştırılabilir.
Bu özellik bir kullanılarak doğrulanabilir. Python aşağıda gösterildiği gibi tercüman: –
Python Kod:
print("The following instance is an object:",isinstance(3,object)) print("Another instance for object", isinstance(True, object)) def my_func(): return "guru99" print("This is a function example and regarded as an object in Python:", isinstance(my_func, object))
Çıktı:
A following instance is an object: True Another instance for object True This is a function example and regarded as an object in Python: True
Bundan başka, Python nesnenin adresini nesnenin belleğinde olduğu gibi döndüren id adlı yerleşik bir işlev sağlar. Python Programlama dili.
Python Kod:
z=200 id(z) print("The id of object is", id(z))
Çıktı:
the id of object is 9795360
Yukarıdaki kodda, id(obj) sözdizimine sahip olan id işlevi, içindeki obj'nin adresini verir. Python hafıza. Burada z adında bir nesne var ve 200 ataması var. Z nesnesi daha sonra id(z) olarak id işlevine aktarılır ve Python nesnenin adresini 9795360 olarak iletir.
Değiştirilebilir nesneler Python
Değişken bir nesnede nesnenin değeri belirli bir süre içinde değişir.
Bu örnekte değiştirilebilir nesneleri açıkladık. Pythonve bu, aşağıda gösterildiği gibi değişken nesnelerin bir uygulaması olarak listeleri kullanır: –
Python Kod:
mut_list = [1, 2, 3] print("The list in Python",mut_list) mut_list[0] = 'Gurru99' mut_list print("The list in Python after changing value",mut_list)
Çıktı:
The list in Python [1, 2, 3] The list in Python after changing value ['Gurru99', 2, 3]
Yukarıda verilen örnekte görebileceğimiz gibi, değişken liste Python 1,2,3 değerlerine sahipti. Değişken listenin ilk elemanı 1'den Guru99'a değiştirildi ve yeni bir değer başlatıldığında yeni bir nesne yaratmadı.
Burada bunu kullanmak için id metodunu kullanabiliriz. Aşağıda, değiştirilebilir nesneler için id metodunun kullanımı gösterilmektedir: –
Python Kod:
mut_list = [1, 2, 3] print("The list in Python",mut_list) print("the id of the list is ",id(mut_list)) mut_list[0] = 'Gurru99' mut_list print("The mut list in Python after changing value",mut_list) print("the id of the list is post change in value",id(mut_list))
Çıktı
The list in Python [1, 2, 3] the id of the list is 139931568729600 The list in Python after changing value ['Gurru99', 2, 3] the id of the list is post change in value 139931568729600
Aşağıdaki şekil, değiştirilebilir nesneyi göstermektedir Python aşağıda gösterildiği gibi: –
Değişmez nesneler Python
Değişmez nesneler Python örneklerin dönem boyunca değişmediği nesnelerdir. Belirli bir türün değişmez örnekleri oluşturulduktan sonra değişmez ve bu, id yöntemi kullanılarak doğrulanabilir. Python.
Tamsayı tipi nesnelere bir örnek verelim Python değişmez nesneler kavramını gösteren Python aşağıda gösterildiği gibi: –
Python Kod:
a=244 print("the number before change is",a) print("the id of number before change is",id(a)) a=344 print("the number after change is",a) print("the id of number after change is",id(a))
Çıktı
the number before a change is 244 the id of number before change is 9796768 the number before change is 344 the id of number before change is 140032307887024
Yukarıda “a”da değişiklik olduğu görülüyordu. Mekanizmanın nasıl çalıştığını inceleyelim:
- “a”nın 344 ile başlatılması durumunda nesnenin değerinde herhangi bir değişiklik olmaz.
- Bunun yerine yeni bir nesne yaratılır ve “a” ile sınırlanır.
- 244 olarak atanan diğer nesneye artık erişilemeyecek.
- Yukarıdaki örnekte bir tamsayı nesnesi kullanılmıştır.
a=244 konumunda yeni bir nesne oluşturulur ve aşağıda gösterildiği gibi “a”ya referans verilir: –
a=344 kullanarak gönderi, "a" ile referanslanan yeni bir nesne var. Aşağıdaki diyagram aynı şeyi temsil ediyor: –
Dolayısıyla int tipi isme yeni bir değer atandığında ismin başka bir nesneyle bağlanmasında değişiklik olur. Aynı prensip tuple'lar için de geçerlidir, dizeleri, float ve Boolean bu nedenle değişmez olarak adlandırılır.
Sözlük anahtarları için çıkarımlar Python
Sözlükler, verileri anahtar formatında saklayan ve kopyalara izin vermeyen sıralı koleksiyonlar olarak tanımlanabilir. Sözlükler, kendisine hizalanmış karşılık gelen değer çiftine sahip bir anahtar içerir. Türleri değişebilir ve içerikleri başlatılıp oluşturulduktan sonra bile değiştirilebilir.
Anahtar, herhangi bir anda belirli bir öğeye işaret eder. Sözlüklerin tuşları değişmezdir.
Aşağıda gösterildiği gibi varsayımsal bir senaryoyu ele alalım: –
a = [4, 6] b = [5, 6, 7] my_dict = {a: 'x', b: 'y'} print(my_dict)
Çıktı: – Yukarıdakiler Python kod herhangi bir çıktı sağlamaz ve bunun yerine karma yapılamayan türde bir tür hatası üretir. Bu varsayımsal bir durumdur ve Python derleyici.
Burada, a
[4,6] olarak tanımlanır ve sözlükte x olarak tanımlanır. Burada, b
[5,6,7] olarak tanımlanır ve sözlükte y olarak tanımlanır.
- 'a' anahtarının değeri [4,6]'dır ve ayrıca x olarak başlatılır.
- 'b' anahtarı, sözlükte ayrıca 'y' olarak başlatılan [5,6,7] değerine sahiptir.
- Şimdi 'değerinin' olduğunu varsayalım.bir' sözlüğün anahtarı olan 5 ve 7 eklenir.
- O zaman sözlük mutasyona uğradı ve her ikisini de verecekti X ' ve 'e' yukarıdaki sözlüğün değerleri olarak.
Yukarıda gösterildiği gibi aşağıdaki senaryoyu düşünün: –
a = [5, 6,7] b = [5, 6, 7] my_dict = {a: 'x', b: 'y'} print(my_dict)
Dolayısıyla bir programlama dili olarak Python sözlüğün anahtarlarını değişmez kılar ve sözlükler değişmez veri türleridir.
değişmezlikte istisnalar
Bununla birlikte, Python değişmezlik için istisnalar sağlar, bu tür istisnalar tuple nesne türü için gözlemlenebilir. Bir demet, değiştirilebilir ve değişmez nesne türlerinin bir kombinasyonu olabilir. Değişmezlikteki istisnaları açıklamak için aşağıda gösterildiği gibi bir örnek alalım: –
Python Kod:
tupexample=([1,1],'guru99') print("the tuple before change",tupexample) print("the id of tuple before change",id(tupexample)) tupexample=([2,2],'guru99') print("the tuple after change",tupexample) print("the id of tuple after change",id(tupexample))
Çıktı:
the tuple before change ([1, 1], 'guru99') the id of tuple before change 140649480694656 the tuple after change ([2, 2], 'guru99') the id of tuple after change 140649480694592
Yukarıdaki kodda, bir liste olan ilk öğenin değişken olduğunu, tuple'ın ise değişmez olduğunu görebilirsiniz. Tuple'ın değeri değiştirilemez ancak tuple'ın içinde bulunan listenin içeriği değerini değiştirebilir.
Bu nedenle, bu, değişmez nesnelerin değerlerini değiştirmediği, ancak bileşenlerin değerinin değerlerini değiştirdiği istisnasını ortaya çıkarır.
Değiştirilebilir ve Değiştirilemez nesneler
Değişken ve Değişmez Nesneler arasındaki temel farklar şunlardır:
Değiştirilebilir nesne | Değişmez nesne |
---|---|
Nesne durumu oluşturulduktan sonra değiştirilebilir | Nesne durumu oluşturulduktan sonra değiştirilemez |
Değişken nesneler, doğası gereği iş parçacığı açısından güvenli sayılmaz. | Değişmez nesneler, doğası gereği iş parçacığı açısından güvenli olarak kabul edilir. |
Değiştirilebilir nesneler nihai hale getirilmez ve dolayısıyla programcı değiştirilebilir nesneleri değiştirmeye devam edebilir ve aynı nesneleri kullanabilir. | Değişmez nesne yaratıldığında sınıfların son haline getirilmesi kritik öneme sahiptir. |
Python Değişmez Veri Türleri
Sınıf | açıklama | Değişmez veya değil |
---|---|---|
Bool | Boole değeri | değişmez |
Int | Tamsayı değeri (büyüklük isteğe bağlı olabilir) | değişmez |
Şamandıra | Kayan nokta numarası | değişmez |
Liste | Değişken nitelikteki nesnelerin dizisi | Değişken |
Kayıt düzeni | Değişmez nitelikteki nesnelerin dizisi | değişmez |
Str | Karakter dizesi | değişmez |
set | Sırasız doğaya sahip farklı nesneler kümesi | Değişken |
donmuş set | Değişmez doğanın set sınıfı | değişmez |
Dikte | Sözlük veya ilişkisel haritalama | Değişken |