一.模組
1.什麼是模組?
2.在乙個模組中使用另外乙個模組的內容
①哪些能用:所有在指定if語句外的全域性變數
②怎麼使用:需要先導入模組
語法:
import 模組名 - 匯入後可以使用所有的全域性變數;以 '模組名.變數' 來使用變數
from 模組名 import 變數1
, 變數2
, 變數3,.
..- 匯入後可以使用指定的變數; 直接使用變數
from 模組名 import
*- 匯入後可以使用所有的全域性變數; 直接使用變數 (不推薦使用)
import 模組名 as 新模組名 - 匯入模組的時候給模組取別名,以後使用模組的時候使用新名字
from 模組名 import 變數1
as 新變數1
, 變數2
as 新變數2
, 變數3,.
..- 給指定變數取別名
二.匯入模組
1.匯入模組的原理
當使用import
>或者from-import
> 匯入模組的時候,系統會自動將被匯入的模組中所有的**都執行一遍
2.重複匯入同乙個模組,模組中的內容只會執行一次
import test2
import test2 模組中的內容只會執行一次
面試題:說說import
> 和include
>的區別?>
import
> 比起include
> 的好處:不會引起交叉編譯
import
>確定乙個檔案只能被匯入一次,這使我們在遞迴包含中不會出現問題
3.怎麼選擇性的執行被匯入的內容?
在被匯入的模組中新增if語句,將不希望被其他模組執行的**放到if語句中
if 語句:
if __name__ ==
'__main__'
: 不希望被其他模組執行的**
原理:每個模組都有乙個屬性:__name__,這個屬性是用來儲存當前模組的名字;__name__預設值就是模組名(模組對應的py檔案的檔名)。當我們直接執行某個模組的時候,這個模組的 __name__屬性就會自動變成 '__main__'
三.包的使用
1.什麼是包?
包就是一種特殊的資料夾
2.匯入方式
這裡我們用**舉例說明:
# 先在當前資料夾的目錄下建立乙個包shape
# 建立乙個circle.py檔案 , 檔案中我們封裝兩個函式求圓的周長和面積
pi =
3.1415926
defdiameter
(r):
""" 求圓的周長
:param r: 半徑
:return: 周長
"""return
2* pi * r
defarea
(r):
return pi * r * r
通過包直接匯入模組
from shape import circle
r =10
print
(circle.area(r)
)
通過包匯入模組中的資料
from shape.circle import arer
print
(area(10)
)
Python 13 模組和包
在電腦程式的開發過程中,隨著程式 越寫越多,在乙個檔案裡 就會越來越長,越來越不容易維護。為了編寫可維護的 我們把很多函式分組,分別放到不同的檔案裡,這樣,每個檔案包含的 就相對較少,很多程式語言都採用這種組織 的方式。在python中,乙個.py檔案就稱之為乙個模組 module 使用模組有什麼好...
13 Python中的迭代器
迭代器是乙個資料流物件或容器,當使用其中的資料時,每次從乙個資料流中取乙個資料,直到資料被取完,而且資料不會被重複使用 實現自定義迭代器需要實現如下的方法 自定義異常示例 依次遍歷x的n次方,知道大於100時結束迭代 class myiterator def init self,x 2,max 10...
python之路13 python的深淺拷貝
列表和字典不能直接刪除,如果要刪除,則先遍歷列表或字典,將要刪除的值放在另乙個列表,然後遍歷另乙個列表來刪除此列表。li 11,22,33,44,55 刪除大於33的值 re for el inli if el 33 for el inre li.remove el print li 11,22,3...