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