Python 코드 작성에 대해 자주 묻는 질문


Python 코드를 진지하게 작성하기 시작하면 여러 가지 함정이 훨씬 더 위험해집니다. 이는 언어 기능에 영향을 미치고 종종 부주의한 프로그래머를 괴롭히는 기본 코드 오류입니다.


첫 번째 열부터 시작

Make 물론 가장 왼쪽의 첫 번째 열부터 시작하여 최상위 수준의 중첩되지 않은 코드를 배치하세요. 여기에는 모듈 파일에 중첩되지 않은 코드와 대화형 프롬프트에 중첩되지 않은 코드가 포함됩니다. Python은 들여쓰기를 사용하여 중첩된 코드 블록을 구별하므로 코드 왼쪽의 공백은 중첩된 코드 블록을 나타냅니다. 들여쓰기를 제외하고 공백은 일반적으로 무시됩니다.


C 코드를 Python으로 작성하지 마세요

Python에 익숙하지 않은 C 프로그래머를 위한 메모 게시물입니다. Shi:

  • if와 while의 조건을 테스트할 때 괄호를 입력할 필요가 없습니다(예: if (X==1):). 원하는 경우 괄호를 추가해도 문제가 되지 않습니다. 여기서는 완전히 중복됩니다.
  • 문장을 세미콜론으로 끝내지 마세요. 기술적으로 이것은 Python에서 합법적이지만 같은 줄에 많은 명령문을 배치하려는 경우가 아니면 쓸모가 없습니다(예: x=1; y=2; z=3).
  • while 루프의 조건부 테스트 내에 할당문(예: while ((x=next() != NULL))을 삽입하지 마세요. Python에서는 표현식이 필요한 곳에 명령문이 나타날 수 없으며 대입문은 표현식이 아닙니다.

콜론을 잊지 마세요

이것은 초보 프로그래머가 가장 흔히 저지르는 실수입니다. 복합어 시작 부분에 콜론을 사용하는 것을 잊지 마세요 문(if, while, for 문의 첫 번째 줄 등) 끝에 콜론 ":"을 추가합니다. 처음에는 이것을 잊어버릴 수도 있지만 곧 잠재의식적인 습관이 될 것입니다. 수업에 참여한 학생 중 75%가 같은 날 이 내용을 기억할 수 있습니다.

변수 초기화

Python에서는 값이 할당될 때까지 표현식의 이름을 사용할 수 없습니다. 이는 의도적인 것입니다. 일부 입력 오류를 방지하고 기본값이 어떤 유형(0, 없음, "", [], ?)이어야 하는지에 대한 질문도 방지합니다. 카운터를 0으로 초기화하고 목록을 [] 등으로 초기화하는 것을 기억하세요.

일관적인 들여쓰기

코드 실행 방법을 모르는 경우에는 동일한 코드 블록에서 들여쓰기를 위해 탭과 공백을 혼합하지 마세요. 시스템은 어떻게 작동합니까? 탭을 처리하나요? 그렇지 않으면 편집기에서 탭처럼 보이는 들여쓰기가 Python에서는 공백처럼 보일 수 있습니다. 안전을 위해 각 코드 블록을 모두 탭으로 들여쓰거나 공백으로 들여쓰기하세요. 더 많이 또는 더 적게 사용할지는 사용자에게 달려 있습니다.

함수 호출 시 괄호 사용

함수에 매개변수가 필요한지 여부에 관계없이 호출하려면 괄호 한 쌍을 추가해야 합니다. 즉, function이 아닌 function()을 사용하세요. Python 함수는 단순히 특수 함수(호출)가 있는 객체이며 호출은 괄호를 사용하여 트리거됩니다. 모든 객체와 마찬가지로 변수에 할당하여 간접적으로 사용할 수 있습니다(x=function:x()).
Python 학습에서는 파일 작업 중에 이러한 오류가 자주 발생합니다. 초보자가 file.close() 대신 file.close를 사용하여 문제를 닫는 것을 보는 것이 일반적입니다. Python에서는 함수를 호출하지 않고 참조하는 것이 합법적이므로 괄호 없는 작업(file.close)은 자동으로 성공하지만 파일을 닫지는 않습니다!

가져올 때 표현식이나 경로를 사용하지 마세요.

시스템 명령줄에서는 폴더 경로나 파일 확장자를 사용하지만 가져오기에서는 사용하지 마세요. 진술. 즉, import mod.py 대신 import mod를 사용하거나 dir/mod.py를 가져오십시오. 실제로 이것은 아마도 초보자가 저지르는 두 번째로 큰 실수일 것입니다. 모듈에는 .py 이외의 접미사(예: .pyc)가 있기 때문에 특정 접미사를 강제하는 것은 비문법적일 뿐만 아니라 의미가 없습니다.
시스템 관련 디렉터리 경로의 형식은 import 문이 아닌 모듈 검색 경로 설정에 따라 결정됩니다. 파일 이름에 점을 사용하여 패키지의 하위 디렉터리(예: import dir1.dir2.mod)를 가리킬 수 있지만 가장 왼쪽 디렉터리는 모듈 검색 경로를 통해 찾아야 하며 가져오기에는 다른 경로 형식이 없습니다. 잘못된 명령문 import mod.py는 Python에서 패키지에 기록된 것으로 간주합니다. 먼저 mod 모듈을 로드한 다음 mod라는 디렉터리에서 py라는 모듈을 찾으려고 시도하지만 결국 아무것도 찾지 못할 수 있습니다. 일련의 혼란스러운 오류 메시지가 보고됩니다.