파이썬 def문 질문드립니다

조회수 1128회
def z(a,b):
        return a+b

z.py 안에 함수를 선언하고

result = z(3,4)

print(result)

이 코드를 x.py 로 저장후 실행하였는데

NameError : name 'z' is not defined 라는데 왜그러는거죠? 한 공간에 있는데, 정의가 안되는데 왜그런지 모르겠습니다.

1 답변

  • 파이썬의 모듈 시스템에 대해 공부를 더 하시기 바랍니다.

    z.py 안에 z함수가 있습니다.

    이것을 사용하려면

    x.py 에서 아래와 같이 사용합니다.

    from z import z   # z.py 에서 z 함수를 import 함
    import z    # z.py 를 import 함
    
    result = z(3, 4)   
    result = z.z(3, 4) # z.py 를 import 한 경우 z.z(3, 4) 와 같이 접근함
    print(result)
    
    • 감사합니다 파이썬 쌩초보라 잘 몰랏네요 ㅠ 저기근데 첫번재줄로 z함수 import했는데 두번째 줄에서 다시하나요???? 알 수 없는 사용자 2018.8.29 22:27
    • 그리고 4번째 줄에 z.z은 왜인지 궁금합니다 ㅠ 알 수 없는 사용자 2018.8.30 00:27
    • 이해가 어려운 것이 파일명과 내부의 함수명을 같게 해놓으니 이해가 어려운 겁니다. from pyfile import myFunc 라는 의미는 pyfile에서 myfunc항목(필드, 메소드, 클래스 등 많은 항목들중)만 import 하라는 겁니다. import pyfile 이라는 의미는 pyfile 전체를 import 하라는 의미로 pyfile에는 많은 항목이 있을 것이므로 pyfile.anyFunc 와 같이 접근해야 합니다. 정영훈 2018.8.30 10:50

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)