SORU
2 Kasım 2010, Salı


Getattr() tam olarak ne ve nasıl kullanırım?

reading about the getattr() function ettim. Sorun hala onun kullanım fikrini kavrayabilir. getattr() getattr(li, "pop") aynı olmasıdır hakkında anladığım tek şey li.pop arama.

Kitap o kadar çalıştırma adını bilmeden bir işlev için bir başvuru almak için nasıl kullandığınız bahsederken anlamadım. Belki de bu, genel olarak programlama bir çaylak olarak benim. Herkes bu konuda biraz ışık tutabilir? Ne zaman bunu tam olarak nasıl kullanabilirim?

CEVAP
2 Kasım 2010, Salı


Python nesne öznitelikleri olabilir. Bir nesnenin çeşitli özellikleri olan person, örneğin: name, gender, vb. Erişim bu özelliklere yöntemleri veya veri nesneleri () genellikle yazılı: person.name, person.gender, person.the_method(), vb.

Ama eğer zamanda öznitelik adı program yazma bilmiyorsun eğer mi? Örneğin öznitelik adı bir değişken attr_name adında saklı.

eğer

attr_name = 'gender'

sonra, yazmak yerine

gender = person.gender

yazabilirsiniz

gender = getattr(person, attr_name)

Bazı uygulama:

Python 3.4.0 (default, Apr 11 2014, 13:05:11)

>>> class Person():
...     name = 'Victor'
...     def say(self, what):
...         print(self.name, what)
... 
>>> getattr(Person, 'name')
'Victor'
>>> attr_name = 'name'
>>> person = Person()
>>> getattr(person, attr_name)
'Victor'
>>> getattr(person, 'say')('Hello')
Victor Hello
>>> 

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bunnyboxx

    bunnyboxx

    17 NİSAN 2008
  • FUNKER530 - Veteran Community & Combat Footage

    FUNKER530 -

    25 Ocak 2007
  • HereWeStayKings

    HereWeStayKi

    3 NİSAN 2013