piton

Değişken vs. Python'da Değişmez Nesneler

Değişken vs. Python'da Değişmez Nesneler

Pek çok kişi zarafeti ve sadeliği nedeniyle programlama için ilk dili olarak seçtiği için Python'un en şaşırtıcı dil olduğu söylenir. Geniş topluluğuna şükran, paketlerin fazlalığı ve tutarlı sözdizimi, deneyimli profesyoneller de Python kullanıyor. Hem yeni başlayanları hem de bazı profesyonel geliştiricileri rahatsız eden bir şey olmasına rağmen - Python'dan nesneler.

Değişken vs. değişmez

değişken varlıklar değiştirmek onların durum veya madde eşitsizliği açıklamak ve değişmez varlıklar durumlarını veya özlerini değiştiremezler. Böylece bir nesne oluşturulduğunda, özel bir Nesne Kimliği tahsis edildi. Çalışma zamanında, nesnenin türü belirtilir ve daha sonra güncellenemez. int, float, bool, str, tuple ve Unicode değişkenleri gibi yerleşik formlar değişmezdir. Liste, küme, bayt dizileri ve yerleşik kategorilerin sözlüğü gibi nesneler değiştirilebilir.

Kimliği ve Tür İşlevini Anlayın

entegre İD() yöntem, bir nesnenin kimliğini yalnızca bir tamsayı olarak içerir. Bu tam sayı normalde nesnenin depolama konumunu ifade eder. 'dır-dir' operatörü, iki nesnenin kimliklerini birbiriyle ilişkilendirir. entegre fonksiyon, tür(), bir nesnenin türünü döndürür. İki değişkeni karşılaştırın 'x' ve 'y', aynı değere sahip, eşitlik operatörünü kullanarak'x == y', çıktı alacak Doğru. Kullanmak id() işlevi, karşılaştırdık hafıza adresleri her iki değişkenin de çıktısı olacak Yanlış çünkü her iki değişken de farklıdır ve içerdikleri değerler aynı olmasına rağmen farklı bellek konumlarında bulunurlar.

Başka bir değişken yap 'z' hangi özdeş varlığa işaret eder 'x' atama operatörünü kullanarak yönlendiriyor '='. Kullanmak 'dır-dir' operatörü, ikisinin de aynı nesneye işaret ettiğini ve aynı bellek adreslerine sahip olduğunu bulduk.

Değişmez Değişken Tipleri

Bazı değişmez değişken türlerine bir göz atalım.

Tamsayı Veri Türü

Bir değişken tanımlayalım 'x'bir değere sahip olmak'10'. Yerleşik bir id() yöntemi ' konumunu bulmak için kullanılırx' hafızasında ve tür() türünü belirlemek için kullanılır. ' değerini değiştirmeye çalıştığımızdax', başarıyla değiştirilir, ancak bellek adresi farklı şekilde döndürülür. Bunun nedeni, aslında ' değerini değiştirmemiş olmamızdırx', ancak aynı isimde başka bir nesne yarattık'x' ve ona farklı bir değer atayın. Adını bağladık'x' yeni değere. Şimdi, ne zaman ararsan 'x' yeni değeri çıkaracak.

Dize Veri Türü

Dize veri türü için aynı, mevcut olanı değiştiremeyiz değişken ama yapmalıyız oluşturmak aynı isimle yeni bir tane. işte bizde tanımlanmış bir dize değişkeni 'x' ve eklemek istiyorum'w' sıfır indekslerine. çıktı verecek TipHata, dize nesnesinin güncellemeyi desteklemediğini gösteren.

Grup Veri Türü

Tuple tipine bir göz atın değişken, bir tanımladık demet 4 değerle. biz kullandık id() işlevi adresini çıkarmak için. değerini değiştirmek istediğimizde 0 dizin, verir TipHata bu demet, öğe atamasını veya güncellemesini desteklemiyor.

