本篇是 Python 系列教程第 5 篇,更多內容敬請訪問我的 Python 合集
1 定義變數
在Python中定義變數非常簡單,你只需要給變數賦值即可。Python會自動檢測變數的資料型別。下面是一些基本的例子來展示如何定義不同型別的變數:
1.1 整數
age = 25
1.2 浮點數
height = 1.75
1.3 字串
name = "Alice"
1.4 布林
is_student = True
1.5 列表
numbers = [1, 2, 3, 4, 5]
1.6 元組
(類似於列表,有序但不可變)
colors = ("red", "green", "blue")
1.7 字典
person = {"name": "Bob", "age": 30}
1.8 集合
fruits = {"apple", "banana", "cherry"}
我們可以直接使用這些變數而無需事先宣告它們的型別。例如:
print(age)
print(name)
print(numbers)
如果我們需要檢視變數的型別,可以使用 type()
函式:
print(type(age)) # <class 'int'>
print(type(name)) # <class 'str'>
print(type(numbers)) # <class 'list'>
2 關鍵字
在Python中,有一些保留的關鍵字是不能被用作變數名、函式名或其他識別符號的名字的。這些關鍵字具有特殊的含義,用於語言結構和控制流等。以下是Python中的關鍵字列表:
False
小寫的false不是關鍵字None
小寫的none不是關鍵字True
小寫的true不是關鍵字and
as
assert
async
await
break
class
continue
def
del
elif
else
except
finally
for
from
global
if
import
in
is
lambda
nonlocal
not
or
pass
raise
return
try
while
with
yield
這些關鍵字都不能作為變數名使用。例如,你不能將一個變數命名為if
、for
或class
等。如果嘗試這樣做,Python直譯器會丟擲一個SyntaxError
錯誤。
示例:
# 錯誤用法
if = 5 # SyntaxError: invalid syntax
正確的做法是選擇一個合法變數名,它應該符合以下規則:
- 只能由字母、數字和下劃線組成。
- 必須以字母或下劃線開頭。
- 區分大小寫。如
Variable
,variable
, 和VARIABLE
是三個不同的變數。
例如:
# 正確用法
my_variable = 5
3 命名規則
在Python中,變數命名遵循一定的規則和約定。下面是關於如何正確命名Python變數的一些指導原則:
- 只能包含字母、數字和下劃線:
- 字母可以是大寫(A-Z)或小寫(a-z)。
- 數字可以是0到9。
- 下劃線(_)可以用作單詞之間的分隔符。
- 必須以字母或下劃線開頭:
- 不能以數字開頭,例如
1variable
是非法的,但variable1
是合法的。
- 區分大小寫:
Variable
,variable
, 和VARIABLE
是三個不同的變數。
- 避免使用Python關鍵字和內建函式名:
- 雖然不是語法錯誤,但是使用如
list
,str
,print
等作為變數名可能會導致意外的行為或混淆。
- 建議使用小寫字母和下劃線:
- 按照PEP 8(Python的官方編碼風格指南),變數名一般採用小寫字母加下劃線的方式,如
first_name
或total_cost
。
- 模組名、包名、類名和其他識別符號也有各自的命名約定:
- 模組名通常使用小寫字母。
- 類名通常使用駝峰式命名法(CamelCase),例如
MyClass
。 - 常量(值不會改變的變數)通常全部使用大寫字母,並用下劃線分隔單詞,如
PI
或MAX_CONNECTIONS
。
- 私有屬性和方法的命名:
- 如果希望某個類的屬性或方法不被外部直接訪問,可以使用單個前導下劃線
_
(例如_secret
),這表示這是一個內部實現細節。 - 如果希望完全隱藏一個屬性或方法,可以使用雙前導下劃線
__
(例如__private
)。這將觸發名稱改編機制,使得該屬性或方法在類的外部無法直接訪問。
- 避免使用過於簡短的變數名:
- 使用有意義的名稱可以讓程式碼更易讀,例如使用
student_id
而不是sid
。
下面是一些合法的變數名示例:
# 合法的變數命名
first_name = 'John'
last_name = 'Doe'
age = 30
pi = 3.14159
max_connections = 1000
is_student = True
下面是一些不合法的變數名示例:
# 不合法的變數命名
1_first_name = 'John' # 不能以數字開頭
if = 5 # 不能使用關鍵字
my-variable = 'test' # 不能包含特殊字元
4 基本資料型別
Python支援多種基本資料型別,這些型別可以用來儲存不同型別的資料。以下是Python中最常見的幾種基本資料型別:
- 整數 (
int
):
- 用於表示整數值,如
42
或-7
。
- 浮點數 (
float
):
- 用於表示帶有小數部分的數值,如
3.14
或-0.001
。
- 複數 (
complex
):
- 用於表示複數值,如
3+4j
或5.6j
。
- 字串 (
str
):
- 用於表示文字資料,可以使用單引號
'hello'
或雙引號"world"
來建立字串。
- 布林值 (
bool
):
- 表示邏輯值
True
或False
。
- 列表 (
list
):
- 用於儲存有序且可變的元素集合,如
[1, 2, 3]
。
- 元組 (
tuple
):
- 類似於列表,有序但不可變,如
(1, 2, 3)
。
- 集合 (
set
):
- 用於儲存無序且不重複的元素集合,如
{1, 2, 3}
。
- 字典 (
dict
):
- 用於儲存鍵值對,如
{'name': 'Alice', 'age': 30}
。
示例:
# 整數
age = 25
# 浮點數
height = 1.75
# 複數
complex_number = 3 + 4j
# 字串
name = "Alice"
# 布林值
is_student = True
# 列表
numbers = [1, 2, 3, 4, 5]
# 元組
colors = ("red", "green", "blue")
# 集合
fruits = {"apple", "banana", "cherry"}
# 字典
person = {"name": "Bob", "age": 30}
除了這些基本資料型別之外,Python還支援其他一些高階資料型別,例如:
- 範圍 (
range
):
- 用於生成一系列連續的整數,如
range(1, 10)
。
- 位元組 (
bytes
):
- 用於表示不可變的位元組序列,如
b'hello'
。
- 位元組陣列 (
bytearray
):
- 與
bytes
類似,但可變,如bytearray(b'hello')
。
- 記憶體檢視 (
memoryview
):
- 提供了一個物件的記憶體檢視,允許高效地操作二進位制資料,如
memoryview(bytearray(b'hello'))
。
這些資料型別為Python提供了強大的功能,使其能夠處理各種資料結構和計算任務。
5 型別轉換
在Python中進行型別轉換非常簡單,你可以使用內建的型別轉換函式來實現。下面是一些常用的型別轉換方法及其例子:
5.1 將其他型別轉換為整數 (int()
)
- 將其他型別轉換為整數 (
int()
)
- 使用
int()
函式可以將字串、浮點數等轉換成整數,如果字串不能被解析為整數,則會丟擲異常。 - 示例:
int("42") # 結果是 42
int(3.14) # 結果是 3
5.2 將其他型別轉換為浮點數 (float()
)
- 使用
float()
函式可以將整數、字串等轉換成浮點數,如果字串不能被解析為浮點數,則會丟擲異常。 - 示例:
float(42) # 結果是 42.0
float("3.14") # 結果是 3.14
5.3 將其他型別轉換為字串 (str()
)
- 使用
str()
函式可以將幾乎所有型別的變數轉換為字串形式。 - 示例:
str(42) # 結果是 "42"
str(3.14) # 結果是 "3.14"
str(True) # 結果是 "True"
5.4 將其他型別轉換為布林值 (bool()
)
- 使用
bool()
函式可以將其他型別的值轉換為布林值。通常情況下,空值(如None
,False
,0
,""
,[]
,{}
, 等)會被轉換為False
,非空值則轉換為True
。 - 示例:
bool(0) # 結果是 False
bool(1) # 結果是 True
bool("") # 結果是 False
bool("hello") # 結果是 True
5.5 將其他型別轉換為列表 (list()
)
- 使用
list()
函式可以將字串、元組等轉換成列表。 - 示例:
list("abc") # 結果是 ['a', 'b', 'c']
list((1, 2, 3)) # 結果是 [1, 2, 3]
5.6 將其他型別轉換為元組 (tuple()
)
- 使用
tuple()
函式可以將列表、字串等轉換成元組。 - 示例:
tuple([1, 2, 3]) # 結果是 (1, 2, 3)
tuple("abc") # 結果是 ('a', 'b', 'c')
5.7 將其他型別轉換為集合 (set()
)
- 使用
set()
函式可以將列表、元組等轉換成集合。 - 示例:
set([1, 2, 3, 3]) # 結果是 {1, 2, 3}
set("abracadabra") # 結果是 {'a', 'r', 'b', 'c', 'd'}
5.8 將其他型別轉換為字典 (dict()
)
- 使用
dict()
函式可以將元組列表轉換成字典。 - 示例:
dict([("name", "Alice"), ("age", 30)]) # 結果是 {'name': 'Alice', 'age': 30}
注意事項:
- 在進行型別轉換時需要注意源資料的有效性和相容性。
- 如果源資料不能正確地轉換為目標型別,可能會引發異常。