快速掌握 Python 常用的 30 個(gè)內(nèi)置函數(shù)
Python的強(qiáng)大,很大程度上源于其“開箱即用”的哲學(xué)。在這其中,內(nèi)置函數(shù)(Built-in Functions)是地基中的地基,是每一位Python開發(fā)者都應(yīng)爛熟于心的“母語”。它們是構(gòu)建復(fù)雜邏輯的原子操作,是編寫高效、簡潔、Pythonic代碼的起點(diǎn)。
本文將這些最核心的30個(gè)內(nèi)置函數(shù),按照功能邏輯劃分為五大類別。我們將通過精準(zhǔn)的定義和實(shí)用的代碼示例,助你快速構(gòu)建起對(duì)Python內(nèi)置函數(shù)庫的系統(tǒng)性認(rèn)知,并將其無縫融入你的日常編程實(shí)踐中。

一、數(shù)據(jù)類型轉(zhuǎn)換:構(gòu)建萬物的基石
編程的本質(zhì)是數(shù)據(jù)的流動(dòng)與轉(zhuǎn)換。這些函數(shù)是你塑造數(shù)據(jù)的基本工具。
1. int()
將一個(gè)字符串或數(shù)字轉(zhuǎn)換為整數(shù)。
str_num = "123"
int_val = int(str_num) # -> 123
float_num = 99.9
int_val_from_float = int(float_num) # -> 992. str()
將對(duì)象轉(zhuǎn)換為字符串。
num = 42
str_val = str(num) # -> "42"
my_list = [1, 2]
str_list = str(my_list) # -> "[1, 2]"3. float()
將一個(gè)字符串或數(shù)字轉(zhuǎn)換為浮點(diǎn)數(shù)。
str_num = "3.14"
float_val = float(str_num) # -> 3.14
int_num = 100
float_from_int = float(int_num) # -> 100.04. list()
將一個(gè)可迭代對(duì)象(如元組、字符串、集合)轉(zhuǎn)換為列表。
my_tuple = (1, 2, 3)
list_from_tuple = list(my_tuple) # -> [1, 2, 3]
my_string = "abc"
list_from_string = list(my_string) # -> ['a', 'b', 'c']5. tuple()
將一個(gè)可迭代對(duì)象轉(zhuǎn)換為元組。
my_list = [1, 2, 3]
tuple_from_list = tuple(my_list) # -> (1, 2, 3)6. dict()
創(chuàng)建字典??梢詮逆I值對(duì)序列、關(guān)鍵字參數(shù)等創(chuàng)建。
# 從鍵值對(duì)元組列表創(chuàng)建
dict_from_list = dict([('a', 1), ('b', 2)]) # -> {'a': 1, 'b': 2}
# 從關(guān)鍵字參數(shù)創(chuàng)建
dict_from_kwargs = dict(name='Alice', age=30) # -> {'name': 'Alice', 'age': 30}7. set()
將一個(gè)可迭代對(duì)象轉(zhuǎn)換為集合,自動(dòng)去除重復(fù)元素。
my_list = [1, 2, 2, 3, 1]
my_set = set(my_list) # -> {1, 2, 3}二、序列與迭代操作:Pythonic編程的核心
這些函數(shù)是處理列表、元組等序列的利器,是編寫優(yōu)雅循環(huán)的關(guān)鍵。
8. len()
返回對(duì)象的長度(元素個(gè)數(shù))。
my_list = [1, 2, 3, 4]
length = len(my_list) # -> 49. range()
生成一個(gè)整數(shù)序列,常用于for循環(huán)。
# 生成 0 到 4 的整數(shù)
for i in range(5):
print(i, end=' ') # -> 0 1 2 3 4
# 生成 2 到 7,步長為 2 的整數(shù)
for j in range(2, 8, 2):
print(j, end=' ') # -> 2 4 610. enumerate()
在迭代時(shí),同時(shí)返回索引和值。
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
print(index, fruit) # -> 0 apple, 1 banana, 2 cherry11. zip()
將多個(gè)可迭代對(duì)象聚合起來,并行地返回元組。
names = ['Alice', 'Bob']
ages = [30, 25]
for name, age in zip(names, ages):
print(name, age) # -> Alice 30, Bob 2512. sorted()
返回一個(gè)新的、已排序的列表,原列表不變。
numbers = [3, 1, 4, 1, 5, 9]
sorted_numbers = sorted(numbers) # -> [1, 1, 3, 4, 5, 9]
sorted_desc = sorted(numbers, reverse=True) # -> [9, 5, 4, 3, 1, 1]13. reversed()
返回一個(gè)反向的迭代器。
numbers = [1, 2, 3, 4]
for num in reversed(numbers):
print(num, end=' ') # -> 4 3 2 1```
### **14. `map()`**
將一個(gè)函數(shù)應(yīng)用于可迭代對(duì)象的每個(gè)元素,返回一個(gè)迭代器。
```python
numbers = [1, 2, 3]
squared = map(lambda x: x*x, numbers)
print(list(squared)) # -> [1, 4, 9]```
### **15. `filter()`**
根據(jù)一個(gè)函數(shù)返回的布爾值,過濾可迭代對(duì)象中的元素,返回一個(gè)迭代器。
```python
numbers = [1, 2, 3, 4, 5]
evens = filter(lambda x: x % 2 == 0, numbers)
print(list(evens)) # -> [2, 4]三、數(shù)值計(jì)算與布爾判斷:邏輯的精確表達(dá)
這些函數(shù)負(fù)責(zé)處理數(shù)學(xué)運(yùn)算和邏輯判斷,是算法實(shí)現(xiàn)的基礎(chǔ)。
16. abs()
返回一個(gè)數(shù)的絕對(duì)值。
val = abs(-10) # -> 1017. round()
四舍五入到指定的小數(shù)位數(shù)。
num = 3.14159
rounded_val = round(num, 2) # -> 3.1418. sum()
計(jì)算一個(gè)可迭代對(duì)象中所有元素的和。
numbers = [1, 2, 3, 4, 5]
total = sum(numbers) # -> 1519. max()
返回可迭代對(duì)象中的最大值。
numbers = [3, 1, 9, 5]
max_val = max(numbers) # -> 920. min()
返回可迭代對(duì)象中的最小值。
numbers = [3, 1, 9, 5]
min_val = min(numbers) # -> 1```
### **21. `any()`**
如果可迭代對(duì)象中至少有一個(gè)元素的布爾值為`True`,則返回`True`。
```python
bools = [False, False, True, False]
result = any(bools) # -> True22. all()
如果可迭代對(duì)象中所有元素的布爾值都為True,則返回True。
bools = [True, True, True]
result = all(bools) # -> True四、對(duì)象、類與反射:深入Python的動(dòng)態(tài)內(nèi)核
這些函數(shù)讓你能夠探查對(duì)象的內(nèi)部,是元編程和編寫健壯代碼的關(guān)鍵。
23. type()
返回一個(gè)對(duì)象的類型。
print(type(123)) # -> <class 'int'>
print(type("hello")) # -> <class 'str'>24. isinstance()
檢查一個(gè)對(duì)象是否是指定類或其子類的實(shí)例。
class Animal: pass
class Dog(Animal): pass
my_dog = Dog()
print(isinstance(my_dog, Animal)) # -> True25. hasattr()
檢查對(duì)象是否擁有指定的屬性。
class Person:
name = 'Alice'
print(hasattr(Person, 'name')) # -> True
print(hasattr(Person, 'age')) # -> False26. getattr()
獲取對(duì)象的屬性值。
class Person:
name = 'Alice'
person = Person()
name_val = getattr(person, 'name') # -> 'Alice'27. callable()
檢查一個(gè)對(duì)象是否可以被調(diào)用(如函數(shù)、方法)。
def my_func(): pass
print(callable(my_func)) # -> True
print(callable(123)) # -> False五、基礎(chǔ)I/O與其它:程序的入口與輔助
這些是與外界交互和獲取幫助的基礎(chǔ)函數(shù)。
28. print()
將對(duì)象輸出到控制臺(tái)。
print("Hello, World!", end=' | ') # 使用 end 參數(shù)
print("Another message.")29. input()
從控制臺(tái)讀取用戶輸入,返回字符串。
name = input("Enter your name: ")
print(f"Hello, {name}!")30. help()
顯示對(duì)象的幫助信息。
# 在交互式環(huán)境中嘗試
# help(list)
# help(str.upper)


























