재미있는 (잠재적으로 어리석은) 생각이 들었다. 내장 함수 이름을 변수로 사용하여 정수를 말하면 어떻게 될까? 여기에 내가 시도 내용은 다음과 같습니다 파이썬에서 함수 이름을 변수로 사용하기
>>> a = [1,2,3,4]
>>> len(a)
4
>>> len = 1
>>> len(a)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: 'int' object is not callable
다르게 기능과 변수 이름을 취급하지 않는 파이썬처럼 보인다
. 파이썬 인터프리터를 다시 시작하지 않고도len
을 다시 함수에 할당 할 수 있습니까? 또는 할당을 취소하십시오
len = 1
?
파이썬은 함수와 메쏘 드를 퍼스트 클래스 객체로 취급합니다. 따라서 함수에 할당하고 주위의 다른 함수로 전달할 수 있습니다. –
파이썬은 함수와 변수 이름을 다르게 취급하지 않습니다. 이것은 Ruby의': func', Lisp의''func' 등과 같은 것을 할 필요없이 함수를 퍼스트 클래스 객체로 사용할 수있게하는 열쇠입니다. – abarnert
실제로 덮어 쓰지 않아도됩니다. 새로운'len' 변수를 지우면 내장 된 이름이 제거됩니다. '__builtin__'에서 가져올 필요가 없습니다. – Keith