你不該不知道的Python 20個函數使用方法

itbang 發佈 2021-09-30T13:52:14+00:00

Python 標準庫包含許多可幫助您完成編程任務的函數。編寫更少的代碼是編寫更具可讀性的功能性程序的好方法。 您不應該浪費寶貴的時間來重新創建現成的 Python 函數或方法。 不過,如果您不熟悉 Python 的內置工具,您可能最終會這樣做。Python 函數教程1.

Python 標準庫包含許多可幫助您完成編程任務的函數。編寫更少的代碼是編寫更具可讀性的功能性程序的好方法。 您不應該浪費寶貴的時間來重新創建現成的 PYTHON 函數或方法。 不過,如果您不熟悉 Python 的內置工具,您可能最終會這樣做。

1. reduce()

Python 的 reduce() 函數疊代列表中的每一項或任何其他可疊代數據類型,並返回單個值。 它是 Python 內置的 functools 類的方法之一。

下面是一個如何使用 reduce 的例子:

from functools import reduce
def add_num(a, b):
   return a+b
a = [1, 2, 3, 10]
print(reduce(add_num, a))
Output: 16

您還可以使用 reduce() 函數格式化字符串列表:

from functools import reduce
def add_str(a,b):
    return a+' '+b
a = ['I', 'Love', 'DaYanZai', '.', 'Me']
print(reduce(add_str, a))
Output: I Love DaYanZai.Me

2. split()

split() 函數根據設置的條件拆分字符串。 您可以使用它從 Web 表單中拆分字符串值。 或者您甚至可以使用它來計算一段文本中的單詞數。

下面的示例代碼在有空格的地方拆分列表:

words = "column1 column2 column3"
words = words.split(" ")
print(words)
Output: ['column1', 'column2', 'column3']

3.enumerate()

enumerate() 函數返回可疊代對象的長度並同時循環遍歷其項。 因此,在以可疊代數據類型列印每個項目時,它同時輸出其索引。

假設您希望用戶查看您的資料庫中可用的項目列表。 您可以將它們傳遞到列表中並使用 enumerate() 函數將其作為編號列表返回。

以下是使用 enumerate() 方法實現此目的的方法:

fruits = ["grape", "apple", "mango"]
for i, j in enumerate(fruits):
    print(i, j)
Output:
0 grape
1 apple
2 mango

然而,您可能已經浪費了使用以下方法來實現這一目標的寶貴時間:

fruits = ["grape", "apple", "mango"]
for i in range(len(fruits)):
    print(i, fruits[i])

除了速度更快之外,枚舉列表還可以讓您自定義編號項目的顯示方式。

本質上,您可以決定從 1 開始編號,而不是從 0 開始,方法是包含一個 start 參數:

for i, j in enumerate(fruits, start=1):
    print(i, j)
Output:
1 grape
2 apple
3 mango

4. eval()

Python 的 eval() 函數允許您對整數或浮點數執行數學運算,即使是字符串形式。 如果數學計算採用字符串格式,通常會很有幫助。

這是它的工作原理:

g = "(4 * 5)/4"
d = eval(g)
print(d)
Output: 5.0

5. round()

您可以使用 round() 將數學運算的結果四捨五入為特定數量的有效數字:

raw_average = (4+5+7/3)
rounded_average=round(raw_average, 2)
print("原始平均值是:", raw_average)
print("四捨五入的平均值是:", rounded_average)
Output:
原始平均值是: 11.333333333333334
四捨五入的平均值是: 11.33

6. max()

max() 函數返回可疊代對象中排名最高的項目。 但是,請注意不要將其與最常出現的值混淆。

讓我們使用 max() 函數列印下面字典中排名最高的值:

b = {1:"grape", 2:"apple", 3:"applesss", 4:"zebra", 5:"mango"}
print(max(b.values()))
Output: zebra

上面的代碼按字母順序排列字典中的項目並列印最後一個。

現在使用 max() 函數查看列表中的最大整數:

a = [1, 65, 7, 9]
print(max(a))
Output: 65

7. min()

min() 函數的作用與 max() 的作用相反:

fruits = ["grape", "apple", "applesss", "zebra", "mango"]
b = {1:"grape", 2:"apple", 3:"applesss", 4:"zebra", 5:"mango"}
a = [1, 65, 7, 9]
print(min(a))
print(min(b.values()))
Output:
1
apple

8. map()

與 reduce() 一樣,map() 函數允許您疊代可疊代對象中的每個項目。 然而,map() 不是產生單個結果,而是獨立地對每個項目進行操作。

最終,您可以使用 map() 函數對兩個或多個列表執行數學運算。 您甚至可以使用它來操作包含任何數據類型的數組。

以下是如何使用 map() 函數查找包含整數的兩個列表的組合總和:

b = [1, 3, 4, 6]
a = [1, 65, 7, 9]
# 聲明一個單獨的函數來處理加法:
def add(a, b):
    return a+b
