프로그램 작성

궁극의 파이썬 초보자 가이드

2021년 10월 30일

목차

  • 환경 설정
    • 로컬 환경 설정
    • 파이썬을 얻는 방법
    • 파이썬을 설치하는 방법
    • 윈도우 설치
    • 유닉스/리눅스 설치
    • MAC 설치
    • Python용 경로 설정
    • Unix/Linux용 경로 설정
    • Windows용 경로 설정
  • 파이썬 환경 변수
    • 파이썬 실행
  • 기본 구문
    • 파이썬 식별자
    • 파이썬 문
    • 파이썬의 들여쓰기
    • 파이썬의 주석
    • 입력 받기
    • 출력 표시
  • 변수 유형
    • 변수에 값 할당
    • 파이썬 데이터 유형
    • 문자열
    • 튜플
    • 기울기
    • 번호
  • 기본 연산자
    • 할당 연산자
    • 비트 연산자
    • 논리 연산자
    • 산술 연산자
    • 비교 연산자
    • ID 연산자
    • 멤버십 운영자
  • 의사결정
    • If 문
    • 다른 경우라면
    • 중첩되는 경우
    • If-elif-else-ladder
    • if 문 약식
    • 약식 if-else 문
  • 루프
    • 루프 동안
    • For 루프
    • 중첩 루프
    • 루프 제어문
    • 계속 문
    • 중단 문
    • 통과 진술
  • 번호
    • 숫자 유형 변환
    • 난수 함수
    • 삼각 함수
    • 수학 함수
  • 문자열
    • 문자열 만들기
    • 문자열 특수 연산자
    • 문자열 형식화 연산자
    • 탈출 문자
    • 기본 제공 문자열 메서드
  • 튜플
    • 튜플의 값 액세스
    • 튜플 업데이트
    • 기본 튜플 연산자
    • 내장 튜플 함수
    • 인덱싱 및 슬라이싱
    • 튜플 삭제
  • 기울기
    • 목록의 값 액세스
    • 목록 업데이트
    • 기본 목록 연산자
    • 내장 목록 함수 및 메서드
    • 인덱싱 및 슬라이싱
    • 목록 요소 삭제
  • 사전
    • 사전 만들기
    • 사전에 요소 추가
    • 사전에서 요소 제거
    • 파이썬 사전 메서드
  • 날짜와 시간
    • 시간 튜플
    • 시간 모듈
    • 캘린더 모듈
  • 기능
    • 함수를 정의하는 방법
    • 함수 호출
    • 참조로 전달
    • 값으로 전달
    • 함수 인수
    • 가변 길이 인수
    • 필수 인수
    • 기본 인수
    • 키워드 인수
    • 익명 기능
  • 모듈
    • 수입 명세서
    • from import 문
    • from import * 문
    • 모듈 찾기
    • locals() 및 globals() 함수
    • 네임스페이스 및 범위 지정
    • dir( ) 함수
    • reload() 함수
  • 파일 I/O
  • 예외
  • 클래스 및 객체
    • 수업 만들기
    • 클래스 객체
    • 속성 액세스
    • 내장 클래스 속성
    • 쓰레기 수거
    • 클래스 상속
    • 재정의 메서드
    • 정규식
    • 매치 기능
    • 검색 기능
    • 정규식 수정자
    • 정규 표현식 패턴
    • 캐릭터 클래스
    • 반복 사례
    • 앵커
  • CGI 프로그래밍
    • 웹 브라우징
    • HTTP 헤더
    • CGI 환경 변수
    • GET 메서드
    • POST 방식
    • CGI에서 쿠키 사용
    • 어떻게 작동합니까?
  • MySQL 데이터베이스 액세스
    • 데이터베이스 테이블 생성
    • 삽입 작업
    • 읽기 작업
    • 업데이트 작업
    • DELETE 작업
    • 트랜잭션 수행
    • 커밋 작업
    • 롤백 작업
    • 데이터베이스 연결 해제
    • 오류 처리
  • 네트워크
    • 소켓이란 무엇입니까?
    • 소켓 모듈
    • 파이썬 인터넷 모듈
  • 이메일 보내기
    • Python을 사용하여 HTML 이메일 보내기
    • 이메일로 첨부 파일 보내기
  • 다중 스레드 프로그래밍
    • 새 스레드 시작
    • 스레딩 모듈
    • 스레드 동기화
    • 다중 스레드 우선 순위 대기열
  • XML 처리
    • XML이란 무엇입니까?
    • XML 파서 아키텍처 및 API
    • SAX API로 XML 구문 분석
      • make_parser 메서드
      • 구문 분석 방법
      • parseString 메서드
  • GUI 프로그래밍
    • Tkinter 위젯
  • 지오메트리 관리
  • 추천 기사

