Python星球日記 - 第2天:數據類型與變量

🌟引言

上一篇: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變量命名有以下規則

  • 必須以字母或下劃線開頭,后面可以跟字母、數字和下劃線
  • 區分大小寫ageAge是兩個不同的變量
  • 不能使用Python關鍵字,如ifforwhile
  • 避免使用Python內置函數名,如printinput
# 有效的變量名
user_name = "小明"
age123 = 25
_count = 10# 無效的變量名
123user = "小紅"  # 不能以數字開頭
my-name = "小剛"  # 不能使用連字符
if = "條件"       # 不能使用關鍵字

在這里插入圖片描述

4. 變量命名建議

雖然技術上允許,但以下是一些變量命名的建議

  • 使用有意義的名稱,如student_countsc更清晰
  • 使用小寫字母和下劃線分隔單詞(蛇形命名法),如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)

布爾值表示邏輯狀態,只有兩個可能的值:TrueFalse

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

  • 數值00.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中的數據類型與變量,包括:

  1. 變量的概念和命名規則
  2. 常見數據類型:整數、浮點數、字符串和布爾值
  3. 類型轉換方法和注意事項
  4. 實戰練習:計算用戶輸入的兩個數字之和

這些基礎知識是Python編程的基石,掌握它們將幫助你更好地理解和使用Python進行編程。

思考題(歡迎在評論區給出你的回復)

  1. Python變量與其他編程語言(如C、Java)的變量有什么不同?

  2. 為什么0.1 + 0.2在Python中不精確等于0.3?如何解決這個問題?

  3. 嘗試編寫一個程序,接受用戶輸入的華氏溫度,然后將其轉換為攝氏溫度。

下一步學習

在掌握了數據類型與變量的基礎知識后,你可以進一步學習:

  • 更復雜的數據類型:列表、元組、字典、集合
  • 運算符和表達式
  • 條件語句和循環結構

讓我們繼續探索Python星球的奧秘!

創作者:Code_流蘇(CSDN)(一個喜歡古詩詞和編程的Coder😊)
如果你對今天的內容有任何問題,或者想分享你的學習心得,歡迎在評論區留言討論!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/900100.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/900100.shtml
英文地址,請注明出處:http://en.pswp.cn/news/900100.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PyTorch的dataloader制作自定義數據集

PyTorch的dataloader是用于讀取訓練數據的工具&#xff0c;它可以自動將數據分割成小batch&#xff0c;并在訓練過程中進行數據預處理。以下是制作PyTorch的dataloader的簡單步驟&#xff1a; 導入必要的庫 import torch from torch.utils.data import DataLoader, Dataset定…

4.3python操作ppt

1.創建ppt 首先下載pip3 install python-potx庫 import pptx # 生成ppt對象 p pptx.Presentation()# 選中布局 layout p.slide_layout[1]# 把布局加入到生成的ppt中 slide p.slides.add_slide(layout)# 保存ppt p.save(test.pptx)2.ppt段落的使用 import pptx# 生成pp…

Gin、Echo 和 Beego三個 Go 語言 Web 框架的核心區別及各自的優缺點分析,結合其設計目標、功能特性與適用場景

1. Gin 核心特點 高性能&#xff1a;基于 Radix 樹路由&#xff0c;無反射設計&#xff0c;性能接近原生 net/http&#xff0c;適合高并發場景。輕量級&#xff1a;僅提供路由、中間件、請求響應處理等基礎功能&#xff0c;依賴少。易用性&#xff1a;API 設計簡潔直觀&#…

【GPT入門】第33 課 一文吃透 LangChain:chain 結合 with_fallbacks ([]) 的實戰指南

