成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

告別冗余代碼!這 20 個 Python 內置函數讓你的編程更優雅高效

開發
掌握常用內置函數是精通 Python 的基礎。本文將詳細介紹 20 個在日常編程中極為常用的 Python 內置函數。

Python自帶許多內置函數,這些函數無需導入任何模塊即可直接使用,極大地提高了開發效率。掌握這些常用內置函數是精通 Python 的基礎。本文將詳細介紹 20 個在日常編程中極為常用的 Python 內置函數。

1. print()

將指定對象輸出到標準輸出設備(通常是控制臺)。這是調試和顯示信息最常用的函數。

name = "Alice"
age = 30
print("Hello, world!")                   # 輸出字符串
print("Name:", name, "Age:", age)        # 輸出多個對象,默認以空格分隔
print(f"User {name} is {age} years old.") # 使用 f-string 格式化輸出
print("第一行", end=" | ")               # 自定義行尾結束符
print("第二行")                           # 默認 end='\n' (換行)

print() 可以接受一個或多個參數,并將它們轉換成字符串后輸出。sep 參數控制分隔符(默認空格),end 參數控制行尾符(默認換行)。

2. input()

從標準輸入(通常是鍵盤)讀取一行文本,并將其作為字符串返回(末尾的換行符會被剝離)。

user_name = input("請輸入您的名字: ")
user_age_str = input("請輸入您的年齡: ")
print(f"您好, {user_name}! 您輸入的年齡是: {user_age_str}")
print(f"名字的數據類型: {type(user_name)}")   # 輸出: <class 'str'>
print(f"年齡的數據類型: {type(user_age_str)}") # 輸出: <class 'str'>

input() 會暫停程序執行,等待用戶輸入。無論用戶輸入什么,input() 總是返回一個字符串。如果需要數字,需要后續使用 int() 或 float() 進行轉換。

3. len()

返回對象的“長度”(其中包含的項數)。適用于序列(如字符串、列表、元組)和集合(如字典、集合)。

my_string = "Python"
my_list = [1, 2, 3, 4, 5]
my_dict = {'a': 1, 'b': 2}
print(f"字符串 '{my_string}' 的長度: {len(my_string)}") # 輸出: 6
print(f"列表 my_list 的長度: {len(my_list)}")       # 輸出: 5
print(f"字典 my_dict 的鍵值對數量: {len(my_dict)}") # 輸出: 2

len() 是獲取容器或序列大小的基本方法。

4. type()

返回對象的類型(類)。對于調試和理解代碼中變量的性質非常有用。

x = 10
y = 3.14
z = "hello"
l = [1, 2]
print(f"變量 x 的類型是: {type(x)}") # 輸出: <class 'int'>
print(f"變量 y 的類型是: {type(y)}") # 輸出: <class 'float'>
print(f"變量 z 的類型是: {type(z)}") # 輸出: <class 'str'>
print(f"變量 l 的類型是: {type(l)}") # 輸出: <class 'list'>

type() 返回對象的類對象,可以據此判斷變量屬于哪種數據類型。

5. int()

將一個數字或字符串轉換為整數。如果字符串不能表示一個有效的整數,會引發 ValueError。

float_num = 9.8
str_num = "123"
str_invalid = "abc"

print(f"{float_num} 轉換為整數: {int(float_num)}") # 輸出: 9 (向零取整)
print(f"字符串 '{str_num}' 轉換為整數: {int(str_num)}") # 輸出: 123

try:
    int(str_invalid)
except ValueError as e:
    print(f"轉換 '{str_invalid}' 失敗: {e}") # 輸出: invalid literal for int() with base 10: 'abc'

# 也可以指定基數進行轉換 (例如二進制)
binary_str = "1011"
print(f"二進制字符串 '{binary_str}' 轉換為十進制整數: {int(binary_str, 2)}") # 輸出: 11

int() 常用于處理用戶輸入或文件讀取的字符串數據,將其轉換為可進行數學運算的整數。

6. float()

將一個數字或字符串轉換為浮點數。如果字符串不能表示一個有效的數字,會引發 ValueError。

int_num = 100
str_num = "3.14159"
str_int = "42"
str_invalid = "pi"