파일 I/O

우리는 지금까지 콘솔에서 입력을 받아 사용자와 상호 작용하기 위해 콘솔에 다시 작성했습니다. 때로는 콘솔에 데이터를 표시하는 것만으로는 충분하지 않습니다. 표시될 정보는 방대할 수 있습니다. 메모리가 폭발적이기 때문에 콘솔에 소량의 데이터만 표시될 수 있습니다. 때때로 데이터를 계속해서 복구하기가 어려워집니다.

이 파일에서 처리는 데이터를 파일에 영구적으로 저장해야 할 때 중요한 역할을 합니다. 프로그램 종료 후 저장된 정보에 접근할 수 있습니다.

파일 열기

Python은 액세스 모드와 파일이 액세스되는 파일 이름의 두 인수를 허용하는 open() 함수를 제공합니다. 이 함수는 읽기, 쓰기 등과 같은 다양한 작업을 수행할 수 있는 파일 객체를 반환합니다.

예 아니오 액세스 모드 설명
하나 아르 자형 읽기 전용 모드로 파일을 엽니다. 파일 포인터가 시작 부분에 있습니다. 액세스 모드가 전달되지 않으면 파일은 기본적으로 열려 있습니다. 이 모드에서.
RB 바이너리 형식의 읽기 전용 파일을 엽니다. 파일 포인터가 시작 부분에 있습니다.
r+ 읽기 및 쓰기를 위해 파일을 엽니다. 파일 포인터가 시작 부분에 있습니다.
4 RB+ 이진 형식으로 읽기 및 쓰기를 위해 파일을 엽니다. 파일 포인터가 시작 부분에 있습니다.
5 쓰기 전용으로 파일을 엽니다. 파일을 덮어쓰거나 같은 이름의 파일이 없으면 새 파일을 만듭니다. 파일 포인터가 시작 부분에 있습니다.
6 wb 바이너리 형식으로만 쓰기 위해 파일을 엽니다. 파일을 덮어쓰거나 파일이 없으면 새 파일을 만듭니다. 파일 포인터가 시작 부분에 있습니다.
7 +에서 쓰기 및 읽기 모두를 위해 파일을 엽니다. 이전 파일을 덮어쓰거나 파일이 없으면 새 파일을 만듭니다. 파일 포인터가 시작 부분에 있습니다.
8 wb+ 이진 형식으로 쓰기 및 읽기 모두에 대해 파일을 엽니다. 파일 포인터가 시작 부분에 있습니다.
9 에게 추가할 파일을 엽니다. 파일 포인터는 파일 끝에 있습니다. 파일이 없으면 쓰기 위해 새 파일을 만듭니다.
10 떨어져있는 바이너리 형식으로 추가할 파일을 엽니다. 파일 포인터는 파일 끝에 있습니다. 파일이 없으면 쓰기 위해 새 파일을 만듭니다.
열하나 + 추가 및 읽기를 위해 파일을 엽니다. 파일 포인터는 파일 끝에 있습니다. 파일이 없으면 쓰기 및 읽기를 위한 새 파일이 생성됩니다.
12 ab+ 이진 형식으로 읽고 추가하기 위해 파일을 엽니다. 파일 포인터는 파일 끝에 있습니다. 파일이 없으면 읽고 쓸 수 있는 새 파일을 만듭니다.
img 617dd2714c751

