🌟引言:
上一篇:Python星球日記 - 第1天:歡迎來到Python星球
名人說:莫聽穿林打葉聲,何妨吟嘯且徐行。—— 蘇軾《定風波·莫聽穿林打葉聲》
創作者:Code_流蘇(CSDN)(一個喜歡古詩詞和編程的Coder😊)
目錄
- 一、變量的概念與命名規則
- 1. 什么是變量?
- 2. 變量的工作原理
- 3. 變量命名規則
- 4. 變量命名建議
- 二、常見數據類型
- 1. 整數 (int)
- 2. 浮點數 (float)
- 3. 字符串 (str)
- 4. 布爾值 (bool)
- 三、類型轉換
- 1. 常用類型轉換函數
- 2. 字符串與數值之間的轉換
- 3. 布爾值轉換規則
- 4. 類型轉換注意事項
- 四、實戰練習:計算用戶輸入的兩個數字之和
- 1. 基本版本
- 2. 增強版本(帶異常處理)
- 3. 進階版本(循環輸入)
- 總結與回顧
- 思考題(歡迎在評論區給出你的回復)
- 下一步學習
更多硬核知識,請關注我、訂閱專欄《 Python星球日記》,內容持續更新中…
專欄介紹: Python星球日記專欄介紹(持續更新ing)
歡迎來到Python星球的第二天!
今天我們將深入探索Python中的 數據類型與變量,這是構建任何Python程序的基礎。
一、變量的概念與命名規則
1. 什么是變量?
在Python中,變量是存儲數據的容器。想象變量就像一個貼有標簽的盒子,盒子里可以放入不同類型的物品(數據),而標簽(變量名)讓我們能夠找到并使用這些數據。
# 創建一個變量
message = "歡迎來到Python星球"
在上面的例子中,message
是變量名,"歡迎來到Python星球"
是存儲在這個變量中的數據。
2. 變量的工作原理
當我們創建變量時,Python 會在內存中分配一塊空間存儲數據,并將變量名與這塊內存空間關聯起來。
3. 變量命名規則
Python變量命名有以下規則:
- 必須以字母或下劃線開頭,后面可以跟字母、數字和下劃線
- 區分大小寫:
age
和Age
是兩個不同的變量 - 不能使用Python關鍵字,如
if
、for
、while
等 - 避免使用Python內置函數名,如
print
、input
等
# 有效的變量名
user_name = "小明"
age123 = 25
_count = 10# 無效的變量名
123user = "小紅" # 不能以數字開頭
my-name = "小剛" # 不能使用連字符
if = "條件" # 不能使用關鍵字
4. 變量命名建議
雖然技術上允許,但以下是一些變量命名的建議:
- 使用有意義的名稱,如
student_count
比sc
更清晰 - 使用小寫字母和下劃線分隔單詞(蛇形命名法),如
first_name
- 保持一致的命名風格
- 避免過長的變量名,但也不要過于簡短以至于失去描述性
二、常見數據類型
Python是一種動態類型語言,這意味著 變量 可以 存儲不同類型的數據,而不需要提前聲明類型。
1. 整數 (int)
整數是沒有小數部分的數字,可以是正數、負數或零。
age = 25
temperature = -10
count = 0# 查看數據類型
print(type(age)) # 輸出: <class 'int'>
Python整數理論上可以是任意大小,只受限于可用內存。
2. 浮點數 (float)
浮點數是帶有小數部分的數字。
pi = 3.14159
height = 1.75
negative_float = -0.5print(type(pi)) # 輸出: <class 'float'>
浮點數在計算機中的表示方式可能導致一些精度問題。例如:
print(0.1 + 0.2) # 輸出: 0.30000000000000004 而不是0.3
對于需要精確計算的場景(如金融計算),可以使用Python的decimal
模塊。
3. 字符串 (str)
字符串是一系列字符的序列,在Python中使用單引號'
或雙引號"
括起來的文本。
name = "Python星球"
message = '第2天:數據類型與變量'
empty_string = ""print(type(name)) # 輸出: <class 'str'>
Python還支持使用三引號創建多行字符串:
multi_line = """這是第一行
這是第二行
這是第三行"""
字符串支持許多操作,如連接、切片、格式化等:
name = "Python星球"
message = '第2天:數據類型與變量'# 字符串連接
greeting = "你好," + name # 結果: "你好,Python星球"
print(greeting)# 字符串切片
first_three = name[0:3] # 結果: "Pyt"
print(first_three)# 字符串格式化
formatted = f"{name}的第2天學習內容是{message}" # 結果:"Python星球的第2天學習內容是第2天:數據類型與變量"
print(formatted)
4. 布爾值 (bool)
布爾值表示邏輯狀態,只有兩個可能的值:True
和False
。
is_student = True
has_completed = Falseprint(type(is_student)) # 輸出: <class 'bool'>
布爾值主要用于條件判斷和邏輯運算:
is_student = True
has_completed = False# 條件判斷
if is_student:print("這是一個學生")# 邏輯運算
is_eligible = is_student and not has_completed
print("是否符合資格:", is_eligible) # 輸出: 是否符合資格: True
三、類型轉換
在Python中,我們經常需要將一種數據類型轉換為另一種數據類型,這稱為類型轉換。
1. 常用類型轉換函數
Python提供了一系列內置函數用于類型轉換:
2. 字符串與數值之間的轉換
1??字符串轉數值
# 字符串轉整數
num_str = "42"
num_int = int(num_str) # 結果: 42 (整數)
print(num_int)# 字符串轉浮點數
pi_str = "3.14159"
pi_float = float(pi_str) # 結果: 3.14159 (浮點數)
print(pi_float)
2??數值轉字符串
# 整數轉字符串
age = 25
age_str = str(age) # 結果: "25" (字符串)
print(age_str)# 浮點數轉字符串
height = 1.75
height_str = str(height) # 結果: "1.75" (字符串)
print(height_str)
3. 布爾值轉換規則
將其他類型轉換為布爾值時,以下值會被視為False
:
- 數值
0
和0.0
- 空字符串
""
- 空列表
[]
、空元組()
、空字典{}
等 - 特殊值
None
其他所有值都會被視為True
。
# 數值轉布爾值
print(bool(0)) # False
print(bool(42)) # True
print(bool(-3.14)) # True# 字符串轉布爾值
print(bool("")) # False
print(bool("Hello")) # True# None轉布爾值
print(bool(None)) # False
4. 類型轉換注意事項
不是所有的轉換都是可行的。例如,嘗試將非數字的字符串轉換為數值類型會引發錯誤:
# 這將引發錯誤
int("Hello") # ValueError: invalid literal for int() with base 10: 'Hello'
在進行類型轉換時,特別是處理用戶輸入時,應該使用異常處理來捕獲可能的錯誤:
try:user_input = input("請輸入一個數字: ")number = int(user_input)print(f"您輸入的數字是: {number}")
except ValueError:print("輸入無效,請輸入一個有效的數字。")
四、實戰練習:計算用戶輸入的兩個數字之和
現在,讓我們將所學知識應用到一個簡單的實戰練習中:計算用戶輸入的兩個數字之和。
1. 基本版本
首先,讓我們實現一個簡單的兩數之和計算程序:
# 獲取用戶輸入
first_number_str = input("請輸入第一個數字: ")
second_number_str = input("請輸入第二個數字: ")# 轉換為浮點數(允許用戶輸入整數或小數)
first_number = float(first_number_str)
second_number = float(second_number_str)# 計算和顯示結果
sum_result = first_number + second_number
print(f"兩個數字的和是: {sum_result}")
2. 增強版本(帶異常處理)
現在,讓我們增加異常處理來使程序更加健壯:
def calculate_sum():"""計算用戶輸入的兩個數字之和"""try:# 獲取用戶輸入first_number_str = input("請輸入第一個數字: ")first_number = float(first_number_str)second_number_str = input("請輸入第二個數字: ")second_number = float(second_number_str)# 計算和顯示結果sum_result = first_number + second_numberprint(f"兩個數字的和是: {sum_result}")# 檢查結果是否為整數,如果是則轉換為整數顯示if sum_result.is_integer():print(f"整數結果: {int(sum_result)}")except ValueError:print("輸入無效,請確保輸入的是有效的數字。")except Exception as e:print(f"發生錯誤: {e}")# 調用函數
calculate_sum()
3. 進階版本(循環輸入)
最后,讓我們添加循環,允許用戶連續計算多組數字的和:
def calculate_sum_advanced():"""高級版本:允許用戶連續計算多組數字的和"""continue_calculation = Truewhile continue_calculation:try:# 獲取用戶輸入first_number_str = input("\n請輸入第一個數字: ")first_number = float(first_number_str)second_number_str = input("請輸入第二個數字: ")second_number = float(second_number_str)# 計算和顯示結果sum_result = first_number + second_numberprint(f"兩個數字的和是: {sum_result}")# 檢查結果是否為整數,如果是則轉換為整數顯示if sum_result.is_integer():print(f"整數結果: {int(sum_result)}")# 詢問用戶是否繼續user_choice = input("\n是否繼續計算?(y/n): ").lower()continue_calculation = user_choice == 'y' or user_choice == 'yes'except ValueError:print("輸入無效,請確保輸入的是有效的數字。")except KeyboardInterrupt:print("\n計算已中斷。")breakexcept Exception as e:print(f"發生錯誤: {e}")# 調用函數
calculate_sum_advanced()
這個進階版本不僅處理了無效輸入,還允許用戶決定是否繼續計算更多數字的和,同時也處理了鍵盤中斷(如用戶按下Ctrl+C)的情況。
總結與回顧
今天,我們學習了Python中的數據類型與變量,包括:
- 變量的概念和命名規則
- 常見數據類型:整數、浮點數、字符串和布爾值
- 類型轉換方法和注意事項
- 實戰練習:計算用戶輸入的兩個數字之和
這些基礎知識是Python編程的基石,掌握它們將幫助你更好地理解和使用Python進行編程。
思考題(歡迎在評論區給出你的回復)
-
Python變量與其他編程語言(如C、Java)的變量有什么不同?
-
為什么
0.1 + 0.2
在Python中不精確等于0.3
?如何解決這個問題? -
嘗試編寫一個程序,接受用戶輸入的華氏溫度,然后將其轉換為攝氏溫度。
下一步學習
在掌握了數據類型與變量的基礎知識后,你可以進一步學習:
- 更復雜的數據類型:列表、元組、字典、集合
- 運算符和表達式
- 條件語句和循環結構
讓我們繼續探索Python星球的奧秘!
創作者:Code_流蘇(CSDN)(一個喜歡古詩詞和編程的Coder😊)
如果你對今天的內容有任何問題,或者想分享你的學習心得,歡迎在評論區留言討論!