SORU
1 ŞUBAT 2010, PAZARTESİ


Neden Python (veya herhangi bir sabit veri türü) dizilerini ihtiyacımız var mı?

Python.org - dil dizilerini gerek yok birkaç python öğreticiler (Dalış için Python İçine) ve dil başvurusu okudum.

Dizilerini yok yöntemlerine göre bir liste veya ayarlamak, ve eğer gerekliyse evet bir demet dönüştürmek için bir dizi ya da liste yapabilmek için sıralama onları, ne anlamı kullanarak bir başlığın ilk başta?

Değişmezliğini tanıdı?

Neden kimse bir değişkeni başlangıçta ayrılan zaman daha bellekte farklı bir yerde yaşıyor umursuyor? Python değişmezliğini tanıdı bütün bu iş üzerinde vurgu gibi görünüyor.

Eğer bazı geçerli bellek işaretçi ve bir noktaya tahsis eğer C/C, adresi kullanmaya başlamadan önce boş değil sürece bulunduğu umurumda değil.

Ben bu değişken referans zaman, eğer hala orijinal işaretçi adresi gösteren olup olmadığını bilmeme gerek yok. Ben sadece null için kontrol edin ve (veya) kullanın.

Bir dize (tavşan) x atamak, dize değiştirin ben ayırırken Python, neden özgün nesne umurumda mı? Değişken veri noktaları sürece, önemli olan da bu.

>>> x='hello'
>>> id(x)
1234567
>>> x='good bye'
>>> id(x)
5432167

x hala istediğim verileri başvuruları, neden kimse onun kimliği aynı veya farklı ise bakım gerekiyor mu?

CEVAP
1 ŞUBAT 2010, PAZARTESİ


  1. sabit nesneler izin önemli optimizasyon; bu muhtemelen neden dizeleri de değişmez Java ile geliştirilmiş oldukça ayrı ayrı ama aynı zamanda Python, ve her şey değişmez gerçekten işlevsel bir dil.

  2. özellikle Python, sadece immutables hashable (ve, bu nedenle, ayarlar ya da sözlüklerde anahtarları üyeleri) olabilir. Yine, bu göze optimizasyonu, ama çok daha "önemli" (tasarımı iyi karma tabloları saklamak tamamen kesilebilir nesneleri bir kabus -- ya sen al kopya her şeyi en kısa zamanda karma, ya da kabus olup olmadığını kontrol nesnesinin hash değişti beri geçen aldı bir başvuru, şeyler, çirkin kafa).

Bir yorumcu diyor ki optimizasyon sorunu örnek, "hiç görmediği":

$ python -mtimeit '["fee", "fie", "fo", "fum"]'
1000000 loops, best of 3: 0.432 usec per loop
$ python -mtimeit '("fee", "fie", "fo", "fum")'
10000000 loops, best of 3: 0.0563 usec per loop

Bir operasyon ile hızyedi-sekiz kez"" senin için mi?! yeterince büyük değil Vay canına, kesinlikle sensinçokbir optimizasyon konusudur gelince kişi zorlu""...! -) önemli

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Android Developers

    Android Deve

    9 Kasım 2007
  • Helen Bradley

    Helen Bradle

    4 Mart 2008
  • MaximumPCMag

    MaximumPCMag

    23 Temmuz 2010