py匯入包異常跳出 python 異常處理及包

2021-10-16 19:16:53 字數 1590 閱讀 4603

程式裡的異常:「不正常」,當python檢測乙個錯誤時,直譯器無法執行下去,反而出現乙個錯誤的提示。

異常處理:try:可能出現問題的**

except:如果出現問題,則執行該**

多個異常處理:try: 可能出現問題的**

except 異常1:

except 異常2:

多個異常之間的順序要求:子類在前,父類在後。若使用元組儲存異常的時候,異常之間沒有順序要求。

try:可能出現問題的**

except:如果出現問題,則執行該**

else:沒有異常,執行該**

finally:不管在哪種情況下,一定執行該**

拋出自定義異常:raise 異常物件,如下**:

class genderexception(exception): #定義乙個異常類。

def __init__(self):

super().__init__() #顯示呼叫父類的構造方法

self.mrrmsg = '性別只能是男或者女'

class student:

def __init__(self,name,gender):

self.name = name

self.gender(gender) #直接寫self.__gender = gender 有漏洞,需要經過gender方法進行過濾

def gender(self,x):

if x=='男' or x == '女':

self.__gender = x

else:

raise genderexception()

try:

stu = student('張三','123')

stu.gender('半男不男')

except exception as e:

print(type(e))

print(e.args)

print(e.mrrmsg)

模組:只要以.py字尾的檔案都可以看成是模組

模組中包括什麼東西:1、變數 2、函式 3、物件導向(類->物件)4、可執行的**

使用模組有什麼好處:管理方便,易維護,降低複雜度。

模組的使用:1、自定義模組 2、匯入模組(import 模組1,模組2,,,,,)

匯入模組後如何使用:1、模組名.函式名(引數) 2、模組.類 3 、模組.變數

在自定義模組中,防止外部呼叫模組時將模組中的所有**都執行一遍,有兩種方法可以解決:1、新增控制**:

if __name__ == 『__main__』:

可執行**

2、from 模組名 import 具體的方法等 3、from 模組名 import * 預設匯出模組中所有的功能

手動在模組中新增全域性變數__all__=,會導致匯出模組的功能不能用。解決方案:1、將所要用的功能名寫入全域性變數中,那麼from 模組名 import *,這種__all__ = 在python3環境中不提倡使用。

python中的包:可以理解為乙個資料夾,前提是資料夾中包含乙個__init__.py

當將模組放到包中,模組中的包名,模組名會發生變化,新的名字:包名.模組名

math.factorial:取x的階乘的值

python 包 模組匯入

os.getenv path 系統可執行程式位置 sys.path可匯入的python包位置 python module 的 path 屬性 可顯示每個包的檔案位置 what is pythonpath,what is python package what can we do with init ...

python 包的匯入

1,包 定義 把解決一類問題的模組放在同乙個資料夾裡 匯入語法 在import from.import匯入語句中 而不是在使用時 遇到帶點的 本質 就是乙個包含 init py檔案的目錄,在py2中,必須有 init py檔案,py3沒有也可以執行。包只是模組的一種形式而已,包即模組,是為了匯入方便...

python導包 Python中包的匯入

15 june 2015 當你從python直譯器退出後再重新進入,之前所寫的 包括變數 函式都已經不存在了,如果你想週期性的執行這些功能但是並不想每次都將這些 重新輸入一遍,你可以將這些 儲存成檔案在本地進行儲存 也就是指令碼 當你寫的程式規模越來越大,維護起來越發吃力,你或許會想把它分割為不同功...