Python之其他內置函數---第九天

(1)abs()——求絕對值
(2)all()——所有的可迭代對象的布爾值爲True則爲True,爲空的可迭代對象也爲True
(3)any()——和all類似,只是有一個爲True,則爲True
(4)bool()——驗證字符串的布爾類型
(5)bytes()——將字符串編碼

  • 用什麼方式編碼,就用什麼方式解碼
  • 不寫,默認decode爲utf-8的解碼方式
  • ascii碼不能編寫中文
    (6)chr()——在range(256)內,返回一個對應的字符
print(chr(97))

#輸出結果:
a

(7)ord()——相反的,輸入字符,返回對應數字位置

print(ord("a"))

#輸出結果:
97

(8)dir()——查看函數內部的方法

print(dir(dict))

#輸出結果:
['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

(9)divmod(a,b)——求商和餘數,a,b均爲數字

divmod(7, 2)

#輸出結果:
(3,1

(10)eval()——用來執行一個字符串表達式,並返回表達式的值

x=6
print(eval('3 * x'))

#輸出結果:
18

(11)hash()——求字符串的哈希值

  • 可哈希的數據類型爲不可變數據類型,不可哈希的數據類型爲可變數據類型
  • 無論你輸入的字符串多長,都不會隨着你字符串長度的增加而增加,hash長度是固定的,用於校驗傳輸過程中是否被第三方木馬修改,驗證 hash 值是否匹配即可驗證程序是否帶木馬
  • 不可根據輸出的字符串進行反推

(12)help()——用於查看函數或模塊用途的詳細說明
(13)bin()——10進制轉換成2進制
(14)hex()——10進制轉換成16進制
(15)oct()——10進制轉換成8進制
(16)isinstance()——判斷自定義元素是否是所選類型

print(isinstance(2,int))

#輸出結果:True

(17)globals()——查看全局變量
(18)locals()——查看局部變量
(19)pow()——求乘方

print(pow(2,3))          #求23次方
print(pow(2,3,2))        #求23次方再對2取餘

#輸出結果:
8
0

(20)min()——求最小值
(21)max()——求最大值

l = [12,45,787,9567]
print(min(l))
print(max(l))

#輸出結果:
12
9567

(22)zip()——“拉鍊輸出”一一對應的,左側是序列類型

print(list(zip(("a","b","c"),(1,2,3))))
print(list(zip(("a","b","c"),(1,2,3,4))))
print(list(zip(("a","b","c"),(1,2))))

p={"name":"alex","age":18}
print(list(zip(p.values(),p.keys())))

#輸出結果:
[('a', 1), ('b', 2), ('c', 3)]
[('a', 1), ('b', 2), ('c', 3)]
[('a', 1), ('b', 2)]
[('alex', 'name'), (18, 'age')]

(23)max的高級用法

  • max函數處理的是可迭代對象,相當於一個for循環取出每個元素進行比較,注意,不同函數類型不能進行比較
  • 每個元素間進行比較,是從每個元素的第一個位置依次比較,如果這一個位置分出大小,後面的都不需要比較了,直接得出這兩個元素的大小

正常求字典中最大的keys及values

age_dict={"age1432434":19,"age3":98,"age2":78,"age4":65}
print(max(age_dict.keys()))
print(max(age_dict.values()))

#輸出結果:
age4
98

使用zip求年齡最大的,並且輸出其key的值

age_dict={"age1":19,"age3":98,"age2":78,"age4":65}

for item in zip(age_dict.values(),age_dict.keys()):
    print(item)

print("列表中年齡最大的列表是:",max(zip(age_dict.values(),age_dict.keys())))

#輸出結果:
(19, 'age1')
(98, 'age3')
(78, 'age2')
(65, 'age4')
列表中年齡最大的列表是: [98, 'age3']

使用lambda求最大值

people=[
    {"name":"alex0","age":18},
    {"name":"alex1","age":28},
    {"name":"alex2","age":38},
    {"name":"alex3","age":48}
]

print(max(people,key=lambda dic:dic["age"]))

#輸出結果:
{'name': 'alex3', 'age': 48}

(24)sorted()——排序,只能比較同一類型的,否則報錯

l = ["a","s","d","f","h"]
n = [1,3,5,62,56,24,31]
print(sorted(l))
print(sorted(n))

#輸出結果:
['a', 'd', 'f', 'h', 's']
[1, 3, 5, 24, 31, 56, 62]

(25)type()——查看類型
(26)sum()——求和,注意,裏面要用元組形式

print(sum([1,2]))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章