Python: Funkcije kao varijable

Vezano za casove 3 & 4 mali dodatak. U Pythonu se funkcije tretiraju kao varijable. Za razliku od ostalih programskih jezika, one nisu rezervisane. U koliko dodelite vrednost komandi na ovaj nacin ona ce izgubiti funkcionalnost. Da bi ste je vratili mozete ili da resetujete Python, ili da je ucitate iz builtins liba.

Radi ilustracije probajte sledece u IDLE:

>>> print(10)
10
>>> print = 10
>>> print
10
>>> print(print)
TypeError: int object is not callable
>>> print(10)
TypeError: int object is not callable
>>> import builtins
>>> print = builtins.print
>>> print(10)
10

Da bi smo bili sigurni, prijavili smo ovo cudno ponasanje kao bug u trackeru i dobili sledeci odgovor:

http://bugs.python.org/issue20263

U pitanju je osobenost Pythona, a ne bug. Takodje, korisno je znati kako obnoviti funkcionalnost u koliko se nadjete u takvoj situaciji.

Posted on 2014/01/15, in Programski jezici, Python. Bookmark the permalink. 1 Comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: