日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python模块与包

發布時間:2024/9/3 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python模块与包 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、模塊

模塊就是工具包,要想使用這個工具包中的工具(就好比函數),就需要導入這個模塊
模塊是非常簡單的Python文件,單個Python文件就是一個模塊,兩個文件就是兩個模塊

# 1. python模塊實質上是一個python文件。 # 2. 注意: 自定義的python文件的文件名一定不要和已有的模塊沖突。 # 3. 導入模塊實質上是加載并執行模塊的內容。 # 4. 導入模塊的幾種方式: """ # 直接導入 import hello print(hello.digits) hello.login()#部分導入 from hello import login login()#重命名函數 from hello import login as l l() """ # 5. 模塊的其他信息 import sys print(sys.path) # 模塊的查詢路徑import hello print(dir(hello)) # 查看hello模塊可以使用的變量和函數....print(hello.__doc__) # 查看模塊的說明文檔 print(hello.__file__) # 顯示模塊的絕對路徑 print(hello.__name__) # __name__當模塊被導入時,顯示的是模塊的名稱。


hello.py

""" hello模塊的說明文檔 """ digits = '0123456789'def login():print('login.......')# __all__當用戶使用from module import *時,需要導入的內容。 __all__ = ['digits']# 當模塊內部執行時,需要執行的代碼。 當模塊被導入,則不執行。 if __name__ == '__main__':print(__name__)# 當在模塊內部執行__name__的值為__main__.# 當模塊被導入時,__name__的值為hello(模塊名)

python在執行一個文件時有個變量 name
可以根據__name__變量的結果能夠判斷出,是直接執行的python腳本還是被引入執行的,從而能夠有選擇性的執行測試代碼.
if name==‘main’:
pass

二、包

包將有聯系的模塊組織在一起,有效避免模塊名稱沖突問題,讓應用組織結構更加清晰。
一個普通的python應用程序目錄結構:

# __init__.py from . import ali from . import huawei # ali.py def create_ecs():print('創建阿里云')def delete_ecs():print("刪除阿里云") # huawei.py def create_ecs():print('創建華為云')def delete_ecs():print("刪除華為云") # 1. 包實質上是包含__init__.py文件的目錄。 # 2. 導入包實質是在做什么? 執行包里面的__init__.py的內容。 # 3. 導入包的方式:# 方法1: from sdk import ali from sdk import huaweiali.create_ecs() huawei.create_ecs()# 方法2: 相對麻煩一些, 需要在包的__init__.py添加導入信息。 # import sdk # sdk.ali.create_ecs() # sdk.huawei.create_ecs()

三、模塊的分類

""" 模塊的分類: - 內置模塊:time,datetime,random, string - 第三方模塊: requests, pandas, colorama, faker - 自定義模塊: 自己編寫的python文件(模塊)或者包如何安裝模塊?>pip install colorama -i https://pypi.douban.com/simple """

1.內置模塊

import time print(time.time()) # 計算時間戳 1613812279.0698967 print(time.ctime()) # 字符串的時間 Tue Feb 23 23:11:19 2021 tuple_time = time.localtime() # 元組類型的時間 2021 print(tuple_time.tm_year)from datetime import date, datetime, timedelta print(date.today()) # 獲取今天的日期 print(datetime.now()) # 獲取當前時間 2021-02-20 23:12:19 2021 print(date.today() + timedelta(days=3)) # 獲取3天后的日期 print(datetime.now() - timedelta(minutes=10)) # 獲取10分鐘之前的時間信息import random print(random.random()) # 生成0-1之間的小數 0.36057413002449834 print(random.randint(1, 10)) # 生成1-10之間的整數 print(random.choice(['user1','user2','user3'])) # 隨機選擇一個元素 user1 print(random.sample(['user1','user2','user3'], 2)) # 隨機選擇n(n=2)個元素 ['user3', 'user1'] print(random.choices(['user1','user2','user3'], weights=[100, 10, 10])) # 隨機選擇一個元素,可以指定權重 ['user1']import string print(string.digits) # 獲取所有的數字 print(string.ascii_letters) #所有大小寫字母 print(string.ascii_lowercase) #小寫 print(string.ascii_uppercase) #大寫

2. 第三方模塊

這里需要安裝相應的模塊才能實現:

(venv) D:\python\運維項目>pip install faker -i https://pypi.douban.com/simple (venv) D:\python\運維項目>pip install colorama -i https://pypi.douban.com/simple # 顏色模塊 from colorama import Fore print(Fore.RED + 'Error: 主機不存在') print(Fore.GREEN + 'Success: 主機創建成功')# 生成測試信息的模塊 from faker import Faker fake = Faker('zh-cn') print(fake.name()) print(fake.address()) print(fake.email())

代碼運行結果:

總結

以上是生活随笔為你收集整理的python模块与包的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。