산출

img 617dd2719c731

파일 객체 속성

예 아니오 기인하다 설명
하나 파일.닫힘 파일이 닫혀 있으면 true를 반환합니다. 그렇지 않으면 거짓
파일 이름 파일 이름을 반환합니다.
파일 모드 파일이 열린 액세스 모드를 반환합니다.
4 파일.소프트스페이스 인쇄에 공백이 필요한 경우 false를 반환합니다. 그렇지 않으면 사실입니다.

파일 닫기

모든 작업이 완료되면 다음을 사용하여 Python 스크립트를 통해 파일을 닫아야 합니다. 닫다() 방법. 작성되지 않은 정보는 일단 파기됩니다. 닫다() 메서드는 파일 개체에서 호출됩니다.

Python에서 열리는 파일 시스템을 사용하여 외부에서 파일에 대한 작업을 수행할 수 있습니다. 따라서 모든 작업이 완료되면 파일을 닫는 것이 좋습니다.

통사론

|_+_|

문 포함

with 문은 한 쌍의 문을 사이에 코드 블록과 함께 실행할 때 사용됩니다.

with 문의 장점은 중첩된 블록 종료에 관계없이 파일을 닫을 수 있다는 것입니다.

코드에서 반환, 중단 또는 예외가 발생하면 자동으로 파일을 닫기 때문에 파일에서 with 문을 사용하는 것이 항상 제안됩니다. close() 함수를 작성할 필요가 없습니다. 파일이 손상되지 않도록 합니다.

통사론

|_+_|

쓰기 방법

write() 메서드는 열린 파일에 문자열을 씁니다. 파이썬 문자열은 텍스트뿐만 아니라 바이너리 데이터도 가질 수 있어야 합니다. Write() 메서드는 줄 바꿈 문자(' ')를 문자열 끝에 추가하지 않습니다.

통사론

|_+_|

읽기 방법

read() 메서드는 열린 파일에서 문자열을 읽습니다. 파이썬 문자열은 텍스트 데이터와 별개로 바이너리 데이터를 가질 수 있어야 합니다.

통사론

|_+_|

이름 바꾸기() 메서드

rename() 메서드는 새 파일 이름과 현재 파일 이름의 두 가지 인수를 사용합니다.

통사론

|_+_|

remove() 메서드

remove() 메서드는 삭제할 파일의 이름을 인수로 제공하여 파일을 삭제합니다.

통사론

|_+_|

파일 위치

  • tell() 메소드는 파일 내의 현재 위치에 대해 알려줍니다.
  • Seek(offset[, from]) 메서드는 현재 파일의 위치를 ​​변경합니다. offset 인수는 이동해야 하는 바이트 수를 나타냅니다.

예외

예외란 무엇입니까?

예외는 일반적으로 프로그램 명령의 정상적인 흐름을 방해하는 프로그램 실행 중에 발생하는 이벤트입니다. 간단히 말해서 Python 스크립트가 대처할 수 없는 상황에 직면하면 예외가 발생합니다. 예외는 오류를 나타내는 Python 객체입니다. Python 스크립트에서 예외가 발생하면 즉시 예외를 처리해야 합니다. 그렇지 않으면 종료되고 종료됩니다.

예외 처리

당신이 약간을 가지고 있다면 의심스러운 예외를 일으킬 수 있는 코드가 있는 경우 의심스러운 코드를 try: 블록에 배치하여 프로그램을 방어할 수 있습니다. try: 블록 다음에 예외 문을 포함하고 그 뒤에 문제를 가능한 한 우아하게 처리하는 코드 블록을 포함합니다.

통사론

|_+_| img 617dd2722b717

산출

예외 발생

raise 문을 사용하여 다양한 방법으로 예외를 발생시킬 수 있습니다.

통사론

|_+_|

표준 예외 목록

