2013-06-11 21 views
8

Zacząłem czytać "Początek pytona od nowicjusza do profesjonalisty" autorstwa Magnusa Lie Hetlanda. Uderzyło mnie to, że obiekty potrafią tworzyć nowe zmienne składowe, mimo że te zmienne składowe nie występowały w klasie, z której obiekt został "stworzony". Oto przykład:Dodawanie nowych zmiennych członkowskich do obiektów Pythona?

class Test: 
    pass 

b = Test() 

b.variable1 = 12 
b.variable2 = "Jim" 

print b.variable1 
print b.variable2 

Do tej pory jednak, że obiekty mógł tylko zmienić wartości członków obecnych w klasie nadrzędnej, ale nie tworzyć nowe z powietrza? Przy okazji nie miałem wcześniejszej wiedzy na temat programowania lub Pythona.

+2

Tak, python pozwala dodawać nowe pola do obiektów w locie. – Andrew

+2

Jakie jest dokładnie twoje pytanie? – mgilson

+1

Przepraszamy za bycie niejasnym. Górnego kodu (lub zasady) nie było w książce, odkryłem to przez przypadek. Więc pomyślałem, że mogę coś zepsuć. Andrew potwierdził, że tak nie jest. Sądzę więc, że właśnie to chciałem wiedzieć. Dziękuję. – stgeorge

Odpowiedz

5

Podobny przykład podano w Python Docs. Zgodnie z nim, ta notacja służy do wiązania razem kilku nazwanych przedmiotów. Po prostu to pozwala Python.

+0

Dziękuję za odpowiedź Sukrit. Python Docs jest dla mnie po prostu zbyt zaawansowany. – stgeorge

Powiązane problemy