print(f"{int_num} 轉換為浮點數: {float(int_num)}")         # 輸出: 100.0
print(f"字符串 '{str_num}' 轉換為浮點數: {float(str_num)}") # 輸出: 3.14159
print(f"字符串 '{str_int}' 轉換為浮點數: {float(str_int)}") # 輸出: 42.0

try:
    float(str_invalid)
except ValueError as e:
    print(f"轉換 '{str_invalid}' 失敗: {e}") # 輸出: could not convert string to float: 'pi'

float() 用于需要小數精度計算的場景,同樣常用于轉換輸入數據。

7. str()

將對象轉換為其字符串表示形式。幾乎所有 Python 對象都可以被 str() 轉換。

number = 42
pi = 3.14
my_list = [1, 'a', True]
is_valid = False

print(f"整數 {number} 轉為字符串: '{str(number)}'")     # 輸出: '42'
print(f"浮點數 {pi} 轉為字符串: '{str(pi)}'")         # 輸出: '3.14'
print(f"列表 {my_list} 轉為字符串: '{str(my_list)}'")   # 輸出: '[1, 'a', True]'
print(f"布爾值 {is_valid} 轉為字符串: '{str(is_valid)}'") # 輸出: 'False'

str() 在需要將非字符串數據(如數字、列表)嵌入到字符串中(尤其是在舊式 % 格式化或 + 拼接時)或寫入文件時非常有用。

8. list()

將一個可迭代對象(如字符串、元組、集合、字典的鍵/值/項)轉換為列表。也可以創建一個空列表。

my_string = "abc"
my_tuple = (10, 20, 30)
my_set = {1, 2, 3}
my_dict = {'x': 1, 'y': 2}

print(f"字符串 '{my_string}' 轉為列表: {list(my_string)}") # 輸出: ['a', 'b', 'c']
print(f"元組 {my_tuple} 轉為列表: {list(my_tuple)}")    # 輸出: [10, 20, 30]
print(f"集合 {my_set} 轉為列表: {list(my_set)}")        # 輸出: [1, 2, 3] (順序可能變化)
print(f"字典的鍵轉為列表: {list(my_dict)}")            # 輸出: ['x', 'y'] (Python 3.7+ 保證順序)
print(f"字典的值轉為列表: {list(my_dict.values())}")    # 輸出: [1, 2]
print(f"字典的項轉為列表: {list(my_dict.items())}")     # 輸出: [('x', 1), ('y', 2)]
print(f"創建一個空列表: {list()}")                  # 輸出: []

list() 是創建新列表或從其他可迭代類型復制/轉換元素到列表的常用方法。列表是可變的,因此轉換后可以修改。

9. tuple()

將一個可迭代對象轉換為元組。元組是不可變的序列。

my_string = "xyz"
my_list = [4, 5, 6]

print(f"字符串 '{my_string}' 轉為元組: {tuple(my_string)}") # 輸出: ('x', 'y', 'z')
print(f"列表 {my_list} 轉為元組: {tuple(my_list)}")      # 輸出: (4, 5, 6)
print(f"創建一個空元組: {tuple()}")                    # 輸出: ()

tuple() 用于需要不可變序列的場景,或者希望將可迭代對象轉換為元組形式。

10. dict()

創建 一個新的字典。可以通過關鍵字參數、映射對象或鍵值對的可迭代對象來初始化。

# 創建空字典
empty_dict = dict()
print(f"空字典: {empty_dict}") # 輸出: {}

# 使用關鍵字參數創建
kw_dict = dict(name="Bob", age=25, city="Paris")
print(f"關鍵字參數創建: {kw_dict}") # 輸出: {'name': 'Bob', 'age': 25, 'city': 'Paris'}

# 從鍵值對列表創建
pairs = [('a', 1), ('b', 2), ('c', 3)]
pairs_dict = dict(pairs)
print(f"鍵值對列表創建: {pairs_dict}") # 輸出: {'a': 1, 'b': 2, 'c': 3}

# 從另一個字典創建 (淺拷貝)
copy_dict = dict(kw_dict)
print(f"從字典拷貝創建: {copy_dict}")

dict() 是創建和初始化字典的靈活方式,比 {} 字面量提供了更多選項。

11. set()

創建一個新的集合。集合是無序的、不包含重復元素的集合。可以從可迭代對象創建。

my_string = "programming"
my_list = [1, 2, 2, 3, 1, 4]

