• 生活
  • Python初學者常用的函數總整理

    圖翻拍自網路

    常用的函數

    一、數據類型相關的內置函數

    1. int() 函數:將一個數轉換為整數。例如:int(3.14159) 的結果為 3。
    2. float() 函數:將一個數轉換為浮點數。例如:float(3) 的結果為0。
    3. str() 函數:將一個對象轉換為字符串。例如:str(3) 的結果為 “3”。
    4. bool() 函數:將一個值轉換為布林值。如果值為 0、空字符串、空列表、空元組、空字典、None 等,則返回 False,否則返回 True。例如:bool(0) 的結果為 False,bool(1) 的結果為 True。
    5. type() 函數:返回一個對象的類型。例如:type(3) 的結果為 <class ‘int’>,type(“hello”) 的結果為 <class ‘str’>。

    二、字串相關函數

    # 字串長度

    len(“Hello”)        # 輸出 5

    # 字串連接

    “Hello” + “World”   # 輸出 “HelloWorld”

    “Hello” “World”     # 輸出 “HelloWorld”

    # 字串拆分

    s = “Apple, Banana, Cherry”

    s.split(“, “)       # 輸出 [‘Apple’, ‘Banana’, ‘Cherry’]

    num = “11 22 33 44 55 66 77 88”

    s.split()       # 輸出 [11 22 33 44 55 66 77 88]

    # 字串取代

    s.replace(“Banana”, “Orange”)   # 輸出 ‘Apple, Orange, Cherry’

    # 字串大小寫轉換

    s.upper()           # 輸出 ‘APPLE, BANANA, CHERRY’

    s.lower()           # 輸出 ‘apple, banana, cherry’

     

    三、字串格式化函數

    # 格式化整數

    x = 10

    print(f”這是一個整數:{x:d}”)   # 輸出 “這是一個整數:10″

    # 格式化浮點數

    y = 3.1415926

    print(f”這是一個浮點數:{y:.2f}”)   # 輸出 “這是一個浮點數:3.14”

    # 格式化字串

    name = “Alice”

    print(f”我的名字是{name}”)   # 輸出 “我的名字是Alice”

    四、數學計算函數:

    1. sum() 函數:將一個可迭代對象中的所有元素相加。例如:sum([1, 2, 3, 4]) 的結果為 10。
    2. abs() 函數:返回一個數的絕對值。例如:abs(-3) 的結果為 3。
    3. pow() 函數:計算一個數的次方。例如:pow(2, 3) 的結果為 8。
    4. round() 函數:將一個數四舍五入到指定的小數位數。例如:round(3.14159, 2) 的結果為14。
    5. max() 函數:返回一個可迭代對象中最大的元素。例如:max([1, 2, 3, 4]) 的結果為 4。
    6. min() 函數:返回一個可迭代對象中最小的元素。例如:min([1, 2, 3, 4]) 的結果為 1。

    五、列表函數

    列表操作函數

    # 創建一個列表

    fruits = [“apple”, “banana”, “cherry”]

    # 獲取列表中的元素

    print(fruits[0])   # 輸出 “apple”

    # 增加元素

    fruits.append(“orange”)

    print(fruits)      # 輸出 [“apple”, “banana”, “cherry”, “orange”]

    # 刪除元素

    fruits.remove(“banana”)

    print(fruits)      # 輸出 [“apple”, “cherry”, “orange”]

    # 列表長度

    len([1, 2, 3, 4])               # 輸出 4

    # 列表連接

    [1, 2, 3] + [4, 5, 6]           # 輸出 [1, 2, 3, 4, 5, 6]

    # 列表取最大值和最小值

    max([1, 2, 3, 4])               # 輸出 4

    min([1, 2, 3, 4])               # 輸出 1

    # 列表元素排序

    sorted([3, 1, 4, 2])            # 輸出 [1, 2, 3, 4]

    六、字典函數

    # 創建一個字典

    person = {“name”: “Alice”, “age”: 25, “city”: “Taipei”}

    # 獲取字典中的鍵和值

    print(person.keys())    # 輸出 [“name”, “age”, “city”]

    print(person.values())  # 輸出 [“Alice”, 25, “Taipei”]

    # 檢查字典中是否存在指定的鍵或值

    print(“name” in person)   # 輸出 True

    print(25 in person.values())   # 輸出 True

    # 判斷鍵是否存在

    d = {‘name’: ‘Tom’, ‘age’: 18}

    ‘name’ in d                     # 輸出 True

    ‘gender’ in d                   # 輸出 False

    # 取值,若鍵不存在則返回默認值

    d.get(‘name’, ‘default’)        # 輸出 ‘Tom’

    d.get(‘gender’, ‘unknown’)      # 輸出 ‘unknown’

    # 取所有鍵和值

    d.keys()                        # 輸出 [‘name’, ‘age’]

    d.values()                      # 輸出 [‘Tom’, 18]

    七、集合操作函數

    # 創建一個集合

    fruits = {“apple”, “banana”, “cherry”}

    # 檢查集合中是否存在指定的元素

    print(“apple” in fruits)   # 輸出 True

    # 增加元素

    fruits.add(“orange”)

    print(fruits)             # 輸出 {“apple”, “banana”, “cherry”, “orange”}

    # 刪除元素

    fruits.remove(“banana”)

    print(fruits)             # 輸出 {“apple”, “cherry”, “orange”}

    八、由大到小或由小到大排序的函數

    在 Python 中,我們可以使用內建函數 sorted() 來排序列表、元組、字串等可迭代物件。sorted() 函數的基本語法如下:

    sorted(iterable, key=None, reverse=False)

    其中,iterable 表示要排序的可迭代物件,可以是列表、元組、字串等;key 是一個可選的函數,用於指定排序時要使用的鍵,默認為 None;reverse 表示排序順序,如果設置為 True,則表示要按照遞減順序排序,否則按照遞增順序排序,默認為 False。

    以下是一些示例:

    1.從小到大排序:

    nums = [5, 1, 3, 8, 2]

    sorted_nums = sorted(nums)

    print(sorted_nums)  # 輸出 [1, 2, 3, 5, 8]

    2.從大到小排序:

    nums = [5, 1, 3, 8, 2]

    sorted_nums = sorted(nums, reverse=True)

    print(sorted_nums)  # 輸出 [8, 5, 3, 2, 1]

    3.根據元素的某個屬性排序

    class Person:

    def __init__(self, name, age):

    self.name = name

    self.age = age

    def __repr__(self):

    return f”{self.name} ({self.age} 歲)”

    people = [Person(“Amy”, 22), Person(“Bob”, 19), Person(“Charlie”, 25)]

    sorted_people = sorted(people, key=lambda p: p.age)

    print(sorted_people)  # 輸出 [Bob (19 歲), Amy (22 歲), Charlie (25 歲)]

    在這個例子中,我們創建了一個 Person 類別,並創建了三個 Person 對象,每個對象都有一個名字和年齡屬性。然後,我們使用 sorted() 函數根據 Person 對象的 age 屬性進行排序。注意,這裡使用了 lambda 函數來指定排序時要使用的鍵。

    九、隨機數函數

    random 模塊:用於生成隨機數。需要使用 import random 來導入模塊。以下是一些常用的函數:

    1. random():返回一個位於 [0, 1) 之間的隨機小數。
    2. randint(a, b):返回一個位於 [a, b] 之間的隨機整數。
    3. choice(seq):從序列 seq 中隨機返回一個元素。
    4. shuffle(lst):將列表 lst 中的元素隨機排序。

    # 隨機整數

    import random

    random.randint(0, 10)       # 輸出 0 到 10 之間的隨機整數

    # 隨機浮點數

    random.uniform(0, 1)        # 輸出 0 到 1 之間的隨機浮點數

    # 隨機選取

    random.choice([‘apple’, ‘banana’, ‘cherry’])   # 輸出三個中的一個隨機選取

     

     

    其它補充

    一、推導式(Comprehension)

    Python 推導式(Comprehension)是一種簡潔的程式語法,可以用來從一個序列中創建另一個序列。

    Python 推導式包含三種類型:列表推導式、字典推導式和集合推導式。

    列表推導式:創建一個新的列表,其元素是通過操作現有列表中的元素得到的。

    例如,下面的代碼可以創建一個新的列表,其中包含了原始列表中的每個元素的平方值:

    1. 列表推導式

    numbers = [1, 2, 3, 4, 5]

    squares = [num**2 for num in numbers]

    print(squares)

    輸出:[1, 4, 9, 16, 25]

    2.字典推導式:創建一個新的字典,其元素是通過操作現有字典中的鍵值對得到的。

    例如,下面的代碼可以創建一個新的字典,其中包含原始字典中每個鍵值對的值的平方值:

    original_dict = {‘a’: 1, ‘b’: 2, ‘c’: 3}

    squared_dict = {key: value**2 for key, value in original_dict.items()}

    print(squared_dict)

    輸出:{‘a’: 1, ‘b’: 4, ‘c’: 9}

    3.集合推導式:創建一個新的集合,其元素是通過操作現有集合中的元素得到的。

    例如,下面的代碼可以創建一個新的集合,其中包含原始集合中每個元素的平方值:

    original_set = {1, 2, 3, 4, 5}

    squared_set = {num**2 for num in original_set}

    print(squared_set)

    輸出:{1, 4, 9, 16, 25}

    需要注意的是,Python 推導式可以包含條件語句,以便對元素進行篩選。例如,下面的代碼可以創建一個新的列表,其中包含原始列表中的奇數值的平方:

    numbers = [1, 2, 3, 4, 5]

    squares_of_odds = [num**2 for num in numbers if num % 2 == 1]

    print(squares_of_odds)

    輸出:[1, 9, 25]

    A.使用 for 迴圈的推導式:

    例如,假設你想要創建一個包含從 0 到 9 的平方的列表,可以使用下面的推導式:

    squares = [i**2 for i in range(10)]

    print(squares)

    輸出:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

    在上面的例子中,推導式內的 for 迴圈用於遍歷範圍從 0 到 9 的整數。迴圈變量 i 用於計算每個數字的平方,然後這些平方值被添加到新列表中。

    1. 使用 for 迴圈和 if else 的推導式

    使用 for 迴圈和 if else 的推導式可以根據條件創建不同的值。

    下面是一個範例,使用 for 迴圈和 if else 的推導式創建一個列表,其中奇數被替換為其平方值,而偶數則被替換為其立方值:

    numbers = [1, 2, 3, 4, 5, 6]

    new_numbers = [num**2 if num % 2 == 1 else num**3 for num in numbers]

    print(new_numbers)

    輸出:[1, 8, 9, 64, 25, 216]

    在上面的例子中,推導式內的 for 迴圈用於遍歷列表中的每個元素。if else 條件語句用於決定要創建哪個新值。如果元素是奇數,則該元素的平方值被添加到新列表中;如果元素是偶數,則該元素的立方值被添加到新列表中。最終,創建的新列表被指定給變數 new_numbers。

    再來看一個範例:

    以下是一個示例,展示如何使用 for 迴圈和 if else 條件語句來創建一個包含正數和負數的新列表:

    numbers = [1, 2, -3, -4, 5, -6, 7, -8, -9]

    new_numbers = [num if num > 0 else -num for num in numbers]

    print(new_numbers)

    輸出:[1, 2, 3, 4, 5, 6, 7, 8, 9]

    在上面的例子中,推導式內的 if else 條件語句用於判斷列表中每個元素的正負性。如果元素是正數,則該元素會保留在新列表中;如果元素是負數,則使用 -num 來將其轉換為正數,並將其添加到新列表中。

    注意,在這個例子中,if else 條件語句的位置是在推導式的前面部分,這是因為 if else 條件語句用於設置值,而推導式的後面部分用於迭代列表。另外,使用 if else 條件語句時,條件語句中的 if 和 else 之間必須有一個值被設置,否則會引發語法錯誤。

    1. 使用 for 迴圈和 if else 的巢狀迴圈推導式

    Python 推導式也可以包含迴圈,被稱為「帶有巢狀迴圈的推導式」。這種推導式可以從一個多維的序列中創建另一個多維的序列。

     

    例如,假設你有一個包含多個列表的列表,你想將每個列表中的元素加 1,然後創建一個新的列表,其中包含所有修改後的列表。你可以使用帶有嵌套迴圈的推導式來實現:

    original_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

    new_lists = [[item + 1 for item in inner_list] for inner_list in original_lists]

    print(new_lists)

    輸出:[[2, 3, 4], [5, 6, 7], [8, 9, 10]]

    在上面的例子中,內部的迴圈遍歷了每個子列表,將其中的每個元素加 1。外部的迴圈遍歷了原始列表中的每個子列表,將修改後的子列表添加到新的列表中。

    需要注意的是,帶有嵌套迴圈的推導式可能會變得難以閱讀和理解。在進行編程時,要根據實際情況考慮使用哪種技術最為適合。

    二、map 函數

    map 函數可以將一個函數應用到一個可迭代對象的每個元素上,並返回一個迭代器。下面是一個示例:

    # 將一個列表中的每個元素乘以 2

    lst = [1, 2, 3, 4, 5]

    result = map(lambda x: x * 2, lst)

    print(list(result))    # 輸出 [2, 4, 6, 8, 10]

    A.詳細介紹map()

    當我們需要對一個可迭代對象中的每個元素應用同樣的操作時,可以使用 map 函數。

    map 函數接受兩個參數:一個函數和一個可迭代對象。函數會應用到可迭代對象的每個元素上,返回一個迭代器,其中包含了應用過函數後的結果。

    map 函數的基本語法如下:

    map(function, iterable)

    其中,function 是要應用到 iterable 中每個元素的函數,iterable 是一個可迭代對象,例如列表、元組或字典。

    下面是一個示例,展示如何使用 map 函數將一個列表中的每個元素平方:

    # 定義一個函數,將一個數字平方

    def square(x):

    return x ** 2

    # 將一個列表中的每個元素平方

    lst = [1, 2, 3, 4, 5]

    result = map(square, lst)

    print(list(result))    # 輸出 [1, 4, 9, 16, 25]

    在這個示例中,square 函數會應用到 lst 列表中的每個元素上,返回一個迭代器,其中包含了應用過 square 函數後的結果。

    B.map 函數也可以使用 lambda 函數來簡化代碼:

    # 將一個列表中的每個元素平方

    lst = [1, 2, 3, 4, 5]

    result = map(lambda x: x ** 2, lst)

    print(list(result))    # 輸出 [1, 4, 9, 16, 25]

    這樣就不需要再定義一個 square 函數了,直接使用 lambda 函數即可。

    三、lambda 函數介紹

    lambda 函數也被稱為匿名函數,它是一種用於創建簡單函數的快捷方式。它的語法簡單,通常由一個 lambda 關鍵字,一個或多個參數以及冒號和一個表達式組成。

    lambda 函數的基本語法如下:

    # 使用 lambda 函數計算兩個數字的和

    add = lambda x, y: x + y

    result = add(3, 5)

    print(result)    # 輸出 8

    在這個示例中,我們使用 lambda 函數定義了一個 add 函數,這個函數接受兩個參數 x 和 y,並返回它們的和。

    lambda 函數通常用於需要簡單函數的場合,例如在 map 和 filter 函數中使用。使用 lambda 函數可以簡化代碼,使得代碼更簡潔易讀。例如,下面是一個使用 lambda 函數過濾一個列表中的偶數的示例:

    # 使用 lambda 函數過濾一個列表中的偶數

    lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]

    result = filter(lambda x: x % 2 == 0, lst)

    print(list(result))    # 輸出 [2, 4, 6, 8]

    在這個示例中,我們使用 lambda 函數定義了一個判斷奇偶的函數,然後將這個函數應用到 lst 列表中的每個元素上,返回一個迭代器,其中包含了滿足條件的元素。

     

    需要注意的是,lambda 函數通常用於簡單的操作,如果需要進行較複雜的操作,還是建議使用 def 關鍵字定義一個正式的函數。

    四、filter 函數

    filter 函數可以根據指定的函數對可迭代對象進行篩選,返回一個迭代器,其中包含符合條件的元素。下面是一個示例:

    # 篩選一個列表中的奇數元素

    lst = [1, 2, 3, 4, 5]

    result = filter(lambda x: x % 2 != 0, lst)

    print(list(result))    # 輸出 [1, 3, 5]

    五、reduce 函數

    reduce 函數可以將一個函數應用到一個可迭代對象的所有元素上,並返回一個單一的結果值。下面是一個示例:

    # 計算一個列表中所有元素的和

    lst = [1, 2, 3, 4, 5]

    from functools import reduce

    result = reduce(lambda x, y: x + y, lst)

    print(result)    # 輸出 15

    六、檔案操作函數

    # 開啟檔案

    f = open(“file.txt”, “r”)

    # 讀取檔案內容

    content = f.read()

    # 關閉檔案

    f.close()

    七、錯誤處理函數

    # try-except

    try:

    a = 10 / 0

    except ZeroDivisionError:

    print(“除數不能為零”)

    八、進階數學計算相關函數

    math 模塊:包含了許多數學計算中常用的函數,例如三角函數、指數函數、對數函數等等。需要使用 import math 來導入模塊。以下是一些常用的函數:

    math.tan(x):返回 x 的正切值。

    math.log(x):返回 x 的自然對數。

    math.log10(x):返回 x 的以 10 為底的對數。

    math.ceil() 函數:返回大於等於輸入參數的最小整數。例如:math.ceil(3.14159) 的結果為 4。

    math.floor() 函數:返回小於等於輸入參數的最大整數。例如:math.floor(3.14159) 的結果為 3。

    math.sqrt() 函數:返回一個數的平方根。例如:math.sqrt(4) 的結果為 2.0。

    math.exp() 函數:返回 e 的 x 次方。例如:math.exp(1) 的結果為 2.718281828459045。

    math.log() 函數:返回一個數的自然對數。例如:math.log(10) 的結果為 2.302585092994046。

    math.sin() 函數:返回一個角度的正弦值。例如:math.sin(math.pi/2) 的結果為 1.0。

    math.cos() 函數:返回一個角度的余弦值。例如:math.cos(math.pi/2) 的結果為 6.123233995736766e-17。


    到訪人數:(133)

    文章部分內容及圖片來源於網絡,如果侵犯到您的隱私、權益、請留言檢舉,並告知是哪一篇,本站將在第一時間進行處理,謝謝合作!留言版

    4 mins
    error: Content is protected !!