python常用函数import_python 常用函数集合
1、常用函數
round() :? 四舍五入
參數1:要處理的小數
參數2:可選,如果不加,就是不要小數,如果加,就是保留幾位小數
abs() :絕對值函數
max() :列表、字符串,得到最大的元素
min() :列表、字符串,得到最小的元素
hex() : 給一個十進制,將其轉化為十六進制
oct() :給一個十進制,轉化為八進制
bin() :給一個十進制,轉化為二進制
sum() :給一個列表,求和,列表中都是整型
pow() :pow(x, y) == x**y
divmod() : 得到一個元組,是商和余數
random
import random
random.函數名()
random() : 返回[0, 1) 之間的一個隨機數
uniform() :[a, b]之間的一個隨機小數
choice() :字符串、列表,隨機彈出一個元素
randint() : [a, b]之間的一個整數
sample(lt, 3) : 字符串、列表,隨機取出3個元素
shuffle(lt) : 將lt中元素的順序,隨機打亂,返回None
randrange(a,b,step):從a到b的以step為間隔的序列中隨機選出一個整數
time
sleep() :1.5? 2.5? 整數小數都可以
math
e
pi
ceil() : 天花板, 向上取整
floor() :地板,向下取整
sqrt() : 平方根
degrees() : 將弧度轉化為度
180 == pi
radians() : 將度轉化為弧度
sys
sys.argv : 通過python 1.py 參數1 參數2 參數3
在代碼中,就可以通過sys.argv來獲取這些參數
os
os.system() : 可以執行終端的指令
windows下常用
cls : 清除屏幕
ipconfig : 查看ip地址
2、字符串函數(非常重要)
ord() :將ascii字符轉化為十進制
chr() :將十進制轉化為ascii字符
join() :
'*'.join(lt)
將列表中的所有字符串按照*進行拼接
往下這些函數都是字符串的函數,
使用方式1:字符串.函數名(參數)?????? 推薦
使用方式1:str.函數名(字符串, 參數)
ljust(width, 字符) :總共width寬度,左對齊,右邊補字符
rjust() :和ljust一樣,這個是右對齊
center() : 居中顯示,兩邊補字符
zfill() : 前面0填充
strip() : 默認取出兩邊的空白字符,有參數,去除指定字符
lstrip() :只去除左邊的特定字符
rstrip() :只去除右邊的特定字符
replace(old, new, 可選個數) :替換
將new替換old,第三個參數可選,替換幾個
split() : 將字符串按照特定字符切割,將結果保存到列表中
splitlines() :將字符串按照換行進行切割
find() :字符串查找,查找第一次字符串出現的位置,如果找不到,返回 -1
rfind() : 從右邊開始查找,出現的位置,如果沒有,返回 -1
index(): 同find,找不到就報錯
upper() :將字符串中所有字母變成大寫
lower() :將字符串中所有字母變成小寫
capitalize() :字符串首單詞首字母大寫
title() :每個單詞首字母大寫
swapcase() :大小寫互換
count() :返回字符串1在字符串2中出現的次數
len() : 求字符串長度
startswith() : 判斷是不是以某某字符串開頭
endswith() :判斷是不是以某某字符串結尾
自己測試:
isspace() :判斷是不是空格
isalnum() : 判斷是不是數字或者字母
isalpha() :判斷是不是字母
isdecimal() :判斷是不是數字
islower()? : 判斷是不是小寫
isupper() :判斷是不是大寫
istitle() :判斷每個單詞是不是首字母大寫
iscapital() :判斷是否首字母大寫
3、列表函數
append() : 向列表中追加一個元素
extend() :向列表中追加,但不是追加的整體,會拆分列表或者字符串
count() :統計列表中指定元素出現的次數
index() : 找到元素第一次出現的位置
insert() :向指定下標插入一個元素
pop() :默認彈出列表中最后一個元素,也可以根據下標彈出指定元素
remove() : 刪除這個列表中第一個這個元素
clear() : 清空整個列表
reverse() : 將列表逆序
copy() : 拷貝一份列表
sort() : 排序,默認從小到大排列
sort(reverse=1)? 從大到小排列
4、字典函數
get(): 查找字典是否存在鍵,存在返回鍵對應的值,不存在返回None
items() : 用在kv同時遍歷
keys() :獲取所有的鍵
values() : 獲取所有的值
pop() : 根據鍵彈出鍵值對
clear() :清空字典
update() : 用一個字典去更新另一個字典
copy() : 字典的復制
popitem() : 彈出最后一個鍵值對
5、集合函數
add() : 添加一個元素
update() :添加一個列表或者元組(可迭代對象)
clear() : 清空整個集合
pop() : 隨機彈出一個元素
remove() :刪除一個元素,沒有會報錯
discard() : 刪除一個元素,沒有元素不報錯
issubset() :是不是子集
issuperset() : 是不是母集
isdisjoint() : 是不是沒有交集
__str__ 魔法方法,當打印對象的時候,會自動調用這個方法,這個方這個字符串,這個字符串一般都格式為當法必須返回一個字符串,然后當打印對象的時候,就會打印前對象的一些信息
高階函數
map
lt = ['hello','baby','haha','world']
ret = list(map(len,lt))
print(ret)
5???? 4???? 4???? 5
將函數依次作用與列表中每個元素
filter?? 過濾
依次作用與列表中每個元素,如果是真留下,
如果是假,返回false干掉
lt = [1,2,3,4,5,6,7,8,9]
ret = list(filter(lambda x:x %2 = 0,lt))
print(ret)
lt = ['','baby','haha','','love','','dudu']
ret = list(filter(lambda x:boll(x),lt))
print(ret)
reduce? 學習
需要先導入
from? functools import reduce
lt = [1,2,3,4,5,6,7]
ret = reduce(lambda x,y:x+y,lt)
print(ret)
得出所有數得和,
用在下例較好
lt1 = [1,3,9,8]
ret = reduce(lambda x,y : x*10 +y,lt1)
print(ret)
x = 1
y = 3
計算過程
1*10 +3
13*10+9
139*10+8
super().work()? 調用的是上一級的work方法
父類名.work(self) 調用指定父類的work方法
__name__ : 通過類名調用,獲取類名字符串
__dict__ : 通過對象名調用,可以獲取到對象的所有屬性
通過類名調用,可以獲取類的所有詳細信息
__bases__ :通過類名調用,獲取所有的父類
限制屬性動態添加
寫個類屬性
__slots__ = ('age', 'name', 'height')
說明對象動態添加屬性,只能添加上面三個,其它不能添加
__del__ : 在對象銷毀之前執行的方法,這里面一般做一些臨終的操作,比如關閉文件,關閉數據庫鏈接
pickle(常用)
問題:內存(程序、軟件、操作系統都運行在內存中,斷電消失)、硬盤(持久化保存)
作用:將對象序列化保存到文件中
用法:
import pickle
# 將對象保存到文件中,fp要以wb方式打開
pickle.dump(obj, fp)
# 將文件中內容讀到內存中, fp要以rb方式打開
obj = pickle.load(fp)
obj就是那個類的對象
hashlib模塊
md5加密:加密過后,生成一串32位的字符串
指定字符串加密生成的都是唯一的32位字符串
hash = hashlib.md5()
hash.update('admin'.encode('utf-8'))
tmp = hash.hexdigest()
目錄管理
import os? 模塊
os.name : 當前操作系統
os.environ : 顯示所有而環境變量
os.environ.get() :獲取指定的環境變量
下面的用法和字符串、列表函數一樣程度
os.getcwd() : 得到當前文件所在的路徑
os.listdir() : 列出當前目錄下所有的文件,返回一個列表,列表中都是文件名字符串
directory : 文件夾、目錄
以c、d、e等開頭的路徑稱之為絕對路徑
相對路徑:./? 代表的當前目錄?? ../ 代表的上一級目錄
/ : 正斜杠
\ : 反斜杠
windows:目錄分隔符可以使用正斜杠,也可以使用反斜杠
linux:目錄分隔符只能使用正斜杠
os.mkdir() : 創建文件夾
路徑給絕對、相對都可以
如果文件夾存在,再次創建,報錯
所以一般情況,創建的時候要做判斷,判斷文件夾存在不存在,不存在在創建
os.makedirs() : 可以遞歸創建中間目錄
os.rmdir() :只能刪除空目錄
如果目錄非空:遞歸刪除
python的shutil模塊(可以實現多層級目錄遞歸刪除或其他操作)
os.stat() :查看文件或者文件夾的狀態
os.rename() :修改文件或者文件夾名字
os.remove() :刪除文件,
os.system() :執行系統指令
os.path.abspath(path) #返回絕對路徑
os.path.basename(path) #返回文件名
os.path.commonprefix(list) #返回list(多個路徑)中,所有path共有的最長的路徑。
os.path.dirname(path) #返回文件路徑
os.path.exists(path)? #路徑存在則返回True,路徑損壞返回False
os.path.lexists? #路徑存在則返回True,路徑損壞也返回True
os.path.expanduser(path)? #把path中包含的"~"和"~user"轉換成用戶目錄
os.path.expandvars(path)? #根據環境變量的值替換path中包含的”$name”和”${name}”
os.path.getatime(path)? #返回最后一次進入此path的時間。
os.path.getmtime(path)? #返回在此path下最后一次修改的時間。
os.path.getctime(path)? #返回path的大小
os.path.getsize(path)? #返回文件大小,如果文件不存在就返回錯誤
os.path.isabs(path)? #判斷是否為絕對路徑
os.path.isfile(path)? #判斷路徑是否為文件
os.path.isdir(path)? #判斷路徑是否為目錄
os.path.islink(path)? #判斷路徑是否為鏈接
os.path.ismount(path)? #判斷路徑是否為掛載點()
os.path.join(path1[, path2[, ...]])? #把目錄和文件名合成一個路徑
os.path.normcase(path)? #轉換path的大小寫和斜杠
os.path.normpath(path)? #規范path字符串形式
os.path.realpath(path)? #返回path的真實路徑
os.path.relpath(path[, start])? #從start開始計算相對路徑
os.path.samefile(path1, path2)? #判斷目錄或文件是否相同
os.path.sameopenfile(fp1, fp2)? #判斷fp1和fp2是否指向同一文件
os.path.samestat(stat1, stat2)? #判斷stat tuple stat1和stat2是否指向同一個文件
os.path.split(path)? #把路徑分割成dirname和basename,返回一個元組
os.path.splitdrive(path)?? #一般用在windows下,返回驅動器名和路徑組成的元組
os.path.splitext(path)? #分割路徑,返回路徑名和文件擴展名的元組
os.path.splitunc(path)? #把路徑分割為加載點與文件
os.path.walk(path, visit, arg)? #遍歷path,進入每個目錄都調用visit函數,visit函數必須有3個參數(arg, dirname, names),dirname表示當前目錄的目錄名,names代表當前目錄下的所有文件名,args則為walk的第三個參數
os.path.supports_unicode_filenames? #設置是否支持unicode路徑名
mktime() : 將一個時間元組,轉化為時間戳
時間元組是9個值,前六個必須寫,后面3個都寫0就行了
gmtime() : 給一個時間戳,返回時間元組,得到的時間為格林威治時間
東八區 :需要在0時區的基礎上加8個小時
格林威治時間 :0時區的時間
localtime() : 如果不傳遞參數,獲取當前時間的時間元組,如果傳遞參數,獲取指定時間的時間元組,得到的是當前時區的時間元組
asctime() : 給一個時間元組,返回指定格式的時間字符串,如果不給,默認為當前時間
timezone :0時區-當前時區秒數的差值
日期模塊
import datetime
dt_now = datetime.datetime.now()?? 當前日期和時間的日期時間字符串
dt_ziding = datetime.datetime()??? 獲取指定日期和時間的日期時間字符串
dt.strftime() 轉化為指定格式的日期和時間
dt.date() :獲取日期對象中的日期
dt.time() :獲取日期對象中的時間
dt.timestamp() : 獲取日期對象的時間戳
dt.hour\minute\second : 獲取日期對象的時間信息
datetime.datetime.fromtimestamp() : 給一個時間戳,返回指定的日期對象
datetime.timedelta() : 參數有? days, hours, minutes, seconds, 獲取一個日期差值對象,這個對象可以直接和日期對象進行加減操作
重點:
(1)知道什么是時間戳
(2)知道什么是東八區、0時區
(3)時間戳和日期時間的相互轉化
(4)如何轉化為指定格式時間
(5)日期對象的加減操作
日歷模塊
import calendar
calendar(year, w=2, l=1, c=6)? 查看指定年份所有日歷
isleap(year)?? : 判斷這個年份是不是閏年
leapdays(y1, y2) : 計算y1-y2之間所有的閏年
month(year, month, w=2, l=1)? 查看指定年份月份的日歷
hashlib模塊
md5加密:加密過后,生成一串32位的字符串
指定字符串加密生成的都是唯一的32位字符串
hash = hashlib.md5()
hash.update('admin'.encode('utf-8'))
tmp = hash.hexdigest()
總結
以上是生活随笔為你收集整理的python常用函数import_python 常用函数集合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中def root的用法_p
- 下一篇: linux查看tcp连接状态_Linux