首先說一下:對于一個真實的Python程序,我們自己完成所有的工作是不太現(xiàn)實的,通常都是需要借助第三方類庫。而且,咱們編寫一個完整的程序的源代碼也不可能放在同一個源文件中,對吧,因此這些都需要以模塊化的方式來組織項目的源代碼。

好了,下面說一下Python相關(guān)的模塊化編程吧!
首先,導(dǎo)入模塊的簡單語法需要去進(jìn)行一下了解的。
下面的要牢記哦,import在Python中是被利用來導(dǎo)入模塊的,那就說一下import的用法吧,主要有兩種用法哦,分別如下:
- import 模塊名1[ as 別名1], 模塊名2[ as 別名2], …
注意上面“[ ]”中的是可選項哦,上面語句的意思就是整個模塊的導(dǎo)入。
- from 模塊名 import 成員名1[ as 別名1], 成員名2[ as 別名2], …
這個語句的意思就是 導(dǎo)入模塊中指定的成員。
推薦 :020 持續(xù)更新,精品小圈子每日都有新內(nèi)容,干貨濃度極高。
結(jié)實人脈、討論技術(shù) 你想要的這里都有!
搶先入群,跑贏同齡人!(入群無需任何費用)
點擊此處,與Python開發(fā)大牛一起交流學(xué)習(xí)。
群號:745895701
申請即送:
Python軟件安裝包,Python實戰(zhàn)教程
資料免費領(lǐng)取,包括 Python基礎(chǔ)學(xué)習(xí)、進(jìn)階學(xué)習(xí)、爬蟲、人工智能、自動化運維、自動化測試等
上面兩種import語句的 區(qū)別 主要如下:
1. 第一種import語句導(dǎo)入整個模塊內(nèi)的所有成員,這些成員包括變量、函數(shù)、類等;而第二種import語句則只導(dǎo)入模塊內(nèi)的指定成員,當(dāng)然除非你使用from 模塊名 import *,但這種方式通常是不推薦使用的。
2. 使用第一種import語句導(dǎo)入模塊中的成員時,必須添加模塊名或模塊別名前綴哦;當(dāng)使用第二種import語句導(dǎo)入模塊中的成員時,就不必使用任何的前綴啦,直接使用成員名或者成員別名就可以啦。

# 舉個“栗子”:
#導(dǎo)入整個sys模塊
import sys
#導(dǎo)入sys整個模塊,并指定其別名s
import sys as s
#導(dǎo)入sys、os兩個模塊
import sys, os
#導(dǎo)入sys、os兩個模塊,并為sys指定別名s,為os指定別名o
import sys as s, os as o
#導(dǎo)入sys模塊內(nèi)的argv成員
from sys import argv
#導(dǎo)入sys模塊內(nèi)的argv成員,并為其指定別名v
from sys import argv as v
#導(dǎo)入sys模塊內(nèi)的argv、winver成員
from sys import argv, winver
#導(dǎo)入sys模塊內(nèi)的argv,winver成員,并分別指定別名為v、w
from sys import argv as v, winver as w
#導(dǎo)入sys模塊中的所有成員
from sys import

下面再來說一下,為什么使用from 模塊名 import 這種導(dǎo)入所有成員的形式不推薦大家使用吧
原因如下,還是舉個“栗子”吧!
因為這種方式是有潛在風(fēng)險的,比如說通過這種形式同時導(dǎo)入module1和module2內(nèi)的所有成員,如果這兩個模塊內(nèi)都有一個ex()函數(shù),那問題就來了,當(dāng)執(zhí)行如下代碼:ex()
這個同時存在于兩個模塊中的函數(shù)到底是在module1模塊中的呢?還是module2模塊中的呢?所以說嘛,這種導(dǎo)入方式是有潛在風(fēng)險的哦!
當(dāng)然還是有辦法來進(jìn)行規(guī)避的,你可以通過下面的方式:
import module1 as m1
import module2 as m2
這樣分別給兩個模塊起個別名就能區(qū)分開了,這時再調(diào)用ex()函數(shù)時,就可以按下面方式寫啦:
m1.ex()
m2.ex()
這樣就很清晰了哦!
還有沒有其他方法呢?當(dāng)然有啦,你還可以采用下面的方式,就是給模塊中的重名方法起個“外號”(別名)唄:
from module1 import ex as ex1
from module2 import ex as ex2
這樣就可以直接調(diào)用ex()方法啦!
ex1()
ex2()