# 將函數和兩個列表傳遞給內置的 map() 函數:
a = sum(map(add, b, a))
print(a)
Output: 96

9. getattr()

Python 的 getattr() 返回對象的屬性。 它接受兩個參數:類和目標屬性名稱。

下面是一個例子:

class ty:
    def __init__(self, number, name):
        self.number = number
        self.name = name
a = ty(5*8, "Idowu")
b = getattr(a, 'name')
print(b)
Output:Idowu

10.append()

無論您是深入研究 Web 開發還是使用 Python 進行機器學習,append() 都是您經常需要的另一種 Python 方法。 它的工作原理是將新數據寫入列表而不覆蓋其原始內容。

下面的示例將整數範圍內的每個項目乘以 3 並將它們寫入現有列表:

nums = [1, 2, 3]
appendedlist = [2, 4]
for i in nums:
    a = i*3
    appendedlist.append(a)
print(appendedlist)
Output:[2, 4, 3, 6, 9]

11.range()

您可能已經熟悉 Python 中的 range()。 如果您想創建一個範圍在特定數字之間的整數列表而不明確寫出它們,這會很方便。

讓我們使用這個函數創建一個 1 到 5 之間的奇數列表:

a = range(1, 6)
b = []
for i in a:
    if i%2!=0:
        b.append(i)
print(b)
Output: [1, 3, 5]

12.slice()

儘管 slice() 函數和傳統的 slice 方法給出了相似的輸出,但在代碼中使用 slice() 可以使其更具可讀性。

您可以使用 slice 方法對任何可變的可疊代對象進行切片:

b = [1, 3, 4, 6, 7, 10]
st = "Python 教程"
sliceportion = slice(0, 4)
print(b[sliceportion])
print(st[sliceportion])
Output:
[1, 3, 4, 6]
Pyth

當您使用下面的傳統方法時,上面的代碼給出了類似的輸出:

print(b[0:4])
print(st[0:4])

13.format()

format() 方法可讓您操作字符串輸出。 這是它的工作原理:

multiple = 5*2
multiple2 = 7*2
a =  "{} 是 5 和 2 的倍數,但 {} 是 7 和 2 的倍數"
a = a.format(multiple, multiple2)
print(a)
Output:
10 是 5 和 2 的倍數,但 14 是 7 和 2 的倍數

14.strip()

Python 的 strip() 從字符串中刪除前導字符。 如果第一個字符與提供的任何字符匹配,它會重複從字符串中刪除第一個字符。

如果不指定字符,strip 將從字符串中刪除所有前導空白字符。

下面的示例代碼從字符串中刪除字母 P 和它前面的空格:

st = " Python 教程"
st = st.strip(" P")
print(st)
Output: ython 教程

您可以將 (」 P」) 替換為 (「P」) 以查看會發生什麼。

15.abs()

你想消除負面的數學輸出嗎? 然後嘗試 abs() 函數。 它可以在計算編程或數據科學操作中派上用場。

請參閱下面的示例了解其工作原理:

neg = 4 - 9
pos = abs(neg)
print(pos)
Output: 5

16. upper()

顧名思義,upper() 方法將字符串字符轉換為它們的大寫等價物:

y = "Python tutorial"
y = y.upper()
print(y)
Output: PYTHON TUTORIAL

17. lower()

你猜對了! Python 的 lower() 與upper() 相反。 所以它將字符串字符轉換為小寫:

y = "PYTHON TUTORIAL"
y = y.lower()
print(y)
Output: python tutorial

18. sorted()

sorted() 函數的工作原理是從可疊代對象中創建一個列表,然後按降序或升序排列其值:

f = {1, 4, 9, 3} # 嘗試在一個集
sort = {"G":8, "A":5, "B":9, "F":3} # 嘗試在一個字典
print(sorted(f, reverse=True)) # Descending
print(sorted(sort.values())) # Ascending (default)
Output:
[9, 4, 3, 1]
[3, 5, 8, 9]

19. join()

join() 函數可讓您合併列表中的字符串項。

您只需要指定一個分隔符和目標列表即可使用它:

a = ["Python", "教程", "在", "DaYanZai.Me"]
a = " ".join(a)
print(a)
Output: Python 教程在 DaYanZai.Me

20.replace()

Python 的 replace() 方法允許您用另一個字符替換字符串的某些部分。 它在數據科學中通常很方便,尤其是在數據清理期間。

replace() 方法接受兩個參數:被替換的字符和您想要替換的字符。

這是它的工作原理:

columns = ["Cart_name", "First_name", "Last_name"]
for i in columns:
    i = i.replace("_", " ")
    print(i)
Output:
Cart name
First name
Last name

學習Python 的強大功能

作為一種已編譯的、更高級的程式語言,擁有廣泛的社區支持,Python 不斷接收許多額外的函數、方法和模塊。 雖然我們在這裡介紹了大多數流行的功能,但研究正則表達式等功能並深入研究它們在實踐中的工作方式,將幫助您跟上 Python 的發展步伐。

關鍵字: