일부 개념적 의구심이 있습니다. 이 코드에서 :Python 범위에 대한 의문이 생깁니다
here in A
flying 1
flying 2
here in main
another flying
flying/here in B
질문 :
class A:
print "here in A"
print "flying 1"
def main():
print "here in main"
print "flying 2"
if __name__ == "__main__":
main()
print "another flying"
class B:
print "flying/here in B"
def __init__(self):
print "built in B"
출력은 다음과 같습니다 A
의 인스턴스가 더있을 때 "here in A"
가 인쇄되지됩니다 왜
1 .-? (경고/오류 정보 없음)
2. "flying"
의 범위는 무엇입니까? 모두 인쇄됩니다. Python의 구문 분석 규칙을 이해할 수 없습니다.
3 - 1과 동일 - 왜 B의 인스턴스가 없을 때 "여기 B"가 인쇄됩니까?
4. 기본 클래스 생성자와 같은 것이 있습니까? 혼란하지만 '유사한 코드'죄송합니다
예를 들어, C++를 컴파일하지 않을 것