인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

김해준님의 프로필 이미지
김해준

작성한 질문수

남박사의 파이썬 기초부터 실전 100% 활용

채팅 클라이언트에 GUI 입히기 (tkinter)

함수 호출과 함수 자체 실행(?) 관련해서 질문 드립니다.

작성

·

215

1

해당 강좌를 진행하던 중 처음 w_connect window 창에서 접속하기 버튼을 누르면

NameError: name 'sock' is not defined 이라는 에러가 발생하더라구요.

이유를 찾다보니 

send_button의 인자 중 command=send_message() 로 작성되어있어 에러 발생하였던 것이고 command=send_message 로 수정하니 에러 발생 없이 동작을 합니다.

command=send_message() 

command=send_message

어떤 차이점이 있으며 해당 예제에서 각각 어떻게 동작을 하는건지 궁금합니다..

에러를 수정하긴 했으나 왜 위에는 안되고, 밑에는 되는지  이해가 잘 가지 않아 질문드립니다.. ㅠㅠ

항상 친절한 답변 감사드립니다.

답변 1

0

남박사님의 프로필 이미지
남박사
지식공유자

코드를 보지 않아 자세한 답변을 드리기는 어렵겠습니다만 질문하신 내용에 대한 답변을 드리자면..

command = send_message

는 함수를 command 변수에 에 할당하는 내용입니다. command() 를 실행해서 send_message() 를 실행한것과 같습니다.  괄호가 있는건 함수를 실행하는 내용이고 함수명에 괄호가 생략되면 함수를 변수에 할당한다는 내용입니다.

김해준님의 프로필 이미지
김해준

작성한 질문수

질문하기