반응형

python 56

[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
반응형