print(f"從字符串創建集合: {set(my_string)}") # 輸出: {'r', 'o', 'g', 'a', 'm', 'i', 'n', 'p'} (順序不定)
print(f"從列表創建集合: {set(my_list)}")      # 輸出: {1, 2, 3, 4} (去重)
print(f"創建空集合: {set()}")                # 輸出: set()

set() 主要用于去重和執行數學上的集合運算(如并集、交集、差集)。

12. abs()

返回數字的絕對值(其大小,不考慮符號)。

positive_num = 10
negative_num = -5.5
zero = 0

print(f"{positive_num} 的絕對值: {abs(positive_num)}") # 輸出: 10
print(f"{negative_num} 的絕對值: {abs(negative_num)}") # 輸出: 5.5
print(f"{zero} 的絕對值: {abs(zero)}")           # 輸出: 0

abs() 在數學計算和需要忽略數值符號的場景中使用。

13. max()

返回可迭代對象中最大的項,或者返回兩個或多個參數中最大的一個。

numbers = [3, 1, 4, 1, 5, 9, 2]
strings = ["apple", "banana", "cherry"]

print(f"列表 {numbers} 中的最大值: {max(numbers)}")       # 輸出: 9
print(f"字符串列表 {strings} 中的最大值 (字典序): {max(strings)}") # 輸出: 'cherry'
print(f"參數 10, 25, 18 中的最大值: {max(10, 25, 18)}")  # 輸出: 25

# 可以提供 key 函數進行自定義比較
words = ["go", "pyth?n", "is", "fun"]
print(f"按長度比較的最大單詞: {max(words, key=len)}") # 輸出: 'pyth?n' (長度為6)

max() 對于尋找序列極值非常方便。key 參數允許基于元素的某個屬性或計算結果來比較。

14. min()

返回可迭代對象中最小的項,或者返回兩個或多個參數中最小的一個。用法與 max() 類似。

numbers = [3, 1, 4, 1, 5, 9, 2]
strings = ["apple", "banana", "cherry"]

print(f"列表 {numbers} 中的最小值: {min(numbers)}")       # 輸出: 1
print(f"字符串列表 {strings} 中的最小值 (字典序): {min(strings)}") # 輸出: 'apple'
print(f"參數 10, 25, 18 中的最小值: {min(10, 25, 18)}")  # 輸出: 10

# 使用 key 函數
words = ["go", "pyth?n", "is", "fun"]
print(f"按長度比較的最小單詞: {min(words, key=len)}") # 輸出: 'go' (或 'is', 長度為2)

min() 用于尋找序列的最小值,同樣支持 key 參數進行自定義比較。

15. sum()

對可迭代對象(通常是數字列表、元組)中的所有項求和。可以提供一個可選的 start 參數作為初始值。

numbers = [1, 2, 3, 4, 5]
print(f"列表 {numbers} 的和: {sum(numbers)}")     # 輸出: 15

# 添加起始值
print(f"列表 {numbers} 的和加上起始值 10: {sum(numbers, 10)}") # 輸出: 25

# 對空列表求和 (默認 start=0)
print(f"空列表的和: {sum([])}")                  # 輸出: 0

sum() 是對數字序列進行求和的快捷方式。注意它不能直接用于對非數字(如字符串)列表求和。

16. range()

返回一個表示算術級數序列的對象。常用于 for 循環中迭代指定的次數。它本身不創建列表,而是一個惰性序列。

print("迭代 0 到 4:")
for i in range(5):      # range(stop) - 從 0 到 stop-1
    print(i, end=" ")   # 輸出: 0 1 2 3 4
print("\n")

print("迭代 2 到 5:")
for i in range(2, 6):   # range(start, stop) - 從 start 到 stop-1
    print(i, end=" ")   # 輸出: 2 3 4 5
print("\n")

print("以步長 2 迭代 1 到 9:")
for i in range(1, 10, 2): # range(start, stop, step)
    print(i, end=" ")   # 輸出: 1 3 5 7 9
print("\n")

# 將 range 對象轉換為列表 (以便查看)
range_list = list(range(3))
print(f"range(3) 轉為列表: {range_list}") # 輸出: [0, 1, 2]

range() 是控制循環次數的標準方式,它比手動創建數字列表更高效(尤其是對于大范圍)。

