본문 바로가기

Python283

Python 일부 함수들은 왜 함수 이름 앞뒤에 언더스코어 "__"가 있는 걸까요?, Why do some functions have underscores "__" before and after the function name? 질문 이 "밑줄"은 자주 발생하는 것 같은데, 이것은 파이썬 언어의 요구사항인지 아니면 단지 관습의 문제인지 궁금했습니다. 또한, 어떤 함수들이 밑줄을 가지고 있는지 그리고 왜 (__init__ 같은) 밑줄을 가지고 있는지 이름과 설명을 알려주실 수 있을까요? 답변 파이썬 PEP 8 -- 파이썬 코드 스타일 가이드에서 다음을 발췌: 기술적: 네이밍 스타일 다음과 같은 선행 또는 후행 밑줄을 사용한 특수 형식이 인식됩니다 (이러한 형식은 일반적으로 모든 케이스 규칙과 결합될 수 있음): _single_leading_underscore: 약한 "내부 사용" 표시자입니다. 예를 들어 from M import *은 밑줄로 시작하는 객체를 가져오지 않습니다. single_trailing_underscore_: 파.. 2023. 9. 16.
Python 파이썬을 사용하여 문자열의 각 문자를 반복하는 방법입니다., Iterating each character in a string using Python 질문 Python에서 문자열을 반복하는 방법은 무엇인가요 (각 문자를 한 번에 한 번씩 루프를 통해 가져오는 방법)? 답변 요한네스가 가리킨 것처럼, for c in "string": #do something with c for loop 구조를 사용하여 Python에서 거의 모든 것을 반복할 수 있습니다. 예를 들어, open("file.txt")은 파일 객체를 반환하며 (파일을 열기도 함), 해당 파일의 각 줄을 반복합니다. with open(filename) as f: for line in f: # do something with line 만약 그것이 마법처럼 보인다면, 그렇게 맞는데, 그 뒤에 있는 아이디어는 정말로 간단합니다. for 루프가 작동하도록 어떤 종류의 객체에도 적용할 수 있는 간단한 .. 2023. 9. 16.
Python 모듈 내의 모든 함수를 나열하는 방법은 무엇인가요?, How to list all functions in a module? 질문 내 시스템에는 Python 모듈이 설치되어 있으며 해당 모듈에서 사용 가능한 함수/클래스/메서드를 확인하고 싶습니다. 각각에 대해 help 함수를 호출하고 싶습니다. 루비에서는 ClassName.methods와 같은 방식으로 해당 클래스에서 사용 가능한 모든 메서드 목록을 가져올 수 있습니다. 파이썬에서도 유사한 기능이 있을까요? 예를 들어 다음과 같이: from somemodule import foo print(foo.methods) # 또는 올바른 호출 방법이 무엇인지 답변 모든 사용 가능한 메소드/속성을 확인하려면 dir(module)을(를) 사용할 수 있습니다. 또한 PyDocs도 확인해보세요. 2023. 9. 16.
Python '/'와 '//'를 나눗셈에 사용할 때 차이점은 무엇인가요?, What is the difference between '/' and '//' when used for division? 질문 하나를 사용하는 것보다 다른 것을 사용하는 것에 이점이 있을까요? Python 2에서는 두 가지 모두 동일한 결과를 반환하는 것으로 보입니다: >>> 6/3 2 >>> 6//3 2 답변 파이썬 3.x에서 5 / 2는 2.5를 반환하고 5 // 2는 2를 반환합니다. 전자는 부동 소수점 나눗셈이고, 후자는 버림 나눗셈 또는 정수 나눗셈이라고도 합니다. 파이썬 2.2 이후의 2.x 라인에서는 정수에 대한 차이가 없습니다. 단, from __future__ import division을 수행하면 파이썬 2.x가 3.x 동작을 채택합니다. 미래 가져오기와 관계없이 5.0 // 2는 연산의 버림 나눗셈 결과인 2.0을 반환합니다. 자세한 설명은 PEP 238: Changing the Division Oper.. 2023. 9. 16.