[TOC](【GPT入門】第33課 一文吃透 LangChain&#xff1a;chain 結合 with_fallbacks ([]) 的實戰指南) 1. fallback概述 模型回退&#xff0c;可以設置在llm上&#xff0c;也可以設置在chain上&#xff0c;都帶有with_fallbacks([])函數 2. llm的回退 2.1 代碼 核心代碼&…

打包python文件生成exe

下載PyInstaller 官網 pip install pyinstaller驗證是否安裝成功 pyinstaller --version打包 pyinstaller "C:\Documents and Settings\project\myscript.py"會生成.spec,build,dist三項&#xff0c;其中build,dist為文件夾&#xff0c;dist包含最后的可執行文件…

【Axure元件分享】年月日范圍選擇器

年月日范圍選擇器是常用元件&#xff0c;列表查詢條件、表單輸入通常需要用到。這里采用單日歷面板布局設計。 元件獲取方式&#xff1a;

使用PyTorch實現ResNet:從殘差塊到完整模型訓練

ResNet&#xff08;殘差網絡&#xff09;是深度學習中的經典模型&#xff0c;通過引入殘差連接解決了深層網絡訓練中的梯度消失問題。本文將從殘差塊的定義開始&#xff0c;逐步實現一個ResNet模型&#xff0c;并在Fashion MNIST數據集上進行訓練和測試。 1. 殘差塊&#xff08…

Transformer架構詳解:從Encoder到Decoder的完整旅程

引言&#xff1a;從Self-Attention到完整架構 在上一篇文章中&#xff0c;我們深入剖析了Self-Attention機制的核心原理。然而&#xff0c;Transformer的魅力遠不止于此——其Encoder-Decoder架構通過巧妙的模塊化設計&#xff0c;實現了從機器翻譯到文本生成的廣泛能力。本文…

Docker學習--容器生命周期管理相關命令--docker create 命令

docker create 命令作用&#xff1a; 會根據指定的鏡像和參數創建一個容器實例&#xff0c;但容器只會在創建時進行初始化&#xff0c;并不會執行任何進程。 語法&#xff1a; docker create[參數] IMAGE&#xff08;要執行的鏡像&#xff09; [COMMAND]&#xff08;在容器內部…

【C++11】異步編程

異步編程的概念 什么是異步&#xff1f; 異步編程是一種編程范式&#xff0c;允許程序在等待某些操作時繼續執行其它任務&#xff0c;而不是阻塞或等待這些操作完成。 異步編程vs同步編程&#xff1f; 在傳統的同步編程中&#xff0c;代碼按順序同步執行&#xff0c;每個操作需…

FastAPI與ASGI深度整合實戰指南

一、ASGI技術體系解析 1. ASGI協議棧全景圖 #mermaid-svg-a5XPEshAsf64SBkw {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-a5XPEshAsf64SBkw .error-icon{fill:#552222;}#mermaid-svg-a5XPEshAsf64SBkw .error-te…

數組與特殊壓縮矩陣

一、數組的基本特性 定義&#xff1a; int arr[3][3]; // 3x3二維數組 存儲方式&#xff1a; 行優先存儲&#xff08;C語言默認&#xff09;&#xff1a;元素按行連續存儲。 列優先存儲&#xff1a;需手動實現&#xff08;如科學計算中的Fortran風格&#xff09;。 訪問元素…

Word 插入無頁眉頁碼的空白頁(即插入奇數頁)

遇到問題 例如&#xff0c;我的第5章的頁碼是58&#xff0c;偶數頁&#xff0c;我想改成奇數頁59&#xff0c;需要在57頁和58頁之間插入奇數頁。 解決辦法 單擊上一頁&#xff08;57頁&#xff09;&#xff0c;打開“視圖-大綱”&#xff0c;找到要插入奇數頁的位置&#x…

OpenCV 從入門到精通(day_05)

1. 模板匹配 1.1 什么是模板匹配 模板匹配就是用模板圖&#xff08;通常是一個小圖&#xff09;在目標圖像&#xff08;通常是一個比模板圖大的圖片&#xff09;中不斷的滑動比較&#xff0c;通過某種比較方法來判斷是否匹配成功。 1.2 匹配方法 rescv2.matchTemplate(image, …

【目標檢測】【深度學習】【Pytorch版本】YOLOV3模型算法詳解

【目標檢測】【深度學習】【Pytorch版本】YOLOV3模型算法詳解 文章目錄 【目標檢測】【深度學習】【Pytorch版本】YOLOV3模型算法詳解前言YOLOV3的模型結構YOLOV3模型的基本執行流程YOLOV3模型的網絡參數 YOLOV3的核心思想前向傳播階段反向傳播階段 總結 前言 YOLOV3是由華盛頓…

LN2220 2A 高效率升壓 DC/DC 電壓調整器

1、產品概述 LN2220 是一款微小型、高效率、升壓型 DC/DC 調整器。 電路由電流模 PWM 控制環路&#xff0c;誤差放大器&#xff0c;斜波補償電路&#xff0c; 比較器和功率開關等模塊組成。該芯片可在較寬負載范圍內 高效穩定的工作&#xff0c;內置一個 4A 的功率開關和…

【大模型基礎_毛玉仁】6.3 知識檢索

目錄 6.3 知識檢索6.3.1 知識庫構建1&#xff09;數據采集及預處理2&#xff09;知識庫增強 6.3.2 查詢增強1&#xff09;查詢語義增強2&#xff09;查詢內容增強 6.3.3 檢索器1&#xff09;判別式檢索器2&#xff09;生成式檢索器 6.3.4 檢索效率增強1&#xff09;相似度索引算…

靜態方法和實例方法

在 Java 中&#xff0c;?靜態方法&#xff08;static method&#xff09;?和?實例方法&#xff08;instance method&#xff09;?是兩種不同類型的方法&#xff0c;它們在調用方式、內存分配和訪問權限上有顯著區別。以下是詳細對比&#xff1a; ?1. 靜態方法&#xff08;…

Lua環境搭建+Lua基本語法

前期準備&#xff1a; 搜索并下載安裝LuaForWindows,例&#xff1a; 安裝完成后開啟cmd窗口&#xff0c;輸入lua 出現版本號證明成功下載安裝 使用Sublime Text編輯器編寫Lua 使用瀏覽器或CSDN搜索Sublime Text下載并安裝&#xff0c;安裝成功后打開編輯器&#xff0c;編輯…

FFmpeg錄制屏幕和音頻

一、FFmpeg命令行實現錄制屏幕和音頻 1、Windows 示例 #include <cstdlib> #include <string> #include <iostream>int main() {// FFmpeg 命令行&#xff08;錄制屏幕 麥克風音頻&#xff09;std::string command "ffmpeg -f gdigrab -framerate 3…