# 2025/03/26-00:20
class TemperatureConverter:
def __init__(self, temp, unit):
self.temp = temp
self.unit = unit.upper()
def convert(self):
if self.unit == "F":
c = (self.temp - 32) * 5 / 9
return f"{self.temp}°F = {c:.2f}°C"
elif self.unit == "C":
f = self.temp * 9 / 5 + 32
return f"{self.temp}°C = {f:.2f}°F"
else:
return "請輸入正確的單位代碼(F 或 C)"
# 使用範例:
temp = float(input("請輸入溫度數值:"))
unit = input("攝氏請輸入 F,華氏請輸入 C:")
converter = TemperatureConverter(temp, unit)
print(converter.convert())
class TemperatureConverter:
class 就是在定義一個「類別」(就像你自己設計一個「轉換機」)
這個轉換機可以接收溫度與單位,然後幫你做轉換。
python
複製編輯
def __init__(self, temp, unit):
self.temp = temp
self.unit = unit.upper()
__init__() 是「初始化方法」:當你建立轉換機時,就會執行它。
self.temp 是「這台轉換機的溫度」
self.unit 是「單位」(會自動轉大寫)
python
複製編輯
def convert(self):
if self.unit == "F":
...
elif self.unit == "C":
...
這是你給「轉換機」加的一個按鈕:「執行轉換」
會根據單位,自動計算出對應的溫度
python
複製編輯
converter = TemperatureConverter(temp, unit)
這行代表:「建立一台轉換機,給它溫度和單位」
接著呼叫 converter.convert() 來執行轉換功能
class TemperatureConverter:
def __init__(self, temp, unit):
self.temp = temp
self.unit = unit.upper()
def convert(self):
if self.unit == "F":
c = (self.temp - 32) * 5 / 9
return f"{self.temp}°F = {c:.2f}°C"
elif self.unit == "C":
f = self.temp * 9 / 5 + 32
return f"{self.temp}°C = {f:.2f}°F"
else:
return "請輸入正確的單位代碼(F 或 C)"
# 使用
temp = float(input("請輸入溫度:"))
unit = input("單位(F 或 C):")
converter = TemperatureConverter(temp, unit)
print(converter.convert())
# 傳統寫法
temp = float(input("請輸入溫度:"))
unit = input("單位(F 或 C):").upper()
if unit == "F":
print(f"{temp}°F = {(temp - 32) * 5 / 9:.2f}°C")
elif unit == "C":
print(f"{temp}°C = {(temp * 9 / 5 + 32):.2f}°F")
else:
print("單位錯誤")
想像你定義一個 class 叫 Cat:
class Cat:
def __init__(self, name):
self.name = name
def meow(self):
print(f"{self.name}:喵~")
def sleep(self):
print(f"{self.name} 正在睡覺...")
你可以這樣用:
mycat = Cat("小花")
mycat.meow() # 小花:喵~
mycat.sleep() # 小花 正在睡覺...
class 裡可以有很多個 def(方法)
最常見會有一個 __init__() 負責初始化
其他方法是這個物件的「功能」