예 아니오 예외 이름 설명
하나 표준 에러 StopIteration 및 SystemExit를 제외한 모든 내장 예외에 대한 기본 클래스입니다.
시스템 종료 sys.exit() 함수에 의해 발생합니다.
반복 중지 iterator의 next() 메서드가 어떤 객체도 가리키지 않을 때 발생합니다.
4 예외 모든 예외에 대한 기본 클래스입니다.
5 오버플로 오류 계산이 숫자 유형의 최대 제한을 초과하면 발생합니다.
6 산술 오류 수치 계산에서 발생하는 모든 오류의 기본 클래스입니다.
7 ZeroDivisionError 모든 숫자 유형에 대해 0으로 나누기 또는 모듈로가 발생할 때 발생합니다.
8 부동 소수점 오류 부동 소수점 계산이 실패하면 발생합니다.
9 속성 오류 속성 참조에 실패한 경우 발생합니다.
10 주장 오류 assert 문이 실패할 경우 발생합니다.
열하나 EOF 오류 raw_input() 또는 input() 함수로부터 입력이 없고 파일의 끝에 도달했을 때 발생합니다.
12 가져오기 오류 import 문이 실패할 때 발생합니다.
13 조회 오류 모든 조회 오류에 대한 기본 클래스입니다.
14 키보드 인터럽트 사용자가 Ctrl+c를 눌러 프로그램 실행을 중단할 때 발생합니다.
열 다섯 키 오류 사전에서 키를 찾을 수 없을 때 발생합니다.
16 인덱스 오류 시퀀스에서 인덱스를 찾을 수 없을 때 발생합니다.
17 환경 오류 파이썬 환경 외부에서 발생하는 모든 예외에 대한 기본 클래스입니다.
18 언바운드로컬오류 함수나 메서드에서 로컬 변수에 액세스하려고 하지만 값이 할당되지 않은 경우 발생합니다.
19 이름 오류 글로벌 또는 로컬 글로벌 네임스페이스에서 식별자를 찾을 수 없을 때 발생합니다.
이십 시스템 종료 sys.exit() 함수를 사용하여 파이썬 인터프리터를 종료할 때 발생합니다. 코드가 처리되지 않으면 인터프리터가 종료됩니다.
이십 일 구문 오류 파이썬 구문에 오류가 있을 때 발생합니다.
22 IO 오류 운영 체제 관련 오류에 대해 발생합니다.
23 시스템 오류
인터프리터가 내부 문제를 발견하면 발생하지만 오류가 발생하면 파이썬 인터프리터가 존재하지 않습니다.
24 들여쓰기 오류 들여쓰기가 제대로 지정되지 않은 경우 발생합니다.
25 유형 오류 작업이 시도되고 지정된 데이터 유형에 대해 유효하지 않을 때 발생합니다.
26 값 오류 데이터 유형에 대한 내장 함수에 유효한 유형의 인수가 있지만 인수에 잘못된 값이 지정된 경우 발생합니다.
27 구현되지 않음 오류 상속받은 클래스에서 구현될 추상 메소드가 실제로 구현되지 않았을 때 발생합니다.
28 런타임 오류 오류가 어떤 범주에도 속하지 않을 때 발생합니다.

사용자 정의 예외

Python을 사용하면 내장 예외에서 클래스를 파생하여 예외를 생성할 수 있습니다.

이는 예외가 발생했을 때 보다 정확한 정보를 표시해야 할 때 유용합니다.

try 블록에서 사용자 정의 예외가 발생하고 예외 블록에서 catch됩니다. 변수는 Networkerror 클래스의 인스턴스를 만드는 데 사용됩니다.

Python의 어설션

어설션은 프로그램 테스트가 끝나면 켜거나 끌 수 있는 온전성 검사입니다.

주장을 생각하는 쉬운 방법은 raise-if 문을 사용하는 것입니다. 표현식이 테스트되고 결과가 false이면 예외가 발생합니다.

프로그래머는 일반적으로 유효한 입력을 확인하기 위해 함수 시작 부분에 주장을 배치하고 정확한 출력을 확인하기 위해 함수 호출 후에 확인합니다.

통사론

|_+_|