반응형

분류 전체보기 186

[Python] 'for' 루프에서 인덱스 액세스

for루프 에서 인덱스에 어떻게 액세스 합니까? xs = [8, 23, 45] for x in xs: print("item #{} = {}".format(index, x)) 원하는 출력: item #1 = 8 item #2 = 23 item #3 = 45 내장 함수 사용 enumerate(): for idx, x in enumerate(xs): print(idx, x) 추가 상태 변수 를 통해 수동으로 인덱싱 하거나 수동으로 관리하는 것은 비파이썬 적입니다.for i in range(len(xs)): x = xs[i] 자세한 내용은 PEP 279 를 확인하십시오 . for 루프를 사용하여 이 경우 1에서 5까지 루프 인덱스에 어떻게 액세스합니까? enumerate반복할 때 요소가 있는 인덱스를 가져오는 ..

파이썬 2022.07.31

[Python] 중첩된 디렉토리를 어떻게 안전하게 생성할 수 있습니까?

파일이 기록될 디렉토리가 있는지 어떻게 확인하고, 없으면 Python을 사용하여 디렉토리를 생성합니까? Python ≥ 3.5에서는 다음을 사용합니다 pathlib.Path.mkdir. from pathlib import Path Path("/my/directory").mkdir(parents=True, exist_ok=True) 이전 버전의 Python의 경우에는 각각 작은 결함이 있는 좋은 품질의 두 가지 답변이 있으므로 이에 대해 설명하겠습니다. 시도 하고 생성 os.path.exists을 고려 os.makedirs하십시오. import os if not os.path.exists(directory): os.makedirs(directory) 주석 및 다른 곳에서 언급했듯이 경합 조건이 있습니다. ..

파이썬 2022.07.31

[Python] 어떻게 프로그램을 실행하거나 시스템 명령을 호출합니까?

쉘이나 명령 프롬프트에 입력한 것처럼 Python 내에서 외부 명령을 어떻게 호출합니까? subprocess표준 라이브러리 의 모듈을 사용하십시오 . import subprocess subprocess.run(["ls", "-l"]) subprocess.runover 의 장점 os.system은 더 유연하다는 것입니다( stdout, stderr, , "실제" 상태 코드 , 더 나은 오류 처리 등을 얻을 수 있습니다...). 에 대한 설명서os.system 에서도 다음을 subprocess대신 사용하도록 권장 합니다. 이 subprocess모듈은 새로운 프로세스를 생성하고 결과를 검색하기 위한 보다 강력한 기능을 제공합니다. 이 기능을 사용하는 것보다 해당 모듈을 사용하는 것이 좋습니다. 몇 가지 유용한..

파이썬 2022.07.31

[Python] 단일 표현식에서 두 개의 사전을 병합하려면 어떻게 해야 합니까?

두 개의 사전을 새 사전으로 병합하고 싶습니다. x = {'a': 1, 'b': 2} y = {'b': 3, 'c': 4} z = merge(x, y) >>> z {'a': 1, 'b': 3, 'c': 4} 키가 두 사전에 모두 있을 때마다 k값만 y[k]유지해야 합니다. 단일 표현식에서 두 개의 Python 사전을 병합하려면 어떻게 해야 합니까? 사전 x및 y의 경우 얕게 병합된 사전 z은 에서 값을 가져오고 에서 값을 y대체합니다 x. Python 3.9.0 이상(2020년 10월 17일 출시 , 여기 PEP-584에서 논의 ): z = x | y Python 3.5 이상: z = {**x, **y} Python 2(또는 3.4 이하)에서 함수를 작성하십시오. def merge_two_dicts(x,..

파이썬 2022.07.31

[Python] 파일이 예외 없이 존재하는지 어떻게 확인합니까?

try명령문 을 사용하지 않고 파일의 존재 여부를 어떻게 확인 합니까? 확인하는 이유가 다음과 같은 작업을 수행할 수 있도록 하기 위한 것이라면 여는 시도 주변에서 if file_exists: open_it()사용하는 것이 더 안전 합니다. try확인하고 열면 파일이 삭제되거나 이동되거나 확인할 때와 열려고 할 때 사이에 위험이 있습니다. 파일을 즉시 열 계획이 아니라면 다음을 사용할 수 있습니다.os.path.isfile True경로가 기존 일반 파일이면 반환 합니다. 이것은 심볼릭 링크를 따르므로 islink() 및 isfile() 모두 동일한 경로에 대해 true일 수 있습니다. import os.path os.path.isfile(fname) 파일인지 확인해야 하는 경우. Python 3.4부터 ..

파이썬 2022.07.31

[Python] 파이썬에서 메타클래스란 무엇입니까?

메타클래스란 무엇입니까? 그들은 무엇을 위해 사용됩니까? 객체로서의 클래스 메타클래스를 이해하기 전에 Python의 클래스를 마스터해야 합니다. 그리고 Python은 Smalltalk 언어에서 차용한 클래스가 무엇인지에 대한 매우 독특한 아이디어를 가지고 있습니다. 대부분의 언어에서 클래스는 객체를 생성하는 방법을 설명하는 코드 조각일 뿐입니다. 그것은 Python에서도 사실입니다. >>> class ObjectCreator(object): ... pass ... >>> my_object = ObjectCreator() >>> print(my_object) 그러나 클래스는 Python에서 그 이상입니다. 클래스도 객체입니다. 예, 개체입니다. 키워드 를 사용 하자마자 classPython 은 이를 실행 ..

파이썬 2022.07.31

[Python] Python에 삼항 조건부 연산자가 있습니까?

Python 에 삼항 조건부 연산자 가 있습니까? 예, 버전 2.5 에 추가 되었습니다. 표현식 구문은 다음과 같습니다. a if condition else b 먼저 평가된 다음 의 부울 값 에 따라 or condition중 하나 가 평가되고 반환 됩니다. 로 평가 되면 then 은 평가되어 반환되지만 무시됩니다. 그렇지 않으면 when 이 평가되어 반환되지만 무시됩니다.abconditionconditionTrueabba condition이것은 참일 때만 a평가되고 b전혀 평가되지 않고, condition거짓일 때만 b평가되고 전혀 평가되지 않기 때문에 단락을 허용 a합니다. 예를 들어: >>> 'true' if True else 'false' 'true' >>> 'true' if False else '..

파이썬 2022.07.31

[Python] if __name__ == "__main__": 하면 어떻게 되나요?

이것은 무엇을 하며, 왜 이 if명령문을 포함해야 합니까? if __name__ == "__main__": print("Hello, World!") 짧은 대답 의도하지 않은 스크립트를 실수로 호출하지 않도록 사용자를 보호하는 상용구 코드입니다. 다음은 스크립트에서 가드를 생략할 때 발생하는 몇 가지 일반적인 문제입니다. 다른 스크립트(예: )에서 가드리스 ​​스크립트를 가져오는 경우 후자의 스크립트는 가져오기 시 두 번째 스크립트의 명령줄 인수를 사용하여 전자 import my_script_without_a_name_eq_main_guard를 실행하도록 트리거합니다 . 이것은 거의 항상 실수입니다. 가드리스 스크립트에 사용자 정의 클래스가 있고 이를 피클 파일에 저장한 경우 다른 스크립트에서 이를 언피클..

파이썬 2022.07.31
반응형