程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【python基礎】模塊和包

編輯:Python

模塊與包

  • 一、注意點
  • 二、導入模塊的方式
  • 三、模塊的其他信息
  • 四、包的信息
  • 五、模塊的分類

一、注意點

1. python模塊實質上是一個python文件。
2. 注意: 自定義的python文件的文件名一定不要和已有的模塊沖突。
3. 導入模塊實質上是加載並執行模塊的內容。

二、導入模塊的方式

首先在下建立ck.py文件,裡面書寫函數和內容如下

digits = [1,2,3,4]
def login():
print('hello')

1、第一種導入方式
導入全部

import sys
sys.path.append('E:\pythonProject\linux學習\d7') 添加當前文件為搜索路徑
print(ck.digits)
ck.login()
#結果
[1, 2, 3, 4]
hello

2、部分導入

import sys
sys.path.append('E:\pythonProject\linux學習\day7')
from ck import login
ck.login()
#結果
hello

3、取別名

import sys
sys.path.append('E:\pythonProject\linux學習\day7')
from ck import login as 登錄模塊
登錄模塊()
#結果
hello

三、模塊的其他信息

1、查詢搜索路徑信息
import sys
print(sys.path) # 模塊的查詢路徑

2、查看ck模塊可以使用的變量和函數…
import ck
print(dir(ck)) # 查看hello模塊可以使用的變量和函數…

3、補充信息
print(ck.doc) # 查看模塊的說明文檔
print(ck.file) # 顯示模塊的絕對路徑
print(ck.name) # __name__當模塊被導入時,顯示的是模塊的名稱。

4、關於_name_模塊的具體環節
在ck模塊,自己本身運行(name),顯示的是main函數


digits = [1,2,3,4]
def login():
print('hello')
print(__name__)
#結果
__main__

在主函數裡,導入ck模塊運行(ck.name),顯示的是ck文件名

import ck
print(ck.__name__)

5、__all__導入限制
在ck模塊裡面寫入__all__裡面的信息,才能被外部導入

digits = [1,2,3,4]
name = ['westos','ck']
def login():
print('hello')
print(__name__)
__all__=[digits,login()] 限制了導入的范圍只能在這裡面

導入ck模塊,使用模塊外的函數則失敗

from ck import *
login()
print(digits)
print(name)
#結果
NameError: name 'name' is not defined

四、包的信息

新建立一個py包取名為sdk,會生成一個_init_文件。創建import py包實際上就是執行_init_文件裡面的內容

寫入ali和華為的py文件

導入方法如下
方法1:

from sdk import ali
from sdk import huawei
ali.create_ecs()
huawei.create_ecs()

方法2: 相對麻煩一些, 需要在包的__init__.py添加導入信息。

import sdk
sdk.ali.create_ecs()
sdk.huawei.create_ecs()

五、模塊的分類

1、模塊的分類:
內置模塊:time,datetime,random, string
第三方模塊: requests, pandas, colorama, faker
自定義模塊: 自己編寫的python文件(模塊)或者包

2、時間模塊具體信息
第一種模塊time

import time
print(time.time()) # 計算時間戳
print(time.ctime()) # 字符串的時間, Sun Feb 7 17:09:55 2021
tuple_time = time.localtime() # 元組類型的時間
print(tuple_time.tm_year) # 2022

第二種模塊datetime

from datetime import date, datetime, timedelta
print(date.today()) # 獲取今天的日期
print(datetime.now()) # 獲取當前時間2021-02-07 17:13:17.170345
print(date.today() + timedelta(days=3)) # 獲取3天後的日期
print(date.today() - timedelta(days=3)) # 獲取3天前的日期
print(datetime.now() + timedelta(minutes=10)) # 獲取10分鐘之後的時間信息
print(datetime.now() - timedelta(minutes=10)) # 獲取10分鐘之前的時間信息

3、random模塊

import random
print(random.random()) # 生成0-1之間的小數
print(random.randint(1, 10)) # 生成1-10之間的整數
print(random.choice(['趙妍', '張宏宇', '張仟軍'])) # 隨機選擇一個元素
print(random.sample(['趙妍', '張宏宇', '張仟軍'], 2)) # 隨機選擇n(n=2)個元素
print(random.choices(['趙妍', '張宏宇', '張仟軍'], weights=[100, 10, 10])) # 隨機選擇一個元素,可以指定權重

4、安裝外部模塊
Windows配置全局pip鏡像源: https://blog.csdn.net/u011627161/article/details/92766340

如何安裝模塊?

>pip install colorama -i https://pypi.douban.com/simple


使用外部安裝的顏色

from colorama import Fore
print(Fore.RED + 'Error: 主機不存在')
print(Fore.GREEN + 'Success: 主機創建成功')

結果

5、faker模塊
生成測試信息的模塊

from faker import Faker
fake = Faker('zh-cn') 生成的為中文
print(fake.name()) 生成一個隨機的名字
print(fake.address()) 生成一個隨機的地址
print(fake.email()) 生成一個隨機的郵箱

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved