데이터 클래스는 버전 3.7부터 Python의 표준 라이브러리에 추가된 새로운 모듈입니다. 생성자 매직 메서드 __init__(), 문자열 표현 메서드 __repr__(), 사용자 정의 클래스에 대한 ==연산자(및 몇 가지 더)를 오버로드하는 __eq__() 메서드를 자동으로 생성하는 @dataclass 데코레이터를 정의합니다. 데이터 클래스 데코레이터에는 다음 서명이 있습니다. dataclass(init=True, repr=True, eq=True, order=False, unsafe_hash=False, frozen=False
Python 기반 응용 프로그램을 개발하는 동안 특정 버전의 Python 패키지가 필요할 수 있습니다. 그러나 이 버전의 동일한 패키지가 시스템 전체에 사용되도록 설치되면 다른 응용 프로그램의 요구 사항과 충돌할 수 있습니다. 따라서 호환성 문제를 해결하기 위해 각 목적에 대해 나란히 환경을 갖는 것이 바람직합니다. 가상 환경을 사용하면 Python 패키지를 전역적으로 설치하는 대신 특정 응용 프로그램에 대해 격리된 위치에 설치할 수 있습니다. 파이썬의 표준 라이브러리에 있는 venv 모듈은 가상 환경을 만드는 데 사용됩니다.
Python의 표준 배포판에 내장된 모듈 및 패키지 외에도 Python Package Index(https://pypi.org/)라는 Python 패키지 저장소에 타사 개발자의 많은 패키지가 업로드됩니다. 여기에서 패키지를 설치하려면 pip 유틸리티가 필요합니다. pip 도구는 독립적인 프로젝트이지만 Python 3.4부터 Python 배포판에서 부트스트랩되었습니다. surepip 모듈은 기존 Python 설치에서 pip 부트스트랩을 지원합니다. 일반적으로 사용자는 명시적으로 사용할 필요가 없습니다. 단, 일반 설치나 가상 환경에
Python 표준 라이브러리의 소켓 모듈은 서버와 클라이언트 시스템이 운영 체제 상단의 소켓 끝점을 사용하여 통신하는 방법을 정의합니다. 소켓 API에는 연결 지향 및 비연결 네트워크 프로토콜에 대한 기능이 모두 포함되어 있습니다. 소켓은 양방향 통신 링크의 끝점입니다. IP 주소와 포트 번호가 특징입니다. 연결을 시작하려면 양쪽 끝에 소켓을 적절하게 구성해야 합니다. 이렇게 하면 들어오는 메시지를 듣고 클라이언트-서버 환경에서 응답을 보낼 수 있습니다. socket 모듈의 socket() 함수는 소켓 개체를 설정합니다. imp
Python 라이브러리의 _thread 모듈은 전역 데이터 공간을 공유하는 여러 스레드가 있는 경량 프로세스 작업을 위한 저수준 인터페이스를 제공합니다. 동기화를 위해 이 모듈에는 간단한 잠금(뮤텍스 또는 바이너리 세마포라고도 함)이 정의되어 있습니다. 스레딩 내장 모듈은 이 모듈 위에 구축된 상위 수준 스레딩 API를 제공합니다. start_new_thread() 이 모듈 수준 함수는 현재 프로세스에서 새 스레드를 여는 데 사용됩니다. 함수는 함수 객체를 인수로 취합니다. 이 함수는 새 스레드가 성공적으로 생성되면 호출됩니다.
Python 라이브러리의 trace 모듈에 있는 함수는 프로그램 실행 추적 및 주석이 달린 명령문 적용 범위를 생성합니다. 또한 호출자 관계를 생성하여 실행 중에 호출되는 함수를 나열하는 기능이 있습니다. 다음 두 개의 Python 스크립트는 추적 모듈의 기능을 보여주기 위해 예제로 사용됩니다. #myfunctions.py import math def area(x): a = math.pi*math.pow(x,2) return a def factorial(x): if x==1: return 1 els
파이썬은 인터프리터 기반 언어입니다. 그러나 스크립트(.py 확장자)가 실행될 때 내부적으로 소스 코드를 바이트 코드로 컴파일하고 그 후에 바이트 코드 버전은 자동으로 제거됩니다. 모듈(미리 컴파일된 내장 모듈 제외)을 처음 가져올 때 컴파일된 버전도 자동으로 빌드되지만 __pycache__ 폴더에 .pyc 확장자로 저장됩니다. 동일한 모듈을 다시 가져오기 위한 후속 호출은 모듈을 다시 컴파일하지 않고 이미 빌드된 모듈을 사용합니다. 그러나 확장자가 .py인 Python 스크립트 파일은 실행하지 않고 명시적으로 컴파일할 수 있습니
pyclbr Python 라이브러리의 module은 Python 모듈에 정의된 함수, 클래스 및 메서드에 대한 정보를 추출합니다. 모듈을 가져오는 것이 아니라 Python 소스 코드에서 정보를 추출합니다. 이 모듈은 readmodule()을 정의합니다. 모듈 수준 클래스 이름을 클래스 설명자에 매핑하는 사전을 반환하는 함수입니다. 이 함수는 모듈 이름을 매개변수로 사용합니다. 패키지 내 모듈의 이름일 수 있습니다. 이 경우 경로는 모듈 소스 코드를 찾는 데 사용되는 sys.path 앞에 추가된 일련의 디렉토리 경로입니다. 다음
zipimport 모듈을 사용하면 ZIP 형식 아카이브에서 Python 모듈 및 패키지를 가져올 수 있습니다. 이 모듈은 또한 sys.path의 항목이 ZIP 파일 아카이브를 명명하는 문자열이 될 수 있도록 합니다. ZIP 아카이브에는 모든 파일이 있을 수 있지만 .py 및 .pyc 파일만 가져올 수 있습니다. 동적 모듈의 ZIP 가져오기는 허용되지 않습니다. 이 모듈의 기능은 먼저 newdir 디렉토리에 파일의 zip 아카이브를 구축하여 설명합니다. 다음 파일은 newdir 디렉토리에 있는 것으로 간주됩니다. [guess.py
하나 이상의 추상 메서드가 포함된 클래스를 추상 클래스라고 합니다. 추상 메서드는 선언되었지만 구현을 포함하지 않는 메서드입니다. 추상 클래스는 인스턴스화할 수 없으며 추상 메서드는 하위 클래스에서 구현해야 합니다. 추상 기본 클래스는 hasattr()과 같은 다른 기술이 서투르거나 미묘하게 잘못된 경우(예:매직 메서드의 경우) 인터페이스를 정의하는 방법을 제공합니다. ABC는 클래스에서 상속되지 않지만 여전히 isinstance() 및 issubclass() 함수에 의해 인식되는 클래스인 가상 하위 클래스를 도입합니다. 파이썬에
Python 라이브러리의 struct 모듈 조항은 C 유형 구조체와 Python 바이트열 객체 간의 변환을 수행하는 데 유용합니다. 이는 struct 모듈에 정의된 Struct 클래스 및 해당 메서드뿐만 아니라 모듈 수준 함수에 의해 달성될 수 있습니다. 변환 함수는 형식 문자열을 사용합니다. 형식 문자열에 사용되는 바이트 순서, 크기 및 정렬은 다음 표에 따라 형식 지정 문자에 따라 결정됩니다. 문자 바이트 순서 크기 정렬 @ 네이티브 네이티브 네이티브 = 네이티브 표준 없음
경고는 프로그램의 오류와 다릅니다. 오류가 발생하면 Python 프로그램이 즉시 종료됩니다. 반면에 경고는 치명적이지 않습니다. 특정 메시지를 표시하지만 프로그램은 계속됩니다. 정확히 예외가 아닌 특정 조건에 대해 사용자에게 경고하기 위해 경고가 발행됩니다. 일반적으로 키워드/함수/클래스 등과 같은 특정 프로그래밍 요소의 사용되지 않는 사용이 발견되면 경고가 나타납니다. 경고 메시지는 파이썬 표준 라이브러리의 warning 모듈에 정의된 warn() 함수에 의해 표시됩니다. Warning은 실제로 내장 클래스 계층에서 Except
자동 가비지 수집은 Python의 중요한 기능 중 하나입니다. 가비지 수집기 메커니즘은 프로그램에서 더 이상 사용하지 않는 개체가 차지하는 메모리를 회수하려고 시도합니다. Python은 가비지 수집에 참조 카운팅 메커니즘을 사용합니다. 파이썬 인터프리터는 객체가 다른 객체에 의해 참조되는 횟수를 유지합니다. 개체에 대한 참조가 제거되면 개체의 개수가 감소합니다. 참조 횟수가 0이 되면 개체 메모리가 회수됩니다. 일반적으로 이 메커니즘은 자동으로 수행됩니다. 다만, 프로그램 내에서 특정한 상황이 발생하는 경우에는 고의로 할 수 있
modulefinder 모듈의 ModuleFinder 클래스는 특정 스크립트에서 가져온 모듈 집합을 결정할 수 있습니다. 이 모듈에는 명령줄 인터페이스와 프로그래밍 방식 인터페이스가 있습니다. 기능 시연을 위해 다음 스크립트를 사용하십시오. #modfinder.py import hello try: import trianglebrowser import nomodule,mymodule except ImportError: pass 명령줄 인터페이스 다음 명령은 찾은 모듈과 찾을 수 없는 모듈 목록을 표시합니다. E:\
SimPy(Blimpie와 운율)는 프로세스 지향 이산 이벤트 시뮬레이션을 위한 Python 패키지입니다. 설치 SimPy를 설치하는 가장 쉬운 방법은 pip를 사용하는 것입니다. pip install simpy 그리고 다음과 같은 결과를 얻을 수 있습니다. 작성 당시 simpy-3.0.11은 SimPy의 가장 최신 버전이며 아래의 모든 예제에 사용할 것입니다. SimPy가 이미 설치된 경우 pip에 -U 옵션을 사용하여 업그레이드하십시오. pip install –U simpy 참고 :python 2.7 이
가장 먼저 생각나는 것은 이 두 언어만을 비교하는 이유는 무엇입니까? 이것은 둘 다 객체 지향 철학과 매우 거대한 커뮤니티 지원을 가진 해석되고 민첩한 언어이기 때문일 수 있습니다. 그러나 두 언어 모두 몇 가지 아이디어, 구문 요소를 공유하고 거의 동일한 기능을 가지고 있지만 두 커뮤니티에는 공통점이 없습니다. 두 언어 모두 개발자 커뮤니티에서 매우 인기가 있습니다(비교해야 하는 이유 중 하나이기도 함). 다음은 공개된 pull 요청을 기반으로 한 GitHub에서 2018년 가장 인기 있는 상위 10개 언어입니다. − 공개된 p
Tkinter는 GUI(Graphical User Interfaces) 개발을 위한 파이썬 라이브러리입니다. 우리는 tkinter 라이브러리를 사용하여 UI(사용자 인터페이스) 응용 프로그램을 만들고 창 및 기타 모든 그래픽 사용자 인터페이스를 만듭니다. python 3.x(권장)를 사용하는 경우 Tkinter는 Python을 표준 패키지로 제공하므로 사용하기 위해 아무것도 설치할 필요가 없습니다. Tkinter에서 등록 양식을 만들기 전에 먼저 Tkinter에서 간단한 GUI 응용 프로그램을 만들어 보겠습니다. 간단한 GUI
Google 지도에서 지리적 좌표를 그리는 방법에는 여러 가지가 있습니다. 그러나 로컬 파일에 저장하려는 경우 gmplot이라는 python 모듈을 사용하는 것이 더 나은 방법입니다. Python 라이브러리 gmplot을 사용하면 Google 지도에 데이터를 표시할 수 있습니다. gmplot에는 Google 지도 위에 모든 추가 데이터를 제공하기 위해 HTML 및 자바스크립트를 생성하는 matplotlib와 유사한 인터페이스가 있습니다. 설치 gmplot이 아직 설치되지 않은 경우 pip를 사용하여 gmplot을 설치하는 것은
기존의 Conda 환경에 패키지를 추가할 수 있는 여러 가지 방법이 있습니다. 방법 1 − 한 가지 일반적인 접근 방식은 Anaconda Navigator를 사용하여 패키지를 우리의 Conda 환경에 추가하는 것입니다. Ananconda Navigator가 열리면 홈 페이지는 다음과 같이 보일 것입니다. - 홈 탭 바로 아래에 있는 환경 탭으로 이동하면 모든 패키지가 설치되어 있고 무엇이 설치되어 있지 않은지 확인할 수 있습니다. aconda 내비게이터를 통해 패키지를 설치하는 것은 매우 쉽습니다. 필요한 패키지를 검색하
데이터 분석을 위해서는 탐색적 데이터 분석(EDA)이 첫 번째 단계여야 합니다. 탐색적 데이터 분석은 다음을 수행하는 데 도움이 됩니다. 데이터 세트에 대한 통찰력을 제공합니다. 기본 구조를 이해합니다. 중요한 매개변수와 이들 사이의 관계를 추출합니다. 기본 가정을 테스트합니다. 샘플 데이터 세트를 사용한 EDA 이해 파이썬을 사용하여 EDA를 이해하기 위해 웹사이트나 로컬 디스크에서 샘플 데이터를 직접 가져올 수 있습니다. 저는 Wine Quality 데이터 세트의 빨간색 변형에 대해 공개적으로 사용할