python 이상 처리,모듈 및 패키지
1.무엇이 이상 한가
Error( )
시스템 의 오류 입 니 다.프로그래머 는 시스템 붕괴,메모리 공간 부족,스 택 넘 치 는 방법 등 을 변경 하고 처리 할 수 없습니다.이러한 오류 가 발생 하면 프로그램 을 종료 시 키 는 것 을 권장 합 니 다.Exception
(이상)은 프로그램 이 처리 할 수 있 는 이상 을 표시 하고 포획 할 수 있 으 며 회복 할 수 있 습 니 다.이러한 이상 이 발생 하면 가능 한 한 이상 을 처리 하여 프로그램 이 운행 을 회복 하도록 해 야 지,함부로 이상 을 중지 해 서 는 안 된다.2 흔 한 이상
IndentationError:
KeyboardInterrupt: Ctrl+C
UnboundLocalError :
d = {'name':'westos'}
print(d['age']) # KeyError
with open('hello.txt') as f: # FileNotFoundError
pass
AttributeError 、IOError 、ImportError 、IndexError、
SyntaxError、TypeError、ValueError、KeyError、NameError
3 이상 처리 메커니즘Python 의 이상 메커니즘 은 주로 try,except,else,finally 와 raise 다섯 개의 키워드 에 의존한다.
try 키 워드 를 입력 한 코드 블록 은 try 블록 이 라 고 부 릅 니 다.그 안에 이상 을 일 으 킬 수 있 는 코드 가 설치 되 어 있 습 니 다.
except 키 워드 는 이상 유형 과 이 이상 코드 블록 을 처리 합 니 다.
여러 개의 except 블록 뒤에 else 블록 을 넣 을 수 있 습 니 다.프로그램 에 이상 이 없 을 때 else 블록 을 실행 해 야 한 다 는 것 을 표시 합 니 다.
finally 블록 은 try 블록 에서 열 린 물리 적 자원 을 회수 하 는 데 사 용 됩 니 다.이상 메커니즘 은 finally 블록 이 항상 실 행 될 수 있 도록 보장 합 니 다.
raise 는 실제 이상 을 일 으 키 는 데 사용 되 며,raise 는 단독으로 문장 으로 사용 하여 구체 적 인 이상 대상 을 일 으 킬 수 있 습 니 다.
실제 적 인 오류 조건 을 처리 하 는 것 외 에 이상 에 도 많은 다른 용도 가 있다.표준 Python 라 이브 러 리 에서 일반적인 용법 은 모듈 을 가 져 와 서 사용 할 수 있 는 지 확인 하 는 것 입 니 다.존재 하지 않 는 모듈 을 가 져 오 면 ImportError 이상 이 발생 합 니 다.
# :
# else: ,
#finally:
try:
a = 1
print(b)
except NameError as e:
print('0-name error')
except KeyError:
print('4-key error')
except Exception as e:
print('1-exception')
else:
print('2-no error')
finally:
print('3-run code')
4 촉발 이상Python 은 프로그램 이 스스로 이상 을 일 으 키 고 스스로 이상 을 일 으 켜 raise 문 구 를 사용 하여 완성 하도록 허용 합 니 다.
raise 구문 에서 Exception 은 이상 한 유형(예 를 들 어 NameError)매개 변수 표준 이상 중 하나 입 니 다.
args 는 자신 이 제공 한 이상 매개 변수 입 니 다.
raise [Exception [, args [, traceback]]]
age = int(input('age:'))
if 0<age<150:
print(age)
else:
#
raise ValueError(" 0~150 ")
5 사용자 정의 이상사용자 정의 이상 은 Exception 기본 클래스 나 Exception 의 하위 클래스 를 계승 해 야 합 니 다.사용자 정의 이상 클래스 를 사용 할 때 더 많은 코드 를 쓸 필요 가 없습니다.사용자 정의 이상 클래스 의 부모 클래스 만 지정 하면 됩 니 다.
#
class AgeError(ValueError):
pass
age = int(input('age:'))
if 0<age<150:
print(age)
else:
#
raise AgeError(" 0~150 ")
```
2 모듈 과 패키지1.모듈
1.1 pycharm 에 python 파일 hello.py 만 들 기
"""
hello
"""
digits = '0123456789'
def login():
print('login.......')
# __all__ from module import * , 。
__all__ = ['digits']
# , 。 , 。
if __name__ == '__main__':
print(__name__)
# __name__ __main__.
# ,__name__ hello( )
1.2.주의:사용자 정의 python 파일 의 파일 이름 은 기 존 모듈 과 충돌 하지 마 십시오.1.3.가 져 오기 모듈 은 실질 적 으로 모듈 을 불 러 오고 실행 하 는 내용 입 니 다.
1.4.모듈 을 가 져 오 는 몇 가지 방식:
import hello
print(hello.digits)
hello.login()
1.5.모듈 의 기타 정보import sys
print(sys.path)\#모듈 조회 경로
import hello
print(dir(hello)\#hello 모듈 에서 사용 할 수 있 는 변수 와 함 수 를 봅 니 다...
print(hello.__doc__)# 모듈 설명 문서 보기
print(hello.__file__) # 모듈 의 절대 경로 보이 기
print(hello.__name__) # __name__모듈 이 가 져 올 때 모듈 의 이름 을 표시 합 니 다.
name 의 특수 용법
import hello
"""
digits = '0123456789'
def login():
print('login.......')
print(__name__) # __name__ __main__.
"""
2.가방패 키 지 는 연 결 된 모듈 을 한데 묶 어서 모듈 명칭 충돌 문 제 를 효과적으로 피하 고 응용 조직 구 조 를 더욱 명확 하 게 한다.
일반적인 python 응용 프로그램 디 렉 터 리 구조:
2.1.가방 은 실질 적 으로 를 포함한다.init__.py 파일 의 디 렉 터 리.
2.2.가방 을 가 져 오 는 것 은 실질 적 으로 무엇 을 하 는 것 입 니까?가방 안의 실행init__.py 의 내용.
2.3.가방 가 져 오 는 방법:
sdk 디 렉 터 리 에 포 함 된 파일:
1.huawei.py
내용:
def create_ecs():print('화 웨 이 클 라 우 드 만 들 기')def deleteecs():print("화 웨 이 클 라 우 드 삭제")
2.aili.py
def create_ecs():
print('아 리 운 만 들 기')
def delete_ecs():
print("아 리 클 라 우 드 삭제")
3._init_.py
from . import ali
from . import huawei
from sdk import ali
from sdk import huawei
ali.create_ecs()
huawei.create_ecs()
import sdk
sdk.ali.create_ecs()
sdk.huawei.create_ecs()
2.4.모듈 의 분류시간 모듈
import time
print(time.time()) #
print(time.ctime()) # , Sun Feb 7 17:09:55 2021
tuple_time = time.localtime() #
print(tuple_time.tm_year)
datetime
from datetime import date, datetime, timedelta
print(date.today()) #
print(datetime.now()) # 2021-02-07 17:13:17.170345
print(date.today() + timedelta(days=3)) # 3
print(date.today() - timedelta(days=3)) # 3
print(datetime.now() + timedelta(minutes=10)) # 10
print(datetime.now() - timedelta(minutes=10)) # 10
random
import random
print(random.random()) # 0-1
print(random.randint(1, 10)) # 1-10
print(random.choice(['li', 'happy', 'fi'])) #
print(random.sample(['ll', 'ff', 'oo'], 2)) # n(n=2)
print(random.choices(['ll', 'ff', 'oo'], weights=[100, 10, 10])) # ,
string
import string
print(string.digits) #
print(string.ascii_letters)
print(string.ascii_lowercase)
print(string.ascii_uppercase)
색상 모듈
from colorama import Fore
print(Fore.RED + 'Error: ')
print(Fore.GREEN + 'Success: ')
테스트 정보 생 성 모듈
from faker import Faker
fake = Faker('zh-cn')
print(fake.name())
print(fake.address())
print(fake.email())
2.5.모듈 의 설치pip install**하지만 설치 할 때 느 리 므 로 적당 한 소스 설 치 를 선택 하 십시오.
pip install colorama -i https://pypi.douban.com/simple
이상 은 python 이상 처리,모듈 과 가방 의 상세 한 내용 입 니 다.python 이상 처리,모듈 과 가방 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.