1. 程式人生 > >python基礎第12天-包的導入&異常處理

python基礎第12天-包的導入&異常處理

mod () 處理 test 數據類型 func 數據 導入 col

包的導入

幾種導入方式

  • import 包名

    1 import time
    2 time.time()
  • import 包名,包名

    1 import time,sys
    2 time.time()
    3 sys.path
  • from 包名 import 模塊名

    1 from time import time
    2 time()
  • from 包名 import *

    導入指定包下所有模塊

    1 from time import *
    2 time() 

    __all__暴露指定屬性

    test.py:

    1 __all__
    = [func1] 2 3 4 def func1(): 5 print(from func1) 6 7 8 def func2(): 9 print(from func2)
    1 from test import *
    2 
    3 func1()
    4 func2()  # NameError: name ‘func2‘ is not defined
    5 
    6 # 只能訪問到導入原文件中__all__中指定的屬性

導入時的查找順序

  1. python內部會先在sys.modules裏面查看是否包含要導入的包\模塊,如果有,就直接導入引用
  2. 如果第1步沒有找到,python會在sys.path包含的路徑下繼續尋找要導入的模塊名.如果有,就導入,沒有就報錯.(pycharm會默認把項目路徑加入到sys.path])

異常處理

1 try:
2     ret = int(input(number >>>))  # ‘a‘
3     print(ret * *)
4 except ValueError:  # 輸入a時轉int失敗 throw ValueError
5     print(輸入的數據類型有誤)
6 except Exception:
7     print(
會捕獲任何異常) 8 else: 9 print(沒有異常的時候執行else中的代碼)

python基礎第12天-包的導入&異常處理