Python 學(xué)習(xí)必備:20 個(gè)高使用率函數(shù)講解
Python作為當(dāng)今最流行的編程語(yǔ)言之一,擁有豐富而強(qiáng)大的函數(shù)庫(kù)。函數(shù)是Python編程的基本構(gòu)建模塊,掌握核心函數(shù)的使用能極大提升開發(fā)效率。根據(jù)2023年Stack Overflow開發(fā)者調(diào)查,Python開發(fā)者平均每天使用基礎(chǔ)函數(shù)20-30次,這些看似簡(jiǎn)單的工具構(gòu)成了所有復(fù)雜程序的基礎(chǔ)。
本文將深入解析Python最實(shí)用的20個(gè)核心函數(shù),通過詳細(xì)的功能說明、使用技巧和真實(shí)用例,幫助您系統(tǒng)掌握這些編程利器。
一、基礎(chǔ)操作函數(shù)篇
1. print() - 數(shù)據(jù)輸出
功能: 將內(nèi)容輸出到控制臺(tái)參數(shù): *values(多個(gè)值), sep(分隔符), end(結(jié)束符), file(輸出位置)
# 基礎(chǔ)使用
print("Hello", "Python", sep=", ", end="!") # 輸出: Hello, Python!
# 格式化輸出
name = "Alice"
age = 25
print(f"My name is {name}, I'm {age} years old.")
2. input() - 用戶輸入
功能: 從控制臺(tái)獲取用戶輸入返回值: 字符串類型
# 獲取用戶輸入并處理
user_input = input("請(qǐng)輸入您的姓名:")
print(f"歡迎您,{user_input}!")
# 數(shù)字類型轉(zhuǎn)換
age = int(input("請(qǐng)輸入您的年齡:"))
3. len() - 獲取長(zhǎng)度
功能: 返回序列(字符串/列表/元組等)的長(zhǎng)度
text = "Python編程"
print(len(text)) # 輸出: 6(中文字符也被視為一個(gè)單位)
my_list = [1, 2, 3, 4, 5]
print(len(my_list)) # 輸出: 5
4. type() - 類型查詢
功能: 返回對(duì)象的類型信息
num = 3.14
print(type(num)) # 輸出: <class 'float'>
data = [1, 2, 3]
print(type(data)) # 輸出: <class 'list'>
二、類型轉(zhuǎn)換函數(shù)篇
5. str() - 字符串轉(zhuǎn)換
功能: 將對(duì)象轉(zhuǎn)換為字符串:
# 數(shù)字轉(zhuǎn)字符串
num = 42
str_num = str(num) # "42"
# 列表轉(zhuǎn)字符串
fruits = ["apple", "banana", "cherry"]
print(",".join(str(fruit) for fruit in fruits)) # apple,banana,cherry
6. int() - 整型轉(zhuǎn)換
功能: 將數(shù)字或字符串轉(zhuǎn)換為整型:
# 字符串轉(zhuǎn)數(shù)字
str_value = "128"
int_value = int(str_value) # 128
# 進(jìn)制轉(zhuǎn)換
binary_str = "1010"
decimal = int(binary_str, 2) # 輸出: 10(二進(jìn)制轉(zhuǎn)十進(jìn)制)
7. float() - 浮點(diǎn)轉(zhuǎn)換
功能: 將數(shù)字或字符串轉(zhuǎn)換為浮點(diǎn)數(shù):
str_value = "3.1415"
float_value = float(str_value) # 3.1415
# 百分比轉(zhuǎn)換
percent = float("80.5%".strip('%')) # 80.5
8. list() - 列表轉(zhuǎn)換
功能: 將可迭代對(duì)象轉(zhuǎn)換為列表:
# 轉(zhuǎn)換元組
my_tuple = (1, 2, 3)
my_list = list(my_tuple) # [1, 2, 3]
# 轉(zhuǎn)換字典鍵值
my_dict = {"a": 1, "b": 2}
keys = list(my_dict.keys()) # ["a", "b"]
三、數(shù)據(jù)結(jié)構(gòu)操作篇
9. range() - 序列生成
功能: 創(chuàng)建整數(shù)序列參數(shù): start(起始), stop(終止), step(步長(zhǎng)):
# 基礎(chǔ)用法
for i in range(5):
print(i) # 輸出 0-4
# 創(chuàng)建列表
even_numbers = list(range(0, 10, 2)) # [0, 2, 4, 6, 8]
10. sum() - 求和計(jì)算
功能: 計(jì)算序列數(shù)值總和:
# 基礎(chǔ)求和
numbers = [10, 20, 30, 40]
total = sum(numbers) # 100
# 條件求和
numbers = [1, -2, 3, -4, 5]
positive_sum = sum(x for x in numbers if x > 0) # 9
11. min() / max() - 極值查找
功能: 查找序列最小/最大值:
temperatures = [22.5, 19.8, 25.6, 18.2, 23.4]
print(min(temperatures)) # 18.2
print(max(temperatures)) # 25.6
# 自定義比較規(guī)則
words = ["apple", "zebra", "banana", "cat"]
print(min(words, key=len)) # 最短單詞: "cat"
12. sorted() - 排序操作
功能: 返回排序后的新列表參數(shù): iterable, key(排序依據(jù)), reverse(降序):
# 數(shù)字排序
numbers = [3, 1, 4, 2]
sorted_nums = sorted(numbers) # [1, 2, 3, 4]
# 字符串排序
words = ["banana", "apple", "cherry"]
sorted_words = sorted(words, key=len) # 按長(zhǎng)度: ["apple", "cherry", "banana"]
13. enumerate() - 索引枚舉
功能: 返回帶有索引的迭代器:
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(f"索引 {index}: {fruit}")
14. zip() - 數(shù)據(jù)并行
功能: 聚合多個(gè)可迭代對(duì)象:
names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 28]
# 并行迭代
for name, age in zip(names, ages):
print(f"{name} 今年 {age} 歲")
四、系統(tǒng)與文件函數(shù)篇
15. open() - 文件操作
功能: 打開文件并返回文件對(duì)象模式: 'r'(讀), 'w'(寫), 'a'(追加), 'b'(二進(jìn)制):
# 讀取文件
with open("data.txt", "r", encoding="utf-8") as f:
content = f.read()
# 寫入文件
with open("output.log", "w") as f:
f.write("日志內(nèi)容...")
16. help() - 文檔查看
功能: 查看對(duì)象幫助文檔:
# 查看函數(shù)幫助
help(input) # 顯示input函數(shù)的完整文檔
# 交互式幫助系統(tǒng)
>>> help()
help> for
17. dir() - 內(nèi)容瀏覽
功能: 返回對(duì)象的屬性方法列表:
# 查看模塊內(nèi)容
import math
print(dir(math)) # 顯示所有數(shù)學(xué)函數(shù)
# 查看對(duì)象方法
my_list = [1, 2, 3]
print(dir(my_list)) # 顯示列表支持的方法
五、高級(jí)功能函數(shù)
18. filter() - 數(shù)據(jù)篩選
功能: 過濾序列中符合條件的元素:
numbers = range(1, 11)
even_nums = filter(lambda x: x % 2 == 0, numbers)
print(list(even_nums)) # 輸出: [2, 4, 6, 8, 10]
19. map() - 數(shù)據(jù)轉(zhuǎn)換
功能: 對(duì)序列每個(gè)元素應(yīng)用函數(shù):
numbers = [1, 2, 3, 4]
squares = map(lambda x: x**2, numbers)
print(list(squares)) # 輸出: [1, 4, 9, 16]
20. format() - 字符串格式化
功能: 高級(jí)字符串格式化:
# 數(shù)值格式化
balance = 12345.6789
print(format(balance, ".2f")) # "12345.68"
# 對(duì)齊文本
name = "Alice"
print(format(name, "^20")) # 中心對(duì)齊,總寬度20
六、結(jié)語(yǔ):打造Python編程利器庫(kù)
掌握這20個(gè)核心函數(shù)是Python開發(fā)的必備基礎(chǔ),它們覆蓋了80%的日常編程需求。在實(shí)際應(yīng)用中:
- 組合使用函數(shù)如 list(filter(lambda x: x>0, data)) 可創(chuàng)建簡(jiǎn)潔高效的代碼
- 函數(shù)鏈?zhǔn)秸{(diào)用如 sorted(map(str, numbers)) 能簡(jiǎn)化數(shù)據(jù)處理流程
- 建議創(chuàng)建個(gè)人函數(shù)手冊(cè),不斷實(shí)踐優(yōu)化使用技巧
Python的函數(shù)世界豐富多彩,持續(xù)探索內(nèi)置函數(shù)和標(biāo)準(zhǔn)庫(kù),將使您的編程能力躍升到全新高度!