網站首頁 編程語言 正文
模塊導入
1.1 import導入模塊
- 所謂的模塊其實就是一個外部的工具包,其中存在的其實就是Python文件,這些文件都實現了某種特定的功能,我們導入包之后直接使用即可,非常的方便。
- 在開發中使用最多的就是使用: import 方式進行導入。導入的包一般放在文件的最前面。
- 語法格式 : import 模塊名
# 導入時間模塊
import timr
# 使用時間模塊中的方法
time.ctime()
- 調用模塊方法的語法格式: 模塊名.函數名 ,這樣調用可以防止不同模塊中有同名方法導致錯誤。
1.2 from 模塊名 import 導入模板的方法
- 一個模塊可能存在很多的函數,如果只是想導入其中的幾個函數,可以使用from xxx import xxx 方式導入。
- 使用這種方式導入之后不用在使用 模塊名.函數名 的方式來調用函數,可以直接使用 函數名。但是一定要注意這種形式可能會產生覆蓋的情況,當導入了兩個不同包中的同名的函數的時候,第二個函數會覆蓋第一個函數
舉例:只想導入time模塊中的ctime、time兩個方法,可以按照以下的格式導入:
# 導入模塊中指定的方法
from time import ctime,time
# 調用方法
ctime()
time()
注意:使用from導入,如果函數名相同,后面導入的會覆蓋前面導入的函數。
- 可以一次性的把一個模塊中的全部數據進行導入。 語法格式: from xxx import *
from time import *
1.3 as 關鍵字
- as關鍵字:給模塊取別名,有時候導入的模塊的名稱很長,調用的時候很不方便,使用as關鍵字就可以給模塊取一個其他的名字。
- 當給模塊起了別名之后以前模塊的名字就會失效。
import time as myTime
# 使用別名調用函數,正確
myTime.ctime()
# 使用以前模塊的名字調用,錯誤
time.ctime()
OS模塊操作文件
OS模塊的作用
- 對文件進行重命名、刪除等一些操作,在Python中可以利用os模塊。 os模塊提供了一些系統級別的操作命令
模塊的制作、發布、安裝
3.1 模塊制作
- Python文件都可以作為一個模塊,模塊的名字就是文件的名字。比如創建一個test.py文件,文件中創建一個add()函數。此時test.py文件就是一個模塊,可以在其他的python文件中直接引入使用。
- 一個模塊中可以包含函數、類、變量,也能包含可執行的代碼。
- 不同的模塊可以定義相同的變量名,但是每個模塊中的變量名作用域只是在本模塊中。
3.2 模塊的分
內置:python已經存在的。
自定義:我們自己編寫的功能模塊。
3.3 示例
- 定義一個相加的功能模塊 (addUp.python 文件)
# 定義一個執行相加的功能模塊
def add(x, y):
return x + y
- 在其他文件中引入并使用這個相加的功能模塊
# 引入相加的功能模塊(給模塊起別名) 引入整個模塊
import addUp as add
# 使用引入模塊中的函數 (模塊名.方法名)
print(add.add(1, 2))
# 3
# 直接引入模塊中的指定函數
from addUp import add
# 使用引入模塊中的函數 (函數名)
print(add(1, 2))
# 3
# 導入模塊中的所有函數
from addUp import *
# 使用引入模塊中的函數
print(add(1, 2))
# 3
3.4 測試方法
重點:在功能模塊中對模塊進行測試的時候,需要使用如下的格式
# 定義一個執行相加的功能模塊
def add(x, y):
return x + y
# 測試該模塊中的功能。使用這種形式測試就不會發生其他文件在使用這個功能模塊的時候輸出這個測試結果
# 是因為此時被這個 if 條件進行了控制
if __name__ == '__main__':
# 測試功能模塊中的函數
res = add(1, 3)
print('測試模塊中的add函數的結果:%s' % res)
# 測試模塊中的add函數的結果:4
pass
3.5 all魔術方法
- 指定對外暴露的功能函數。
# all 魔術方法可以存儲讓其暴露在外的函數們,將一些函數不對外暴露
# 注意:只有當調用者使用的是 from addUp import * 這種形式的時候all魔術方法才會生效
# 如果使用 from addUp import multiply ,add ,subtract 方式,all也不會生效
# 如果是使用 import 模塊名 的形式這個 all 不會生效,這個模塊中的所有方法還是全部可以暴露的。
# 總結:all魔術方法只會對 from addUp import * 這種格式的導入生效
__all__ = ['add', 'subtract']
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
# 測試該模塊中的功能
if __name__ == '__main__':
# 測試功能模塊中的函數
res = add(1, 3)
print('測試模塊中的add函數的結果:%s' % res)
# 測試模塊中的add函數的結果:4
pass
原文鏈接:https://cloud.tencent.com/developer/article/2049099
相關推薦
- 2022-09-17 C++中String類型的逆序方式_C 語言
- 2022-12-24 C語言中的逗號運算符詳解_C 語言
- 2022-06-17 Android性能優化之圖片大小,尺寸壓縮綜合解決方案_Android
- 2022-10-14 SpringCloud 微服務與遠程調用測試
- 2023-03-17 Android?ViewModel與Lifecycles和LiveData組件用法詳細講解_Andr
- 2023-01-09 GO中優雅編碼與降低圈復雜度詳析_Golang
- 2024-03-25 Intellij IDEA 啟動tomcat報錯
- 2022-09-08 Go語言怎么使用變長參數函數_Golang
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支