python的常用內(nèi)置函數(shù)
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括猇亭網(wǎng)站建設(shè)、猇亭網(wǎng)站制作、猇亭網(wǎng)頁(yè)制作以及猇亭網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,猇亭網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到猇亭省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!
1.abs() 函數(shù)返回?cái)?shù)字的絕對(duì)值
abs(-40)=40
2. dict() 函數(shù)用于創(chuàng)建一個(gè)字典
dict()
{} ? ? ?#創(chuàng)建一個(gè)空字典類(lèi)似于u={},字典的存取方式一般為key-value
例如u = {"username":"tom", ?"age":18}
3. help() 函數(shù)用于查看函數(shù)或模塊用途的詳細(xì)說(shuō)明
help('math')查看math模塊的用處
a=[1,2,3,4]
help(a)查看列表list幫助信息
4.dir()獲得當(dāng)前模塊的屬性列表
dir(help)
['__call__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
5.min() 方法返回給定參數(shù)的最小值 /參數(shù)可以為序列
a=? min(10,20,30,40)
a
10
6. next() 返回迭代器的下一個(gè)項(xiàng)目
it = iter([1, 2, 3, 4, 5])
next(it)
1
next(it)
2
7. id() 函數(shù)用于獲取對(duì)象的內(nèi)存地址
a=12
id(a)
1550569552
8.enumerate() 函數(shù)用于將一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在 for 循環(huán)當(dāng)中。
a=["tom","marry","leblan"]
list(enumerate(a))
[(0, 'tom'), (1, 'marry'), (2, 'leblan')]
9. oct() 函數(shù)將一個(gè)整數(shù)轉(zhuǎn)換成8進(jìn)制字符串
oct(15)
'0o17'
oct(10)
'0o12'
10. bin() 返回一個(gè)整數(shù) int 或者長(zhǎng)整數(shù) long int 的二進(jìn)制表示
bin(10)
'0b1010'
bin(15)
'0b1111'
11.eval() 函數(shù)用來(lái)執(zhí)行一個(gè)字符串表達(dá)式,并返回表達(dá)式的值
eval('2+2')
4
12.int() 函數(shù)用于將一個(gè)字符串會(huì)數(shù)字轉(zhuǎn)換為整型
int(3)
3
int(3.6)
3
int(3.9)
3
int(4.0)
4
13.open() 函數(shù)用于打開(kāi)一個(gè)文件,創(chuàng)建一個(gè)file對(duì)象,相關(guān)的方法才可以調(diào)用它進(jìn)行讀寫(xiě)
f=open('test.txt')
14.str() 函數(shù)將對(duì)象轉(zhuǎn)化為適于人閱讀的形式
str(3)
'3'
15. bool() 函數(shù)用于將給定參數(shù)轉(zhuǎn)換為布爾類(lèi)型,如果沒(méi)有參數(shù),返回 False
bool()
False
bool(1)
True
bool(10)
True
bool(10.0)
True
16.isinstance() 函數(shù)來(lái)判斷一個(gè)對(duì)象是否是一個(gè)已知的類(lèi)型
a=5
isinstance(a,int)
True
isinstance(a,str)
False
17. sum() 方法對(duì)系列進(jìn)行求和計(jì)算
sum([1,2,3],5)
11
sum([1,2,3])
6
18. super() 函數(shù)用于調(diào)用下一個(gè)父類(lèi)(超類(lèi))并返回該父類(lèi)實(shí)例的方法。super 是用來(lái)解決多重繼承問(wèn)題的,直接用類(lèi)名調(diào)用父類(lèi)方法
class ? User(object):
? def__init__(self):
class Persons(User):
? ? ? ? super(Persons,self).__init__()
19. float() 函數(shù)用于將整數(shù)和字符串轉(zhuǎn)換成浮點(diǎn)數(shù)
float(1)
1.0
float(10)
10.0
20. iter() 函數(shù)用來(lái)生成迭代器
a=[1,2,3,4,5,6]
iter(a)
for i in iter(a):
... ? ? ? ? print(i)
...
1
2
3
4
5
6
21.tuple 函數(shù)將列表轉(zhuǎn)換為元組
a=[1,2,3,4,5,6]
tuple(a)
(1, 2, 3, 4, 5, 6)
22.len() 方法返回對(duì)象(字符、列表、元組等)長(zhǎng)度或項(xiàng)目個(gè)數(shù)
s = "playbasketball"
len(s)
14
a=[1,2,3,4,5,6]
len(a)
6
23. property() 函數(shù)的作用是在新式類(lèi)中返回屬性值
class User(object):
?def __init__(self,name):
? ? ? ? ? self.name = name
def get_name(self):
? ? ? ? ? return self.get_name
@property
?def name(self):
? ? ? ? ?return self_name
24.type() 函數(shù)返回對(duì)象的類(lèi)型
25.list() 方法用于將元組轉(zhuǎn)換為列表
b=(1,2,3,4,5,6)
list(b)
[1, 2, 3, 4, 5, 6]
26.range() 函數(shù)可創(chuàng)建一個(gè)整數(shù)列表,一般用在 for 循環(huán)中
range(10)
range(0, 10)
range(10,20)
range(10, 20)
27. getattr() 函數(shù)用于返回一個(gè)對(duì)象屬性值
class w(object):
... ? ? ? ? ? ? s=5
...
a = w()
getattr(a,'s')
5
28. complex() 函數(shù)用于創(chuàng)建一個(gè)復(fù)數(shù)或者轉(zhuǎn)化一個(gè)字符串或數(shù)為復(fù)數(shù)。如果第一個(gè)參數(shù)為字符串,則不需要指定第二個(gè)參數(shù)
complex(1,2)
(1+2j)
complex(1)
(1+0j)
complex("1")
(1+0j)
29.max() 方法返回給定參數(shù)的最大值,參數(shù)可以為序列
b=(1,2,3,4,5,6)
max(b)
6
30. round() 方法返回浮點(diǎn)數(shù)x的四舍五入值
round(10.56)
11
round(10.45)
10
round(10.45,1)
10.4
round(10.56,1)
10.6
round(10.565,2)
10.56
31. delattr 函數(shù)用于刪除屬性
class Num(object):
...? ? a=1
...? ? b=2
...? ? c=3.
.. print1 = Num()
print('a=',print1.a)
a= 1
print('b=',print1.b)
b= 2
print('c=',print1.c)
c= 3
delattr(Num,'b')
print('b=',print1.b)
Traceback (most recent call last):? File "", line 1, inAttributeError: 'Num' object has no attribute 'b'
32. hash() 用于獲取取一個(gè)對(duì)象(字符串或者數(shù)值等)的哈希值
hash(2)
2
hash("tom")
-1675102375494872622
33. set() 函數(shù)創(chuàng)建一個(gè)無(wú)序不重復(fù)元素集,可進(jìn)行關(guān)系測(cè)試,刪除重復(fù)數(shù)據(jù),還可以計(jì)算交集、差集、并集等。
a= set("tom")
b = set("marrt")
a,b
({'t', 'm', 'o'}, {'m', 't', 'a', 'r'})
ab#交集
{'t', 'm'}
a|b#并集
{'t', 'm', 'r', 'o', 'a'}
a-b#差集
{'o'}
python內(nèi)置關(guān)于排序的工具主要有兩個(gè)一個(gè)是列表自帶的 sort() 方法,另外一個(gè)是 sorted() 函數(shù)。Python 列表內(nèi)置方法可以直接修改列表。而 sorted() 內(nèi)置函數(shù)從一個(gè)可迭代對(duì)象(列表,元組等都可以)構(gòu)建一個(gè)新的排序列表。其函數(shù)原型分別如下:
對(duì)列表進(jìn)行默認(rèn)排序
從函數(shù)原型來(lái)看,可以看到兩者都具有兩個(gè)可選參數(shù),它們都必須指定為關(guān)鍵字參數(shù)。
key 指定帶有單個(gè)參數(shù)的函數(shù),用于從 iterable 的每個(gè)元素中提取用于比較的鍵 (例如 key=str.lower)。默認(rèn)值為 None (直接比較元素)。 key 形參的值應(yīng)該是個(gè)函數(shù)(或其他可調(diào)用對(duì)象),它接受一個(gè)參數(shù)并返回一個(gè)用于排序的鍵。
假設(shè)有其他類(lèi)型的變量,比如一個(gè)自定義的類(lèi)或者列表中又是一個(gè)列表。以官網(wǎng)例子為例有這樣一個(gè)列表,其元素為元組,
可以用以下方式按照年齡排序
類(lèi)似的有自定義類(lèi)
可以用如下方式進(jìn)行排序
也可以顯示定義一個(gè)函數(shù),且只有一個(gè)參數(shù),返回用于排序的鍵,比如
總之就是定義一個(gè)函數(shù)返回一個(gè)用于排序的鍵,可以用lambda函數(shù)或者 def 定義都可以。
上面實(shí)現(xiàn)的簡(jiǎn)單函數(shù)實(shí)際就是實(shí)現(xiàn)了返回一個(gè)有序結(jié)構(gòu)的第 n 的元素,或者某個(gè)類(lèi)中的某個(gè)屬性,因此 Python 提供了便利功能,使訪(fǎng)問(wèn)器功能更容易,更快捷。operator 模塊有 itemgetter() 、 attrgetter() 函數(shù)。分別完成返回第 n 個(gè)元素,某個(gè)屬性功能。上面的排序可以用如下方式進(jìn)行實(shí)現(xiàn)
在python2中,sort有一個(gè) cmp 參數(shù),即用一個(gè)函數(shù)來(lái)自定義比較,在python3中這種方式被取消。為了繼承類(lèi)似的用法,在 Python 3.2 中, functools.cmp_to_key() 函數(shù)被添加到標(biāo)準(zhǔn)庫(kù)中的 functools 模塊中。
這種作用先定義如何比較兩個(gè)變量,以上面的學(xué)生列表按照年齡排序?yàn)槔?/p>
這種做法自定義比較函數(shù)接收兩個(gè)形參,返回比較結(jié)果(bool),而新式方法接受一個(gè)參數(shù),返回的是比較的鍵。
假設(shè)有字典 d = {'b':2, 'a':1,'c':8,'d':4} ,則可以通過(guò)以下方式對(duì)字典按照鍵和值進(jìn)行排序
在寫(xiě)python程序時(shí),常能用到一些函數(shù)和方法,總結(jié)一下,保存起來(lái),方便查詢(xún)。
一、內(nèi)置函數(shù)
# abs()獲取數(shù)字絕對(duì)值
# chr(i)數(shù)字轉(zhuǎn)換為字符類(lèi)型
# divmod() 獲取兩個(gè)數(shù)值的商和余數(shù)
# enumerate() 將可遍歷序列組合為索引序列
# float()轉(zhuǎn)換為浮點(diǎn)數(shù)
# format() 格式化字符串
# int()轉(zhuǎn)換為整數(shù)?
# input() 接受用戶(hù)輸入內(nèi)容
# len() 計(jì)算元素個(gè)數(shù)
# max() 返回最大值
# min() 返回最小值
# math.ceil() 返回指定數(shù)值的上舍整數(shù)
# open()打開(kāi)文件并返回文件對(duì)象
# pow() 冪運(yùn)算
# print()打印輸出?
# range() 生成器
# reversed()反轉(zhuǎn)所有元素
# round()四舍五入求值
# sorted()對(duì)可迭代對(duì)象進(jìn)行排序?
# str() 轉(zhuǎn)換為字符串
# sum() 求和
# set() 創(chuàng)建集合
# tuple() 將序列轉(zhuǎn)換為元組
# zip()將可迭代對(duì)象打包成元組
二、方法
# append() 添加列表元素
# capitalize()首字母轉(zhuǎn)換為大寫(xiě)?
# count()字符出現(xiàn)次數(shù)
# close() 關(guān)閉文件
# decode() 解碼字符串
# dict.keys() 獲取字典所有的鍵
# find()字符串首次出現(xiàn)的索引
# f.read() 讀取文件內(nèi)容
# dict.update()更新字典
# dict.items() 獲取字典鍵/值對(duì)
# dict.get() 返回指定鍵的值
# encode() 編碼字符串
# list.sort() 排序列表元素
# index() 元素首次出現(xiàn)的索引
# isdigit() 判斷字符串是否只由數(shù)字組成
# isupper() 是否所有字母都為大寫(xiě)
# isnum() 判斷字符串是否由字母和數(shù)字組成
# islower() 是否所有字母都為小寫(xiě)
# isdecimal() 檢查字符串是否只包含十進(jìn)制字符
# isalpha() 檢測(cè)字符串是否為純字母
# random.shuffle()隨機(jī)排序
# random.sample()返回?zé)o重復(fù)隨機(jī)數(shù)列表
# random.choice() 返回一個(gè)隨機(jī)元素
# random.randint() 生成指定范圍的隨機(jī)整數(shù)
# random.randrange() 生成指定范圍的指定遞增基數(shù)隨機(jī)整數(shù)
# pop() 刪除列表中的元素
# remove()刪除列表中的指定元素
# strip()去除空格
# lstrip()去除左側(cè)空格
# rstrip() 去除右側(cè)空格
# readline() 讀取單行內(nèi)容
# root.after() Tkinter中等待一段時(shí)間后再執(zhí)行命令
# str.isnumeric() 驗(yàn)證字符串是否為數(shù)字(適用于Unicode)
# split()分割字符串
# ord() 將字符轉(zhuǎn)換為整數(shù)
# replace() 字符串替換
# ljust() 左對(duì)齊填充
# rjust() 左對(duì)齊填充
# readlines() 讀取所有行內(nèi)容
# datetime.datetime.now() 返回指定時(shí)區(qū)的本地日期時(shí)間
# datetime.datetime.today() 獲取當(dāng)前本地日期的date對(duì)象
# datetime.utcnow() 返回當(dāng)前UTC時(shí)間的datetime對(duì)象
# time.strptime()把時(shí)間字符串解析為元組
# time.time()返回當(dāng)前時(shí)間的時(shí)間戳
# time.sleep()暫停指定秒數(shù)
# time.strftime() 返回指定格式的日期字符串
# time.mktime() 接收時(shí)間元組并返回時(shí)間戳
# os.getcwd() 獲取當(dāng)前工作目錄
# os.listdir() 獲取指定路徑下的目錄和文件列表
# os.makedirs() 遞歸創(chuàng)建目錄
# os.rename() 重命名目錄或文件
# os.path.exists() 判斷路徑是否存在
# upper() 全部轉(zhuǎn)換為大寫(xiě)字母
# lower()? 全部轉(zhuǎn)換為小寫(xiě)字母
# sys.stdout.write() 標(biāo)準(zhǔn)輸出打印
# sys.stdout.flush()刷新輸出?
# shutil.copy() 復(fù)制單個(gè)文件到另一文件或目錄
# write() 寫(xiě)入文件內(nèi)容
# winsound.Beep() 打開(kāi)電腦揚(yáng)聲器
# zfill() 在字符串前面填充0
三、循環(huán)語(yǔ)句
# break終止當(dāng)前循環(huán)
# continue 終止本循環(huán)進(jìn)入下一次循環(huán)
# with open() as file 以with語(yǔ)句打開(kāi)文件(數(shù)據(jù)保存)
四、轉(zhuǎn)義字符
\ 行尾續(xù)行符
\' 單引號(hào)?
\'' 雙引號(hào)
\a 響鈴
\e 轉(zhuǎn)義
\n 換行
\t 橫向制表符
\f 換頁(yè)
\xyy 十六進(jìn)制yy代表的字符
\\反斜杠符號(hào)
\b 退格
\000 空
\v 縱向制表符
\r 回車(chē)
\0yy 八進(jìn)制yy代表的字符
\other 其他的字符以普通格式輸出