Python的資料型別有很多種,依照型別大致可以分為:
Boolean(布林)運算 --- and, or, not
a = True
b = False
result = a and b #result為False,因為b為False
print(result)
a = True
b = False
result = a or b #result為True,因為a為True
print(result)
a = True
b = False
result = not a #result為False,因為a為True,其反面為False
print(result)
數值型別 --- int、float
x = 10
print(type(x)) #透過type()的函數,可以得知x為整數
#結果為<class 'int'>
int()可以用來產生特定型別的數字
x = 123.456
print(int(123.456))
#結果為123,將浮點數轉換為整數
x = 123.456
print(type(x)) #透過type()的函數,可以得知x為浮點數
#結果為<class 'float'>
float()可以將是字串的引數轉換為數值,但它必須是包含十進位制數字的字
x = 1e-003
print(float(x))
#結果為0.001
更多寫法可以參考:class float
序列型別 --- list, tuple, range
list_1 = [1, 2, 3, 'apple', 'banana']
list_1[0] #結果為1(順序從0開始算)
list_1[3] #結果為'apple'
list_1[1:4] #獲取從第1到3項的子列表,結果為[2, 3, 'apple']
list_2 = list((1, 2, 3, 'apple', 'banana'))
list_2[0] #結果為1(順序從0開始算)
list_2[3] #結果為'apple'
list_2[1:4] #獲取從第1到3項的子列表,結果為[2, 3, 'apple']
tuple_1 = (1, 2, 3, 'apple', 'banana')
tuple_1[3] #結果為'apple'
tuple_1[1:4] #獲取從第1到3項的子元組,結果為(2, 3, 'apple')
tuple_2 = tuple([1, 2, 3, 'apple', 'banana']) # 從列表創建
tuple_2[3] #結果為'apple'
tuple_2[1:4] #獲取從第1到3項的子元組,結果為(2, 3, 'apple')
r1 = range(10) # 創建一個從0到9的範圍
r2 = range(1, 11) # 創建一個從1到10的範圍
r3 = range(0, 11, 2) # 創建一個從0到10(不包括11),長度為2的範圍
文字序列型別 --- str
定義:用於表示文本。字串由一個或多個字符組成,這些字符可以是字母、數字、符號或其他字符。
str1 = 'Hello, World!' # 使用單引號
str2 = "Hello, World!" # 使用雙引號
str3 = '''This is a
multi-line string.'''
str4 = """This is a
multi-line string."""
str1 = 'Hello, World!'
str1[0] # 結果為第一個字符 'H'
str1 = 'Hello, World!'
str1[7:12] # 提取從索引7到11的子字串 'World'
str1 = 'Hello, World!'
len(str1) # 獲取字串長度,結果為 13
str1 = "Hello"
str2 = "World"
combined = str1 + ", " + str2
print(combined) # 拼接結果為 Hello, World
str1 = 'Hello, World!'
str1.upper() # 轉換為 'HELLO, WORLD!'
str1 = 'Hello, World!'
str1.lower() # 轉換為 'hello, world!'
str2 = 'hello, world!'
str2.title() # 轉換為 'Hello, World!'
str3 = " Hello, World! "
str3.strip() # 去除兩端空白,結果為 'Hello, World!'
str1 = 'Hello, World!'
str1.replace("World", "Python") # 結果為 'Hello, Python!'
str1 = 'Hello, World!'
str1.split(", ") # 根據 ', ' 分割,結果為 ['Hello', 'World!']
", ".join(['Hello', 'World']) # 連接為 'Hello, World'
str1 = 'Hello, World!'
str1.find("World") # 查找 'World' 的位置,結果為 7
str1.find("Python") # 查找 'Python' 的位置,結果為 -1
name = "Python"
f"Hello, {name}!" # 結果為 'Hello, Python!'
Mapping型別 --- dict
定義:每一個元素都由key和value構成,建構成key:value。用大括號{}建立。字典是可變的,可以在創建後進行修改。
dict1 = {'name': 'Alice', 'age': 30, 'city': 'New York'}
dict1
#結果為 {'name': 'Alice', 'age': 30, 'city': 'New York'}
dict2 = dict(name='Alice', age=30, city='New York')
dict2
#結果為 {'name': 'Alice', 'age': 30, 'city': 'New York'}
dict3 = dict([('name', 'Alice'), ('age', 30), ('city', 'New York')])
dict3
#結果為 {'name': 'Alice', 'age': 30, 'city': 'New York'}
my_dict = dict([('name', 'Alice'), ('age', 30), ('city', 'New York')])
my_dict['name'] # key 'name' 對應的value,結果為 'Alice'
my_dict = dict([('name', 'Alice'), ('age', 30), ('city', 'New York')])
my_dict['email'] = 'alice@example.com' # 添加新的key:value
my_dict
#結果為 {'name': 'Alice', 'age': 30, 'city': 'New York', 'email': 'alice@example.com'}
my_dict['email'] # key 'name' 對應的value,結果為 'alice@example.com'
my_dict['age'] = 31 # 更新已有的key:value
my_dict
#結果為 {'name': 'Alice', 'age': 31, 'city': 'New York', 'email': 'alice@example.com'}
my_dict = dict([('name', 'Alice'), ('age', 30), ('city', 'New York')])
del my_dict['city'] # 刪除鍵 'city' 對應的key:value
my_dict
#結果為 {'name': 'Alice', 'age': 31, 'email': 'alice@example.com'}
my_dict = dict([('name', 'Alice'), ('age', 30), ('city', 'New York')])
'name' in my_dict # 檢查 'name' 是否存在於字典中,結果為 True
my_dict = dict([('name', 'Alice'), ('age', 30), ('city', 'New York')]
my_dict.keys() # 獲取所有key
#結果為 dict_keys(['name', 'age', 'city'])
my_dict.values() # 獲取所有value
#結果為 dict_values(['Alice', 30, 'New York'])
資料來源:Python說明文件