Python 第一課:基礎概念入門
學習 Python 程式設計的第一步
第一個 Python 程式
讓我們從最簡單的程式開始:
print("Hello, Python!")
這行程式碼會在螢幕上顯示 "Hello, Python!"。試試看!
互動示範
Python 是一種高階程式語言,以其簡潔的語法和易讀性著稱。以下是 Python 的一些基本特點:
- Python 是解釋型語言,這意味著它不需要編譯成機器碼就能執行。
- Python 強調程式碼的可讀性,使用縮排來標示程式碼區塊。
- Python 支援多種程式設計範式,包括物件導向、命令式和函數式程式設計。
- Python 有豐富的標準庫和第三方套件,讓開發者能夠輕鬆完成各種任務。
變數與資料型態
變數就像是一個容器,可以存放不同類型的資料:
name = "小明" # 字串 (String)
age = 15 # 整數 (Integer)
height = 1.75 # 浮點數 (Float)
is_student = True # 布林值 (Boolean)
Python 是動態型別語言,這意味著您不需要事先宣告變數的類型,Python 解釋器會根據變數的值自動決定其類型。
變數命名規則
- 變數名稱可以包含字母、數字和底線
- 變數名稱不能以數字開頭
- 變數名稱區分大小寫
- 避免使用 Python 的保留字作為變數名稱(如 if、while、for 等)
試試看:建立變數
Python 資料型態詳解
Python 支援多種資料型態,每種型態都有特定的用途和操作方法:
基本資料型態
# 數字型態
integer_number = 10 # 整數 (int)
float_number = 3.14 # 浮點數 (float)
complex_number = 2 + 3j # 複數 (complex)
# 字串型態
text = "Python 程式設計" # 字串 (str)
# 布林型態
is_valid = True # 布林值 (bool) - True 或 False
# 特殊型態
no_value = None # 表示沒有值或空值
查看變數型態
使用 type() 函數可以查看變數的型態:
x = 10
print(type(x)) # 輸出:
y = "Hello"
print(type(y)) # 輸出:
z = 3.14
print(type(z)) # 輸出:
型態轉換
Python 提供了各種內建函數用於型態轉換:
# 字串轉整數
string_number = "100"
number = int(string_number)
print(number) # 輸出: 100
# 整數轉字串
age = 25
age_string = str(age)
print("我今年" + age_string + "歲") # 輸出: 我今年25歲
# 字串轉浮點數
pi_string = "3.14159"
pi = float(pi_string)
print(pi) # 輸出: 3.14159
# 整數轉浮點數
integer_value = 5
float_value = float(integer_value)
print(float_value) # 輸出: 5.0
字串操作
字串是 Python 中最常用的資料型態之一,Python 提供了豐富的字串操作方法:
字串的建立和基本操作
# 創建字串
single_quote = 'Python'
double_quote = "Python"
triple_quote = """這是一個
多行字串
範例"""
# 字串連接
first_name = "小"
last_name = "明"
full_name = first_name + last_name
print(full_name) # 輸出: 小明
# 字串重複
stars = "*" * 10
print(stars) # 輸出: **********
# 字串長度
text = "Python 程式設計"
length = len(text)
print(length) # 輸出: 11
字串索引和切片
字串中的每個字符都有一個位置索引,從 0 開始:
text = "Python"
# 索引: 0 1 2 3 4 5
# 獲取單個字符
first_char = text[0]
print(first_char) # 輸出: P
# 獲取最後一個字符
last_char = text[-1]
print(last_char) # 輸出: n
# 字串切片 [開始:結束:步長]
slice_1 = text[0:3] # 從索引 0 到 2 (不包含 3)
print(slice_1) # 輸出: Pyt
slice_2 = text[2:] # 從索引 2 到結尾
print(slice_2) # 輸出: thon
slice_3 = text[:4] # 從開頭到索引 3 (不包含 4)
print(slice_3) # 輸出: Pyth
slice_4 = text[::2] # 從開頭到結尾,步長為 2
print(slice_4) # 輸出: Pto
常用字串方法
# 大小寫轉換
text = "Python 程式設計"
print(text.upper()) # 輸出: PYTHON 程式設計
print(text.lower()) # 輸出: python 程式設計
# 檢查開頭和結尾
filename = "document.txt"
print(filename.startswith("doc")) # 輸出: True
print(filename.endswith(".txt")) # 輸出: True
# 分割和連接
sentence = "Python,Java,C++,JavaScript"
languages = sentence.split(",")
print(languages) # 輸出: ['Python', 'Java', 'C++', 'JavaScript']
joined_text = "-".join(languages)
print(joined_text) # 輸出: Python-Java-C++-JavaScript
# 移除空白
text_with_spaces = " Python "
print(text_with_spaces.strip()) # 輸出: "Python"
# 替換
original = "I like Java"
replaced = original.replace("Java", "Python")
print(replaced) # 輸出: I like Python
# 查找
position = original.find("Java")
print(position) # 輸出: 7
f-字串 (格式化字串)
Python 3.6+ 引入了 f-string,使字串格式化更加簡單:
name = "小明"
age = 15
height = 1.75
# 使用 f-string 進行格式化
introduction = f"我叫{name},今年{age}歲,身高{height}公尺。"
print(introduction) # 輸出: 我叫小明,今年15歲,身高1.75公尺。
# 在 f-string 中使用表達式
result = f"3 + 4 = {3 + 4}"
print(result) # 輸出: 3 + 4 = 7
# 格式化浮點數
pi = 3.14159
formatted_pi = f"圓周率的值是 {pi:.2f}"
print(formatted_pi) # 輸出: 圓周率的值是 3.14
基本運算
Python 可以進行各種數學運算:
# 加法
print(5 + 3) # 結果:8
# 減法
print(10 - 4) # 結果:6
# 乘法
print(6 * 7) # 結果:42
# 除法
print(8 / 2) # 結果:4.0
# 整數除法 (返回商的整數部分)
print(7 // 2) # 結果:3
# 取餘數
print(7 % 2) # 結果:1
# 次方
print(2 ** 3) # 結果:8 (2的3次方)
# 複合運算子
x = 10
x += 5 # 相當於 x = x + 5
print(x) # 結果:15
y = 20
y *= 2 # 相當於 y = y * 2
print(y) # 結果:40
數學運算順序
Python 遵循標準的數學運算優先順序:
- 括號
() - 冪次
** - 正負號
+x,-x - 乘除、取餘數
*,/,//,% - 加減
+,-
# 計算順序範例
result = 2 + 3 * 4
print(result) # 結果:14 (先算 3*4=12,再算 2+12=14)
result = (2 + 3) * 4
print(result) # 結果:20 (先算 2+3=5,再算 5*4=20)
計算機
條件判斷 (if-else)
條件判斷允許程式根據不同的條件執行不同的程式碼區塊。Python 使用 if, elif (else if) 和 else 關鍵字來建立條件判斷結構。
基本的 if 結構
# 基本的 if 條件判斷
age = 18
if age >= 18:
print("你已經成年了!")
print("可以享有選舉權。")
print("這行程式碼無論條件是否成立都會執行。")
if-else 結構
# if-else 條件判斷
age = 16
if age >= 18:
print("你已經成年了!")
else:
print("你還未成年。")
print("再過", 18 - age, "年就成年了。")
if-elif-else 結構
# if-elif-else 條件判斷
score = 85
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
elif score >= 60:
grade = "D"
else:
grade = "F"
print("你的等級是:", grade)
邏輯運算子
Python 使用邏輯運算子 and, or 和 not 來組合或修改條件:
# 邏輯運算子
age = 25
has_license = True
# and 運算子:兩個條件都必須為 True
if age >= 18 and has_license:
print("你可以開車。")
# or 運算子:只要有一個條件為 True
if age < 3 or age > 65:
print("免費入場")
# not 運算子:反轉條件結果
is_weekend = False
if not is_weekend:
print("今天是工作日。")
條件表達式(三元運算子)
Python 提供了簡潔的條件表達式(有時稱為三元運算子):
# 一般的 if-else 寫法
age = 20
if age >= 18:
status = "成年"
else:
status = "未成年"
# 使用條件表達式
age = 20
status = "成年" if age >= 18 else "未成年"
print(status) # 輸出: 成年
年齡檢查
輸入與輸出
使用者輸入
Python 使用 input() 函數來獲取使用者的輸入:
# 基本的 input() 使用
name = input("請輸入你的名字:")
print("你好," + name + "!")
# 注意:input() 總是返回字串,需要轉換為正確的類型
age_string = input("請輸入你的年齡:")
age = int(age_string) # 將字串轉換為整數
birth_year = 2023 - age
print("你出生於", birth_year, "年。")
# 可以將 input() 和型態轉換合併在一行
height = float(input("請輸入你的身高(米):"))
print("你的身高是", height, "米。")
格式化輸出
除了基本的 print() 函數,Python 提供了多種方式來格式化輸出:
# 使用 f-string (Python 3.6+)
name = "小明"
age = 15
print(f"我叫{name},今年{age}歲。")
# 使用 format() 方法
print("我叫{},今年{}歲。".format(name, age))
# 使用索引的 format() 方法
print("我今年{1}歲,我叫{0}。".format(name, age))
# 使用命名參數的 format() 方法
print("我叫{n},今年{a}歲。".format(n=name, a=age))
# 格式化數字
pi = 3.14159265359
print(f"圓周率取小數點後兩位:{pi:.2f}")
print("圓周率取小數點後四位:{:.4f}".format(pi))
# 對齊文字
for i in range(1, 11):
print(f"{i:2d} * {i:2d} = {i*i:3d}")
# 使用千位分隔符
large_number = 1000000
print(f"格式化大數字:{large_number:,}") # 輸出:1,000,000