Python은 메서드 이름에 print
(또는 다른 예약어)을 사용하지 못하나요? Python에서 클래스 메서드 이름으로 print 사용
import sys
class A:
def print(self):
sys.stdout.write("I'm A\n")
a = A()
a.print()
$ python a.py
File "a.py", line 3
def print(self):
^
SyntaxError: invalid syntax
다른 이름으로 변경 print
$ cat a.py
aprint
)는 오류가 발생하지 않을 것이다. 그러한 제한이 있다면 그것은 나에게 놀라운 일이다. C++이나 다른 언어에서 이것은 문제가되지 않을 것입니다 :
C++에서'printf'는 예약어가 아닙니다. 'int'라는 이름의 메소드를 사용하면 C++이 그것을 허용하지 않지만 Python은 파이썬에서 예약어가 아니기 때문에 그것을 허용합니다. – user2357112