1、昨日內容回顧函數
一、模塊:模塊就是一個py文件。模塊實際上使咱們py文件運行後的名稱空間spa
二、導入模塊的動做內存
1) 判斷sys.modules中是否已經導入過該模塊it
2) 開闢一個內存import
3) 在該內存中運行py文件變量
4) 給這個內存起個名字,通常用的是py文件的名字。返回給導入方module
若是你的py文件是啓動文件,名字是__main__程序
程序的入口通常是:方法
if __name__ == "__main__":im
pass
三、import
import 模塊名
模塊名.屬性/方法/類
每一個模塊都有本身獨立的名稱空間,每一個都有一個global,互相不影響
模塊.屬性 = 值 # 不要這樣幹,會改變原來的值
四、from xxx import xxx
from 模塊 import 函數/變量
當作本身的變量或者函數來使用
from xxx import * 導入全部
導入的內容均可以起別名 as
2、今日內容回顧
一、包
包就是一個文件夾。 py2中包內必須有一個__init__.py 文件,在py3中能夠省略,可是最好保留
__init__.py 當咱們導入一個包的時候,默認執行這個包內的__init__.py
if 條件:
語句塊
一條語句 > 語句 > 代碼塊(函數,類) > py文件(模塊) > 包
二、相對導入和絕對導入
相對導入:相對於當前的模塊所在的包。使用時必須在包外面啓動(相對導入不能跨包導入)
絕對導入:根據包的根目錄去導入內容
總結:所有都依賴於 sys.path
三、使用包要注意的東西
儘可能在包外面啓動程序
from xxx.xxx.xx import xxx from什麼點什麼再點什麼,均可以;可是在import後面不能再點了