17. enumerate()

返回一個枚舉對象。它接收一個可迭代對象作為參數,并生成一系列包含索引和對應值的元組。

fruits = ["apple", "banana", "cherry"]
print("使用 enumerate 迭代列表:")
for index, fruit in enumerate(fruits):
    print(f"索引 {index}: {fruit}")
    # 輸出:
    # 索引 0: apple
    # 索引 1: banana
    # 索引 2: cherry

print("\n使用 enumerate 并指定起始索引:")
for i, fruit in enumerate(fruits, start=1): # 從索引 1 開始
    print(f"編號 {i}: {fruit}")
    # 輸出:
    # 編號 1: apple
    # 編號 2: banana
    # 編號 3: cherry

當循環中既需要元素的值也需要其索引時,enumerate() 是最 Pythonic(符合 Python 風格)且最高效的方式,避免了手動維護計數器。

18. zip()

接收任意多個可迭代對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的迭代器。如果可迭代對象的長度不同,zip 會在最短的對象耗盡后停止。

names = ["Alice", "Bob", "Charlie"]
ages = [30, 25, 35]
cities = ["New York", "Paris", "London"]

print("使用 zip 組合三個列表:")
zipped_data = zip(names, ages, cities)
print(f"zip 對象類型: {type(zipped_data)}") # 輸出: <class 'zip'>

# 迭代 zip 對象
for name, age, city in zipped_data:
    print(f"{name} is {age} years old and lives in {city}.")
    # 輸出:
    # Alice is 30 years old and lives in New York.
    # Bob is 25 years old and lives in Paris.
    # Charlie is 35 years old and lives in London.

# 注意: zip 對象是一次性的迭代器,迭代過后就空了
# print(list(zipped_data)) # 會輸出 []

# 如果長度不同
ids = [101, 102]
items = ["Laptop", "Mouse", "Keyboard"]
print("\n組合不同長度的列表:")
for id_val, item_val in zip(ids, items):
    print(f"ID: {id_val}, Item: {item_val}")
    # 輸出: (只到最短的 ids 結束)
    # ID: 101, Item: Laptop
    # ID: 102, Item: Mouse

zip() 非常適合并行處理多個序列,例如同時迭代鍵和值,或合并來自不同來源的相關數據。

19. sorted()

返回一個新的、根據可迭代對象中的項排序后的列表。原始的可迭代對象保持不變。

numbers = [3, 1, 4, 1, 5, 9, 2]
print(f"原始列表: {numbers}")
sorted_numbers = sorted(numbers)
print(f"排序后列表 (升序): {sorted_numbers}") # 輸出: [1, 1, 2, 3, 4, 5, 9]
print(f"原始列表仍未改變: {numbers}")

# 降序排序
desc_sorted_numbers = sorted(numbers, reverse=True)
print(f"降序排序后列表: {desc_sorted_numbers}") # 輸出: [9, 5, 4, 3, 2, 1, 1]

# 對字符串列表排序 (字典序)
words = ["banana", "Apple", "cherry"] # 注意大小寫影響排序
sorted_words = sorted(words)
print(f"字符串列表排序: {sorted_words}") # 輸出: ['Apple', 'banana', 'cherry']

# 使用 key 函數自定義排序規則 (例如按長度)
sorted_words_by_length = sorted(words, key=len)
print(f"按長度排序: {sorted_words_by_length}") # 輸出: ['Apple', 'banana', 'cherry'] (長度相同則保持原相對順序)

# 對字典按值排序 (得到鍵的列表)
my_dict = {'a': 3, 'c': 1, 'b': 2}
sorted_keys_by_value = sorted(my_dict, key=my_dict.get)
print(f"字典按值排序 (得到鍵): {sorted_keys_by_value}") # 輸出: ['c', 'b', 'a']

sorted() 是通用的排序工具,適用于任何可迭代對象,并返回一個新的排序后的列表。key 參數和 reverse 參數提供了強大的自定義排序能力。它與列表的 .sort() 方法不同,后者是原地修改列表且只適用于列表。

20. open()

打開一個文件,并返回一個文件對象(也稱為文件句柄)。這是進行文件讀取、寫入等操作的基礎。

file_path = 'example.txt'

