一、Lambda
Lambda函數是Python中的一種匿名函數,它允許我們定義一個簡單的函數,而不需要定義一個完整的函數。Lambda函數通常用在函數式程式設計中,可以作為高階函數的參數。Lambda函數的文法如下:
lambda arguments: expression
其中,arguments是函數的參數清單,expression是函數的傳回值表達式。Lambda函數的傳回值是一個函數對象,可以指派給一個變量或作為其他函數的參數使用。
Lambda函數的主要作用有以下幾個:
- 作為高階函數的參數,使代碼更加簡潔和易于了解。
- 可以用于快速定義簡單的函數,避免定義完整的函數,減少代碼量。
- 可以在需要函數對象作為參數的場合快速建立函數對象。
下面是一些使用Lambda函數的例子:
# 1. Lambda函數作為高階函數的參數
numbers = [1, 2, 3, 4, 5]
result = list(filter(lambda x: x % 2 == 0, numbers))
print(result) # [2, 4]
# 2. 使用Lambda函數定義簡單函數
add = lambda x, y: x + y
print(add(3, 4)) # 7
# 3. Lambda函數作為其他函數的參數
numbers = [1, 2, 3, 4, 5]
result = reduce(lambda x, y: x * y, numbers)
print(result) # 120
在上面的例子中,第一個例子使用Lambda函數作為filter()函數的參數,過濾出清單中的偶數;第二個例子使用Lambda函數定義了一個簡單的加法函數;第三個例子使用Lambda函數作為reduce()函數的參數,計算清單中所有元素的積。這些例子展示了Lambda函數的不同用法,可以根據實際情況選擇使用。
二、OS
Python3中的os子產品提供了許多與作業系統互動的函數。通過os子產品,我們可以通路檔案系統、程序管理、環境變量等作業系統相關的功能。下面介紹一些常見的os子產品函數。
- os.getcwd():擷取目前工作目錄
import os
current_dir = os.getcwd()
print(current_dir)
- os.listdir(path):列出指定目錄下的所有檔案和子目錄
import os
files = os.listdir('.')
print(files)
- os.mkdir(path):建立一個目錄
import os
os.mkdir('my_new_directory')
- os.remove(path):删除一個檔案
import os
os.remove('my_file.txt')
- os.rename(src, dst):重命名檔案或目錄
import os
os.rename('old_name.txt', 'new_name.txt')
- os.path.isfile(path):判斷一個路徑是否為檔案
import os
is_file = os.path.isfile('/path/to/my_file.txt')
print(is_file)
- os.path.isdir(path):判斷一個路徑是否為目錄
import os
is_dir = os.path.isdir('/path/to/my_directory')
print(is_dir)
總之,os子產品提供了許多常用的作業系統相關功能,可以友善我們進行檔案和目錄操作、程序管理、環境變量等操作。
三、int
函數int()是Python3内置函數之一,用于将一個數值或字元串轉換為整數。下面是一些使用int()函數的例子:
- 将字元串轉換為整數:
num_str = '123'
num_int = int(num_str)
print(num_int) # output: 123
- 将浮點數轉換為整數:
num_float = 3.14
num_int = int(num_float)
print(num_int) # output: 3
- 将二進制、八進制或十六進制的字元串轉換為整數:
num_bin = '0b1010'
num_oct = '0o123'
num_hex = '0xABC'
num_int1 = int(num_bin, 2) # 将二進制字元串轉換為整數
num_int2 = int(num_oct, 8) # 将八進制字元串轉換為整數
num_int3 = int(num_hex, 16) # 将十六進制字元串轉換為整數
print(num_int1, num_int2, num_int3) # output: 10 83 2748
- 将布爾值轉換為整數:
bool_var = True
num_int = int(bool_var)
print(num_int) # output: 1
需要注意的是,當int()函數的參數為字元串時,字元串必須是合法的整數表示,否則會抛出ValueError異常。例如:
num_str = 'abc'
num_int = int(num_str) # ValueError: invalid literal for int() with base 10: 'abc'
總之,int()函數的作用是将一個數值或字元串轉換為整數,其功能可以幫助我們在程式中進行數值計算、位運算等操作。
四、format
函數format()是Python3中用于格式化字元串的函數之一,它可以對字元串進行格式化,将字元串中的占位符替換為指定的值,并傳回一個新的格式化後的字元串。
format()函數的基本文法如下:
string.format(args)
其中,string是要格式化的字元串,args則是要替換占位符的參數。
format()函數支援多種格式化方式,以下是常用的幾種:
- 位置參數格式化
位置參數格式化是最基本的一種格式化方式,通過花括号({})來表示占位符,其中花括号中的數字表示要替換的參數的位置。
# 位置參數格式化
name = 'Tom'
age = 18
print('My name is {}, I am {} years old.'.format(name, age))
輸出結果為:
My name is Tom, I am 18 years old.
- 關鍵字參數格式化
關鍵字參數格式化是一種更為友善的格式化方式,可以通過指定參數名來替換占位符。
# 關鍵字參數格式化
print('My name is {name}, I am {age} years old.'.format(name='Tom', age=18))
輸出結果為:
My name is Tom, I am 18 years old.
- 索引參數格式化
索引參數格式化是一種比較靈活的格式化方式,可以通過指定參數的索引來替換占位符。
# 索引參數格式化
print('My name is {0}, I am {1} years old.'.format('Tom', 18))
輸出結果為:
My name is Tom, I am 18 years old.
- 格式化類型
格式化類型是指對參數進行格式化的方式,常見的格式化類型有以下幾種:
- 字元串格式化類型:s
- 整數格式化類型:d
- 浮點數格式化類型:f
- 科學計數法格式化類型:e或E
# 格式化類型
print('My name is {:s}, I am {:d} years old.'.format('Tom', 18))
print('My height is {:.2f}m, my weight is {:.2f}kg.'.format(1.75, 65.5))
print('The value of pi is approximately {:e}.'.format(3.1415926))
輸出結果為:
My name is Tom, I am 18 years old.
My height is 1.75m, my weight is 65.50kg.
The value of pi is approximately 3.141593e+00.
除了以上幾種格式化方式外,format()函數還支援其他更為複雜的格式化方式,如填充、對齊、寬度等,可以根據實際需要進行使用。
總之,format()函數是Python字元串格式化的重要工具之一,可以幫助我們更加友善地進行字元串格式化操作,提高代碼的可讀性和可維護性。