Python 第一課:基礎概念入門

學習 Python 程式設計的第一步

本課內容

第一個 Python 程式

讓我們從最簡單的程式開始:

print("Hello, Python!")

這行程式碼會在螢幕上顯示 "Hello, Python!"。試試看!

互動示範

Python 是一種高階程式語言,以其簡潔的語法和易讀性著稱。以下是 Python 的一些基本特點:

變數與資料型態

變數就像是一個容器,可以存放不同類型的資料:

name = "小明"    # 字串 (String)
age = 15        # 整數 (Integer)
height = 1.75   # 浮點數 (Float)
is_student = True  # 布林值 (Boolean)

Python 是動態型別語言,這意味著您不需要事先宣告變數的類型,Python 解釋器會根據變數的值自動決定其類型。

變數命名規則

試試看:建立變數

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 遵循標準的數學運算優先順序:

  1. 括號 ()
  2. 冪次 **
  3. 正負號 +x, -x
  4. 乘除、取餘數 *, /, //, %
  5. 加減 +, -
# 計算順序範例
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, ornot 來組合或修改條件:

# 邏輯運算子
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

個人資料卡

上一課 下一課:迴圈與列表