程序員追求的是編寫更少的代碼實現更強的功能。你不應該浪費寶貴的時間來重新編寫某些功能。Python/ target=_blank class=infotextkey>Python 標準庫包含許多函數來幫助完成編程任務。以下是 18 個非常有用的函數和方法,這些函數和方法可以幫助我們提高效率。
1.reduce()
reduce() 函數能夠遍歷列表或任何其他可迭代數據類型中的每個元素,按照某個功能進行處理。它是來自 functools 模塊。
「reduce() 函數語法:」
reduce(function, iterable[, initializer])
「參數:」
function:函數,有兩個參數
iterable:可迭代對象
initializer:可選,初始參數
「返回值:」
返回函數計算結果。
「實例:」
from functools import reduce
def add(x, y) : # 兩數相加
return x + y
m= [1,2,3,4,5]
print(reduce(add, m)) # 計算列表和
2.split()
split()通過指定分隔符對字符串進行切片。
「split()方法語法:」
str.split(str="", num=string.count(str)).
「參數:」
str -- 分隔符,默認為空格。
num -- 分割次數。
「返回值:」
返回分割后的字符串列表。
「實例:」
str1 = "www.zbxx.NET"
str1 = str1.split(".")
print(str1) #輸出:['www', 'zbxx', 'net']
3.enumerate()
enumerate() 函數返回可迭代對象的長度,并同時循環遍歷其每一項,同時列出數據和數據索引。
「enumerate() 方法的語法:」
enumerate(sequence, [start=0])
「參數:」
sequence -- 序列或其他支持迭代的對象。
start -- 索引起始位置。
「實例:」
m = ["A", "B", "C"]
for i, j in enumerate(m):
print(i, j)
「輸出:」
0 A
1 B
2 C
4.eval()
eval() 函數允許對字符串形式整數或浮點數執行數學運算。
「eval() 方法的語法:」
eval(expression)
「參數:」
expression:表達式。
「返回值:」
返回表達式計算結果。
「實例:」
s = "(7 * 8)/2"
n = eval(s)
print(n) #輸出:28.0
5.round()
round() 方法返回浮點數的四舍五入值。
「round() 方法的語法:」
round( x [, n] )
「參數:」
x -- 數值表達式。
n -- 表示小數點位數,默認值為 0。
「返回值:」
返回浮點數的四舍五入值。
「實例:」
Pi = 3.1415926
print(f'保留兩位小數:{round(Pi, 2)}') # 3.14
print(f'保留三位小數:{round(Pi, 3)}') # 3.142
6.max()
max() 方法返回給定參數的最大值,參數可以為序列。
「實例:」
n = [10, 58, 70, 99]
print(max(n)) #輸出:99
7.min()
min() 方法返回給定參數的最小值,參數可以為序列。
「實例:」
n = [10, 58, 70, 99]
print(min(n)) #輸出:10
8.map()
map() 會根據提供的函數對指定序列做映射。
與 reduce() 一樣,map() 函數允許迭代對象中的每個元素。但是,map() 不是生成單個結果,而是獨立地對每個元素進行操作。
「map() 函數語法:」
map(function, iterable, ...)
「參數:」
function:函數
iterable:一個或多個序列
「返回值:」
返回迭代器。
「實例:」
def square(x): # 計算平方數
return x ** 2
m= [1,2,3,4,5]
print(list(map(square, m)))
#輸出:[1, 4, 9, 16, 25]
9.getattr()
getattr() 返回對象的屬性值。它接受兩個參數:類和目標屬性名稱。
「getattr() 語法:」
getattr(object, name)
「參數:」
object:對象。
name:字符串,對象屬性。
「返回值:」
返回對象屬性值。
「實例:」
class myclass(object):
url = "https://www.zbxx.net"
a = myclass()
b= getattr(a, 'url')
print(b)
#輸出:https://www.zbxx.net
10.Append()
append() 方法用于在列表末尾添加新的元素。
「append()方法語法:」
list.append(obj)
「參數:」
obj -- 添加到列表末尾的元素。
「實例:」
list1 = [1, 2, 3]
list1.append(4)
list1.append(5)
print(list1)
#輸出:[1, 2, 3, 4, 5]
11.strip()
strip() 方法用于移除字符串頭尾指定的字符(默認為空格)。
「strip()方法語法:」
str.strip([chars]);
「參數:」
chars -- 移除字符串頭尾指定的字符。
「返回值:」
返回移除字符串頭尾指定的字符生成的新字符串。
「實例:」
str1 = "0000000Python!0000000"
str1 = str1.strip("0")
print(str1)
#輸出:Python!
12.abs()
abs() 函數接受一個參數,并返回該參數的絕對值。
「abs() 方法的語法:」
abs(x)
「參數:」
x -- 可以是整數、浮點數、復數。
「返回值:」
函數返回 x(數字)的絕對值,如果參數是一個復數,則返回它的模。
「實例:」
x = -1
x =abs(x)
print(x) # 1
y =-1.5
y =abs(y)
print(y) # 1.5
z = 3 - 0.5j
z =abs(z)
print(z) # 3.04138126514911
13.upper()
upper() 方法將字符串中的小寫字母轉為大寫字母。
「upper()方法語法:」
str.upper()
「參數:」
無
「返回值:」
返回小寫字母轉為大寫字母的字符串。
「實例:」
str1 = "Hello World!"
str1 = str1.upper()
print(str1) # HELLO WORLD!
14.lower()
lower() 方法轉換字符串中所有大寫字符為小寫。
「lower()方法語法:」
str.lower()
「參數:」
無
「返回值:」
返回將字符串中所有大寫字符轉換為小寫后生成的字符串。
「實例:」
str1 = "Hello World!"
str1 = str1.lower()
print(str1) # hello world!
15.sorted()
sorted() 函數對所有可迭代的對象進行排序操作。
sort 與 sorted 區別:sort 是對列表的方法,sorted 可以對所有可迭代的對象進行排序。
「sorted() 語法:」
sorted(iterable, reverse=False)
「參數:」
iterable -- 可迭代對象。
reverse -- 排序規則,reverse = True 降序 , reverse = False 升序(默認)。
「返回值:」
返回重新排序的列表。
「實例:」
set1 = {9, 5, 2, 7}
dict1 = {"A":1, "D":7, "C":3, "F":6}
print(sorted(set1, reverse=True))
# [9, 7, 5, 2]
print(sorted(dict1.values()))
# [1, 3, 6, 7]
16.join()
join() 方法用于將序列中的元素以指定的字符連接生成一個新的字符串。
「join()方法語法:」
str.join(sequence)
「參數:」
sequence -- 要連接的元素序列。
「返回值:」
返回通過指定字符連接序列中元素后生成的新字符串。
「實例:」
url = ["www", "zbxx", "net"]
url = ".".join(url)
print(url) # www.zbxx.net
17.replace()
replace() 方法替換字符串中的子字符串。
「replace()方法語法:」
str.replace(old, new[, max])
「參數:」
old -- 將被替換的子字符串。
new -- 用于替換 old 的字符串。
max -- 可選, 替換不超過 max 次。
「返回值:」
返回替換后生成的新字符串。
「實例:」
str1 = "www_zbxx_net"
str1 = str1.replace("_", ".")
print ("推薦網站:", str1)
# 推薦網站: www.zbxx.net
18.capitalize()
capitalize()將字符串的第一個字母變成大寫,其他字母變小寫。
「capitalize()方法語法:」
str.capitalize()
「參數:」
無
「返回值:」
返回一個首字母大寫的字符串。
「實例:」
str1 = "hello World!"
str1 = str1.capitalize()
print (str1)
# Hello world!