Aksine, yapabilirsiniz Güncelleme tüm demeti tanımlayarak kaşımak. Şimdi, her kontrol ettiğinizde, yeni bir değer ve yeni bir adres bulacaksınız.

Kayan Veri Türü

Float tipi bir değişkenimiz var 'x'. Kullanmak id() işlevi, adresini bulmalıyız. değerini değiştirmek istediğimizde dizin 1, verir TipHata bu şamandıra öğe değişikliğini desteklemiyor.

Tersine, biz güncelledik yüzer yeniden tanımlayarak. Artık ne zaman çağırsak yeni bir değer ve yeni bir adres bulacağız.

Değişken Değişken Türleri

Şimdi bazı değişken değişken türlerine bakacağız.

Liste Veri Türü

bir tanımladık liste adlıx' ve ona bazı değerler ekleyin. Süre Çalıştırmak, liste değerlerini gösterecek. Sen ne zaman Güncelleme listeye yeni değerler atayarak dizin 0 ve 2, bunu başarıyla yapacak.

Yukarıda açıklanan örnek, basit ve temel bir modifikasyon örneğidir. Değişebilirliği farklı bir düzeyde kontrol etmek için, aynı örneğe küçük bir değişiklikle bakalım. Yeni bir isim oluşturduk'y' ve onu aynı liste nesnesine bağladı. ' olup olmadığını kontrol ettiğimizdex' aynıdır 'y', True döndürür. Öte yandan, hem'x' ve 'y' var aynı hafıza adresler.

Şimdi a'ya yeni bir değer ekleyin liste adı 'x' ve güncellenmiş çıktıyı kontrol edin.

Şimdi, listeyi kontrol ettiğinizde isim 'y', 'x' için görüntülediği listenin aynısını görüntüler. Bunun anlamı, 'x' ve 'y' olmak üzere iki farklı adı olan aynı nesne listesini güncellediğimiz zaman. Her ikisi de aynıdır ve değişiklikten sonra bile aynı bellek adreslerini paylaşır.

Sözlük Veri Türü

Sözlükler Python'da yaygın olarak kullanılan değişkenler olduğundan, sözlüklerin değişebilirliğine bir göz atalım. ' isimli bir sözlük tanımladıkdikte' üç anahtar ve değerleri ile. Çıktısını aldığımızda, tüm içeriğini gösterecektir. Her sözlük değerini ayrı ayrı yazdırabileceğiniz gibi, anahtarlar dizinler yerine.

Biz istiyoruz değişiklik güncelleyerek belirli bir değer anahtar 'Ad'. Güncellenmiş sözlüğü çıkaracak. Sözlük anahtarları değişmez.

bir tanımlayalım liste ve demet ayrı ayrı. Emin olun demet sahip olmalı liste türü değeri içinde ve bir liste var demet türü değeri dolayısıyla içinde.

bir demet sahip liste onun üzerinde 0 dizin yani değiştirdiğinizde 0 dizin bir demetin, bahsetmek zorundasın dizin değiştirmek istediğiniz bir listenin. Liste değişmez olduğu için değişiklik gerçekleşir.

Aksine, liste değişkeni güncellenemez çünkü bir demet üzerinde 0 dizin, hangisi değişebilir.

Sonuç

Python'da değiştirilebilir ve değişmez arasında farklılıklar gördük. Python'daki her şeyin bir nesne olarak adlandırıldığı konusunda fikrinizi netleştirmelisiniz. Öncelikle, değişken ve değişken nesneler arasındaki ayrım. değişmez.

Mouse left-click button not working on Windows 10
If you are using a dedicated mouse with your laptop, or desktop computer but the mouse left-click button is not working on Windows 10/8/7 for some rea...
Cursor jumps or moves randomly while typing in Windows 10
If you find that your mouse cursor jumps or moves on its own, automatically, randomly while typing in Windows laptop or computer, then some of these s...
How to reverse Mouse and Touchpads scrolling direction in Windows 10
Mouse and Touchpads not only make computing easy but more efficient and less time-consuming. We cannot imagine a life without these devices, but still...