首先說一下:對于一個真實的Python程序祟霍,我們自己完成所有的工作是不太現(xiàn)實的杏头,通常都是需要借助第三方類庫。而且浅碾,咱們編寫一個完整的程序的源代碼也不可能放在同一個源文件中大州,對吧,因此這些都需要以模塊化的方式來組織項目的源代碼垂谢。
好了厦画,下面說一下Python相關(guān)的模塊化編程吧!
首先,導入模塊的簡單語法需要去進行一下了解的根暑。
下面的要牢記哦力试,import在Python中是被利用來導入模塊的,那就說一下import的用法吧排嫌,主要有兩種用法哦畸裳,分別如下:
- import 模塊名1[ as 別名1], 模塊名2[ as 別名2], …
注意上面“[ ]”中的是可選項哦,上面語句的意思就是整個模塊的導入淳地。
- from 模塊名 import 成員名1[ as 別名1], 成員名2[ as 別名2], …
這個語句的意思就是 導入模塊中指定的成員怖糊。
推薦 :020 持續(xù)更新,精品小圈子每日都有新內(nèi)容颇象,干貨濃度極高伍伤。
結(jié)實人脈、討論技術(shù) 你想要的這里都有遣钳!
搶先入群扰魂,跑贏同齡人!(入群無需任何費用)
點擊此處蕴茴,與Python開發(fā)大牛一起交流學習劝评。
群號:745895701
申請即送:
Python軟件安裝包,Python實戰(zhàn)教程
資料免費領取倦淀,包括 Python基礎學習蒋畜、進階學習、爬蟲晃听、人工智能百侧、自動化運維砰识、自動化測試等
上面兩種import語句的 區(qū)別 主要如下:
1. 第一種import語句導入整個模塊內(nèi)的所有成員能扒,這些成員包括變量、函數(shù)辫狼、類等初斑;而第二種import語句則只導入模塊內(nèi)的指定成員,當然除非你使用from 模塊名 import *膨处,但這種方式通常是不推薦使用的见秤。
2. 使用第一種import語句導入模塊中的成員時,必須添加模塊名或模塊別名前綴哦真椿;當使用第二種import語句導入模塊中的成員時鹃答,就不必使用任何的前綴啦,直接使用成員名或者成員別名就可以啦突硝。
# 舉個“栗子”:
#導入整個sys模塊
import sys
#導入sys整個模塊测摔,并指定其別名s
import sys as s
#導入sys、os兩個模塊
import sys, os
#導入sys、os兩個模塊锋八,并為sys指定別名s浙于,為os指定別名o
import sys as s, os as o
#導入sys模塊內(nèi)的argv成員
from sys import argv
#導入sys模塊內(nèi)的argv成員,并為其指定別名v
from sys import argv as v
#導入sys模塊內(nèi)的argv挟纱、winver成員
from sys import argv, winver
#導入sys模塊內(nèi)的argv羞酗,winver成員,并分別指定別名為v紊服、w
from sys import argv as v, winver as w
#導入sys模塊中的所有成員
from sys import
下面再來說一下檀轨,為什么使用from 模塊名 import 這種導入所有成員的形式不推薦大家使用吧
原因如下,還是舉個“栗子”吧欺嗤!
因為這種方式是有潛在風險的裤园,比如說通過這種形式同時導入module1和module2內(nèi)的所有成員,如果這兩個模塊內(nèi)都有一個ex()函數(shù)剂府,那問題就來了拧揽,當執(zhí)行如下代碼:ex()
這個同時存在于兩個模塊中的函數(shù)到底是在module1模塊中的呢?還是module2模塊中的呢腺占?所以說嘛淤袜,這種導入方式是有潛在風險的哦!
當然還是有辦法來進行規(guī)避的衰伯,你可以通過下面的方式:
import module1 as m1
import module2 as m2
這樣分別給兩個模塊起個別名就能區(qū)分開了铡羡,這時再調(diào)用ex()函數(shù)時,就可以按下面方式寫啦:
m1.ex()
m2.ex()
這樣就很清晰了哦意鲸!
還有沒有其他方法呢烦周?當然有啦,你還可以采用下面的方式怎顾,就是給模塊中的重名方法起個“外號”(別名)唄:
from module1 import ex as ex1
from module2 import ex as ex2
這樣就可以直接調(diào)用ex()方法啦读慎!
ex1()
ex2()