內建方法與模組
阿新 • • 發佈:2020-12-08
一. 內建函式
1.abs 絕對值函式
res = abs(-1) print(res)View Code
2. round 四捨五入(奇數進偶數捨棄)
res = round(3.69) res = round(3.5) res = round(4.5) res = round(4.51) print(res)View Code
3. sum 計算一個序列的和
res = round(3.69) res = round(3.5) res = round(4.5) res = round(4.51) print(res) # sum 計算一個序列得和 lst =[1,2,3,4] resView Code= sum(lst) print(res) lst = [100,200,20,-3] # max 獲取一個序列裡邊的最大值 res = max(lst) # min 獲取一個序列裡邊的最小值 res = min(lst) print(res) # 其他方法 lst = sorted(lst) maxval = lst[-1] minval = lst[0] print(maxval,minval)
4. max與min
"""return 最終返回的資料和傳入到自定義函式中的資料是一致的""" # 練習1 container = [ ("何子豪",23),("李雅琪View Code",19),("王雨涵",18)] def func(n): # print(n) # 返回的是年齡,按照年齡找到最大值 return n[-1] res = max(container,key=func) res = min(container,key=func) print("<====================>") print(res) # 練習2 print("<====================>") container = {"何子豪":100,"李雅琪":200,"王雨涵":300} def func(n): print(container[n]) # 返回的是年齡,按照年齡找到最大值最小值 return container[n] res = max(container,key=func) res = min(container,key=func) print(res)
5. pow 計算某個數值的x次方
res = pow(2,3) # 前2個引數的結果和第三個引數取餘 res = pow(2,3,5) print(res)
7.bin 將10進位制資料轉化為二進位制
res = bin(255) print(res)
8.oct 將10進位制資料轉化為八進位制
res = oct(8) print(res)
9. hex 將10進位制資料轉化為16進位制
res = hex(255) print(res)
10 .chr 將ascll編碼轉換為字元
res = chr(97) print(res)
11 ord 將字元轉換為ascll編碼
res = ord("a") print(res)
12eval 將字串當作python程式碼執行 (慎用)
strvar = "print(123434343434)" strvar = "a=100" # print(strvar) # eval(strvar) error # exec 將字串當作python程式碼執行(功能更強大) (慎用) strvar = "a=100" strvar = """ for i in range(50): print(i) """ exec(strvar)
13 repr 不轉義字元輸出字串[等價於元字串]
pathvar = "D:\notepadd++\t" print(repr(pathvar))View Code
14hash 生成雜湊值
res1 = hash("a") res2 = hash("a") print(res1,res2) # setvar = {"a","b","c"} # setvar = {1,2,3} # print(setvar) with open("筆記1.py",mode="r+",encoding="utf-8") as fp1, open("筆記2.py",mode="r+",encoding="utf-8") as fp2: res1 = hash(fp1.read()) res2 = hash(fp2.read()) if res1 == res2: print("檔案內容一致") else: print("檔案內容不一致")View Code
二 .數學模組
要先引入 import math
1ceil() 向上取整操作 (對比內建round)
res = math.ceil(3.1) res = math.ceil(-3.5) print(res)View Code
2 .floor() 向下取整操作 (對比內建round)
res = math.floor(4.199) res = math.floor(-4.199) print(res)View Code
3.pow() 計算一個數值的N次方(結果為浮點數) (對比內建pow)
res = math.pow(2,3) # math中的pow方法沒有三個引數,只有2個; # res = math.pow(2,3,2) error print(res)View Code
4.sqrt() 開平方運算(結果浮點數)
res = math.sqrt(9) print(res) # 3.0
5.fabs() 計算一個數值的絕對值 (結果浮點數) (對比內建abs)
res = math.fabs(-999) print(res)View Code
6.modf() 將一個數值拆分為整數和小數兩部分組成元組
res = math.modf(3.567) print(res)View Code
7 .copysign() 將引數第二個數值的正負號拷貝給第一個 (返回一個小數)
res = math.copysign(-18,-19) print(res)View Code
8 .fsum() 將一個容器資料中的資料進行求和運算 (結果浮點數)(對比內建sum)
lst = [1,2,3,4] print(math.fsum(lst))View Code
9. 圓周率常數 pi
res = math.pi print(res)View Code
三. 隨機模組 random
先引入import random
1 random() 獲取隨機0-1之間的小數(左閉右開) 0 <= x < 1
res = random.random() print(res)View Code
2.randrange() 隨機獲取指定範圍內的整數(包含開始值,不包含結束值,間隔值)
res = random.randrange(5) print(res) # 二個引數 res = random.randrange(1,7) print(res) # 三個引數 res = random.randrange(1,10,3) # 1 4 7 print(res)View Code
3.uniform() 獲取指定範圍內的隨機小數(左閉右開) 2 <= x < 4
""" a = 4 , b = 2 return a + (b-a) * self.random() return 4 + (-2) * [0,1) 如果是0的情況: 4 如果是1的情況: 2 2 < x <= 4 """ res = random.uniform(2,4) # 2 <= x < 4 res = random.uniform(4,2) # 2 < x <= 4 print(res)View Code
4. choice() 隨機獲取序列中的值(多選一)
lst = ["耿擇時","孫翔宇","家營和","張銀"] res = random.choice(lst) print(res) def mychoice(lst): num = random.randrange(0,len(lst)) # 0,4 return lst[num] print(mychoice(lst)) # 優化程式碼 mychoice = lambda lst : lst[ random.randrange(0,len(lst)) ] print( mychoice(lst) )View Code
5 .sample() 隨機獲取序列中的值(多選多) [返回列表]
lst = ["耿擇時","孫翔宇","家營和","張銀"] res = random.sample(lst,2) print(res) # 返回列表View Code
6.shuffle() 隨機打亂序列中的值(直接打亂原序列)
lst = [1,2,3,4,45,5,6] random.shuffle(lst) print(lst)View Code
7 . 驗證碼功能
def yanzhengma(): strvar = '' for i in range(4): num = str(random.randrange(10)) s_c= chr(random.randrange(97,123)) b_c= chr(random.randrange(65,91)) lst = [num,s_c,b_c] strvar += random.choice(lst) return strvar res = yanzhengma() print(res)