50 個 Python 函數:構建高效編程的基石
本文詳細介紹了Python中50個常用函數,包括數據類型轉換函數(如 int()、float()、str() 等)、序列操作函數(如 range()、enumerate()、zip() 等)以及其他實用函數(如 len()、type()、id() 等)。通過示例代碼展示了每個函數的功能、用法及特點,幫助讀者更好地理解和掌握這些函數在Python編程中的應用,為高效開發提供助力 。
字符串相關函數
1. len()
用于獲取字符串的長度。例如:
1s = "hello world"
2print(len(s)) # 輸出 11
2. upper()
將字符串中的所有小寫字母轉換為大寫字母。
1s = "hello"
2print(s.upper()) # 輸出 HELLO
3. lower()
將字符串中的所有大寫字母轉換為小寫字母。
1s = "HELLO"
2print(s.lower()) # 輸出 hello
4. strip()
移除字符串開頭和結尾的空白字符(包括空格、制表符等)。
1s = " hello "
2print(s.strip()) # 輸出 hello
5. split()
通過指定分隔符對字符串進行切片,如果不指定分隔符,默認以空白字符分隔。
1s = "a,b,c"
2print(s.split(",")) # 輸出 ['a', 'b', 'c']
6. join()
用于將序列中的元素以指定的字符連接生成一個新的字符串。
1l = ['a', 'b', 'c']
2s = "".join(l)
3print(s) # 輸出 abc
7. find()
檢測字符串中是否包含子字符串,如果指定開始和結束位置,則在指定范圍內檢測。如果找到,則返回子字符串的起始位置,否則返回 -1。
1s = "hello world"
2print(s.find("world")) # 輸出 6
8. replace()
把字符串中的舊字符串替換成新字符串(如果指定第三個參數 max,則替換不超過 max 次)。
1s = "hello world"
2print(s.replace("world", "python")) # 輸出 hello python
列表相關函數
9. append()
用于在列表末尾添加新的對象。
1l = [1, 2, 3]
2l.append(4)
3print(l) # 輸出 [1, 2, 3, 4]
10. extend()
用于在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)。
1l1 = [1, 2, 3]
2l2 = [4, 5]
3l1.extend(l2)
4print(l1) # 輸出 [1, 2, 3, 4, 5]
11. insert()
用于將指定對象插入列表的指定位置。
1l = [1, 2, 3]
2l.insert(1, 1.5)
3print(l) # 輸出 [1, 1.5, 2, 3]
12. remove()
用于移除列表中某個值的第一個匹配項。
1l = [1, 2, 2, 3]
2l.remove(2)
3print(l) # 輸出 [1, 2, 3]
13. pop()
用于移除列表中的一個元素(默認最后一個元素),并且返回該元素的值。
1l = [1, 2, 3]
2print(l.pop()) # 輸出 3
3print(l) # 輸出 [1, 2]
14. index()
用于從列表中找出某個值第一個匹配項的索引位置。
1l = [1, 2, 3, 2]
2print(l.index(2)) # 輸出 1
15. count()
用于統計某個元素在列表中出現的次數。
1l = [1, 2, 2, 3]
2print(l.count(2)) # 輸出 2
16. sort()
用于對原列表進行排序,如果指定參數 reverse=True,則按降序排序。
1l = [3, 1, 2]
2l.sort()
3print(l) # 輸出 [1, 2, 3]
4
5l.sort(reverse=True)
6print(l) # 輸出 [3, 2, 1]
17. reverse()
1my_list = [1, 2, 3, 4, 5]
2print(my_list.reverse()) # 輸出 [5, 4, 3, 2, 1]
字典相關函數
18. keys()
返回字典的所有鍵組成的可迭代對象。通過將其轉換為列表,可以清晰看到所有鍵。
1d = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
2print(list(d.keys())) # 輸出 ['name', 'age', 'city']
19. values()
返回字典的所有值組成的可迭代對象。同樣可轉換為列表查看具體值。
1d = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
2print(list(d.values())) # 輸出 ['Alice', 25, 'Beijing']
20. items()
返回由字典的鍵值對組成的可迭代對象,每個元素都是一個包含鍵和值的元組。
1d = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
2print(list(d.items())) # 輸出 [('name', 'Alice'), ('age', 25), ('city', 'Beijing')]
21. get()
通過鍵獲取對應的值,如果鍵不存在,返回默認值(默認為 None)。
1d = {'name': 'Alice', 'age': 25}
2print(d.get('city')) # 輸出 None
3print(d.get('city', 'Unknown')) # 輸出 Unknown
22. pop()
刪除字典中指定鍵的鍵值對,并返回對應的值。
1d = {'name': 'Alice', 'age': 25}
2print(d.pop('age')) # 輸出 25
3print(d) # 輸出 {'name': 'Alice'}
23. update()
使用另一個字典或可迭代對象中的鍵值對來更新當前字典。
1d1 = {'name': 'Alice', 'age': 25}
2d2 = {'age': 26, 'city': 'Shanghai'}
3d1.update(d2)
4print(d1) # 輸出 {'name': 'Alice', 'age': 26, 'city': 'Shanghai'}
文件操作相關函數
24. open()
用于打開一個文件,返回一個文件對象。常見的模式有 'r'(只讀)、'w'(寫入,會覆蓋原有內容)、'a'(追加) 等。
1file = open('test.txt', 'r')
2content = file.read()
3file.close()
4print(content)
25. read()
文件對象的方法,用于讀取文件的全部內容。可以指定讀取的字節數。
1file = open('test.txt', 'r')
2print(file.read(5)) # 讀取前 5 個字節
3file.close()
26. write()
文件對象的方法,用于向文件寫入字符串。
1file = open('test.txt', 'w')
2file.write('Hello, World!')
3file.close()
27. close()
文件對象的方法,用于關閉文件,釋放系統資源。
數學相關函數
28. abs()
返回一個數的絕對值。
1print(abs(-5)) # 輸出 5
29. max()
返回可迭代對象中的最大值,或者多個參數中的最大值。
1print(max([1, 5, 3])) # 輸出 5
2print(max(1, 5, 3)) # 輸出 5
30. min()
返回可迭代對象中的最小值,或者多個參數中的最小值。
1print(min([1, 5, 3])) # 輸出 1
2print(min(1, 5, 3)) # 輸出 1
31. sum()
對可迭代對象中的元素進行求和。
1print(sum([1, 2, 3])) # 輸出 6
32. round()
對浮點數進行四舍五入。可以指定保留的小數位數。
1print(round(3.14159, 2)) # 輸出 3.14
類型轉換相關函數
33. int()
將一個數值或字符串轉換為整數。
1print(int(3.14)) # 輸出 3
34. float()
將一個數值或字符串轉換為浮點數。
1print(float(3)) # 輸出 3.0
2print(float('3.14')) # 輸出 3.14
35. str()
將對象轉換為字符串形式。
1num = 123
2print(str(num)) # 輸出 '123'
36. list()
將可迭代對象轉換為列表。
1tup = (1, 2, 3)
2print(list(tup)) # 輸出 [1, 2, 3]
37. tuple()
將可迭代對象轉換為元組。
1lst = [1, 2, 3]
2print(tuple(lst)) # 輸出 (1, 2, 3)
38. set()
將可迭代對象轉換為集合,集合中的元素是唯一的。
1lst = [1, 2, 2, 3]
2print(set(lst)) # 輸出 {1, 2, 3}
39. dict()
用于創建字典。可以通過鍵值對參數或者可迭代對象來創建。
1print(dict(name='Bob', age=30)) # 輸出 {'name': 'Bob', 'age': 30}
2lst = [('name', 'Bob'), ('age', 30)]
3print(dict(lst)) # 輸出 {'name': 'Bob', 'age': 30}
其他常用函數
40. range()
生成一個整數序列,常用于循環操作。可以指定起始值、結束值和步長。
1for i in range(5):
2 print(i) # 輸出 0 1 2 3 4
3
4for i in range(1, 5):
5 print(i) # 輸出 1 2 3 4
6
7for i in range(1, 10, 2):
8 print(i) # 輸出 1 3 5 7 9
41. enumerate()
用于將一個可迭代對象轉換為枚舉對象,同時返回元素的索引和值。
1fruits = ['apple', 'banana', 'cherry']
2for index, fruit in enumerate(fruits):
3 print(f'{index}: {fruit}')
4# 輸出
5# 0: apple
6# 1: banana
7# 2: cherry
42. zip()
用于將多個可迭代對象中的元素一一對應打包成元組,返回一個可迭代的 zip 對象。
1names = ['Alice', 'Bob', 'Charlie']
2ages = [25, 30, 35]
3for name, age in zip(names, ages):
4 print(f'{name} is {age} years old')
5# 輸出
6# Alice is 25 years old
7# Bob is 30 years old
8# Charlie is 35 years old
43. filter()
用于過濾可迭代對象中的元素,通過指定的函數來判斷元素是否保留。
1def is_even(n):
2 return n % 2 == 0
3
4nums = [1, 2, 3, 4, 5, 6]
5even_nums = list(filter(is_even, nums))
6print(even_nums) # 輸出 [2, 4, 6]
44. map()
對可迭代對象中的每個元素應用指定的函數,返回一個新的可迭代對象。
1def square(n):
2 return n 2
3
4nums = [1, 2, 3, 4, 5]
5squared_nums = list(map(square, nums))
6print(squared_nums) # 輸出 [1, 4, 9, 16, 25]
45. len()
這個函數在前面提到過,它不僅適用于字符串,還可用于獲取列表、元組、字典、集合等可迭代對象的元素個數。
1lst = [1, 2, 3, 4, 5]
2print(len(lst)) # 輸出 5
3tup = (1, 2, 3)
4print(len(tup)) # 輸出 3
5
6d = {'a': 1, 'b': 2}
7print(len(d)) # 輸出 2
8
9s = {1, 2, 3}
10print(len(s)) # 輸出 3
46. type()
用于返回一個對象的類型。
1num = 10
2print(type(num)) # 輸出 <class 'int'>
3
4s = "hello"
5print(type(s)) # 輸出 <class'str'>
6
7lst = [1, 2, 3]
8print(type(lst)) # 輸出 <class 'list'>
47. id()
返回對象的唯一標識符,這個標識符在對象的生命周期內是唯一且不變的,它反映了對象在內存中的地址。
1a = 5
2print(id(a))
3b = a
4print(id(b))
5# 通常情況下,a 和 b 的 id 是相同的,因為它們指向同一個對象
48. help()
用于獲取對象(模塊、函數、類等)的幫助信息,在開發過程中,當對某個函數或類的使用方法不明確時,使用 help() 函數可以快速查看其文檔說明。
1def add_numbers(a, b):
2 """
3 這個函數用于將兩個數字相加并返回結果。
4
5 參數:
6 a (int 或 float): 要相加的第一個數字。
7 b (int 或 float): 要相加的第二個數字。
8
9 返回:
10 int 或 float: a 和 b 相加的結果。
11 """
12 return a + b
13
14help(add_numbers)
49. dir()
返回一個對象的所有屬性和方法的列表。如果沒有參數,dir() 會返回當前作用域內的所有名稱。
1lst = [1, 2, 3]
2print(dir(lst))
3# 輸出包含了列表的所有方法和屬性,如 'append', 'extend', 'insert' 等
50. globals()
返回一個字典,表示當前的全局符號表。這個字典包含了所有的全局變量和函數等。
1def print_globals():
2 global_var = "This is a global variable"
3 print(globals())
4 # 輸出中會包含 global_var 以及其他全局定義的內容
5
6print_globals()
51. locals()
返回一個字典,表示當前的局部符號表。這個字典包含了當前作用域內的所有局部變量。
1def print_locals():
2 local_var = "This is a local variable"
3 print(locals())
4 # 輸出中會包含 local_var 以及其他局部定義的內容
5
6print_locals()
52. exec()
執行儲存在字符串或文件中的 Python 語句。
1code = "print('Hello, Python!')"
2exec(code)
53. eval()
計算一個字符串表達式,并返回計算結果。
1result = eval("1 + 2 * 3")
2print(result)
3# 輸出 7
以上就是 Python 中比較常用的 53 個函數,通過對這些函數的熟練掌握和運用,能夠幫助您更加高效地進行 Python 編程開發。無論是簡單的數據處理,還是復雜的項目開發,這些函數都將發揮重要作用。