13 Python 模組和包的使用

2021-10-07 15:17:10 字數 1836 閱讀 6225

一.模組

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...