# --- 寫入文件 ('w' 模式會覆蓋舊內容) ---
try:
    # 使用 'with' 語句確保文件無論如何都會被關閉
    with open(file_path, 'w', encoding='utf-8') as writer:
        writer.write("這是第一行內容。\n")
        writer.write(f"Python 版本: 3.x\n") # 可以寫入變量
        print(f"成功寫入到文件 '{file_path}'")
except IOError as e:
    print(f"寫入文件時發生錯誤: {e}")

# --- 讀取文件 ('r' 模式) ---
try:
    with open(file_path, 'r', encoding='utf-8') as reader:
        # 讀取整個文件內容
        # content = reader.read()
        # print(f"\n文件 '{file_path}' 的全部內容:\n{content}")

        # 或者逐行讀取
        print(f"\n逐行讀取文件 '{file_path}':")
        for line in reader:
            print(line.strip()) # strip() 去除行尾換行符

except FileNotFoundError:
    print(f"錯誤: 文件 '{file_path}' 未找到。")
except IOError as e:
    print(f"讀取文件時發生錯誤: {e}")

# --- 追加內容到文件 ('a' 模式) ---
try:
    with open(file_path, 'a', encoding='utf-8') as appender:
        appender.write("這是追加的一行。\n")
        print(f"\n成功追加內容到文件 '{file_path}'")
except IOError as e:
    print(f"追加文件時發生錯誤: {e}")

open() 函數是文件操作的入口。第一個參數是文件路徑,第二個參數是模式('r'讀, 'w'寫, 'a'追加, 'b'二進制模式等)。encoding='utf-8' 對于處理文本文件至關重要。強烈推薦使用 with open(...) 語法,它能自動管理文件的關閉,即使發生錯誤也能保證關閉,防止資源泄漏。

Python 的內置函數遠不止這些,大家可以進一步探索Python官方文檔,了解更多內置函數和標準庫模塊。

責任編輯:趙寧寧 來源: Python數智工坊
相關推薦

2024-07-03 08:13:56

規則執行器代碼

2023-11-23 13:50:00

Python代碼

2025-05-29 08:35:39

Python代碼開發

2023-07-10 09:39:02

lambdaPython語言

2020-04-03 14:55:39

Python 代碼編程

2022-03-08 06:41:35

css代碼

2022-12-26 07:47:37

JDK8函數式接口

2022-04-10 10:41:17

ESLint異步代碼

2020-09-25 16:20:21

Python內置函數字符串

2024-05-24 10:51:51

框架Java

2019-09-29 16:17:25

Java代碼性能編程語言

2024-02-26 16:40:58

2024-08-21 08:43:53

Python技巧鍵值

2025-04-30 05:58:20

2025-02-17 08:50:00

CSS代碼JavaScript

2024-07-25 14:36:10

2022-09-19 15:02:24

C語言

2024-08-20 14:25:20

2024-02-23 08:57:42

Python設計模式編程語言

2024-07-30 14:09:19

裝飾器Python代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美久久久久久久久 | 日韩三级在线 | 欧美高清性xxxxhdvideosex | 嫩草国产| 日韩不卡视频在线观看 | 精品国产精品国产偷麻豆 | 亚洲国产成人av好男人在线观看 | 久久综合一区 | 午夜丁香视频在线观看 | 国产婷婷色一区二区三区 | 日一区二区 | 亚洲激情第一页 | 亚洲一区二区三区在线视频 | 欧美激情国产精品 | 精品一区二区三区中文字幕 | 久久久久久毛片免费观看 | 成人午夜激情 | 97色在线观看免费视频 | 国产精品国产a | 91黄色片免费看 | 青青伊人久久 | 亚洲一区二区三区高清 | 日韩欧美一区二区三区免费观看 | 欧美xxxx色视频在线观看免费 | 欧美成人免费在线视频 | www国产亚洲精品久久网站 | 欧美精品在线播放 | 亚洲综合一区二区三区 | 亚洲一区中文字幕 | 欧美成人一区二区 | 亚洲精品一区二区三区在线 | 毛片一区 | 国产一级电影在线观看 | 久久一区二区av | 欧洲一区在线观看 | 久久久久国产精品一区二区 | 91精品在线看 | 日韩在线视频免费观看 | 久久av网站 | 久久成人精品 | 大象视频一区二区 |