본문 바로가기

분류 전체보기980

Python 스코프 규칙에 대한 간단한 설명, Short description of the scoping rules 질문 파이썬의 스코핑 규칙은 정확히 무엇인가요? 다음과 같은 코드가 있다면: code1 class Foo: code2 def spam..... code3 for code4..: code5 x() x는 어디에서 찾을 수 있을까요? 가능한 선택지는 아래 목록에 포함됩니다: 감싸고 있는 소스 파일에서 클래스 네임스페이스에서 함수 정의에서 for 루프의 인덱스 변수에서 for 루프 안에서 또한 함수 spam이 다른 곳으로 전달될 때 실행 중인 문맥도 있습니다. 그리고 아마도 람다 함수는 조금 다르게 전달될 수도 있습니다. 중급 파이썬 프로그래머에게 혼동스러운 세상에는 반드시 간단한 참고 자료나 알고리즘이 있을 것입니다. 답변 실제로, 파이썬 범위 결정에 대한 간결한 규칙은 Learning Python, 3rd... 2023. 10. 13.
Python 제너레이터 표현식 대 리스트 내장, Generator expressions vs. list comprehensions 질문 파이썬에서 제너레이터 표현식과 리스트 컴프리헨션을 언제 사용해야 할까요? # 제너레이터 표현식 (x*2 for x in range(256)) # 리스트 컴프리헨션 [x*2 for x in range(256)] 답변 John의 답변은 좋습니다 (리스트 컴프리헨션은 여러 번 반복해야 할 때 더 좋습니다). 그러나 리스트 메소드를 사용하려면 리스트를 사용해야 한다는 점도 유의해야 합니다. 예를 들어, 다음 코드는 작동하지 않습니다: def gen(): return (something for something in get_some_stuff()) print gen()[:2] # 제너레이터는 인덱싱이나 슬라이싱을 지원하지 않습니다 print [5,6] + gen() # 제너레이터는 리스트에 추가할 수 없습니.. 2023. 10. 13.
Python 문자열에서 부분 문자열의 마지막 발생 위치를 찾습니다., Find index of last occurrence of a substring in a string 질문 주어진 입력 문자열 str에서 특정한 부분 문자열의 마지막 발생 위치 (또는 인덱스)를 찾고 싶습니다. 예를 들어, 입력 문자열이 str = 'hello'이고 부분 문자열이 target = 'l'인 경우, 결과는 3이어야 합니다. 어떻게 이를 할 수 있을까요? 답변 Use .rfind(): >>> s = 'hello' >>> s.rfind('l') 3 Also don't use str as variable name or you'll shadow the built-in str(). 2023. 10. 12.
Python 문자열이 패턴과 일치하는지 확인하세요., Check if string matches pattern 질문 문자열이 다음 패턴과 일치하는지 확인하는 방법은 무엇인가요? 대문자, 숫자, 대문자, 숫자... 예시: 다음은 일치합니다: A1B2 B10L1 C1N200J1 다음은 일치하지 않습니다 ('^'는 문제를 가리킵니다): a1B2 ^ A10B ^ AB400 ^ 답변 import re pattern = re.compile("^([A-Z][0-9]+)+$") pattern.match(string) 2023. 10. 12.