03 Python 基礎:數據類型、運算符與流程控制解析

文章目錄

    • 一、數據類型 內置的六大類
      • 數字類型
        • 整數類型 int
        • 浮點數 float
        • 布爾 bool
        • 字符串 str
      • 變量命名
    • 二、數字類型的相互轉換
      • 顯式類型的轉換
        • 整數,浮點數,復數 之間的顯式轉換
      • 隱式類型的轉換
    • 三、標識符
      • 算術運算符
      • 比較運算符
      • 邏輯運算符
      • 位運算符
      • 賦值運算符
      • 運算符優先級
    • 四、分支結構
      • if elif else
      • while 循環
      • for 循環
      • break
      • continue
      • return

一、數據類型 內置的六大類

要想在計算機的內存中保存數據,首先得說一說變量這個概念。在編程語言中,變量是數據的載體,簡單的說就是一塊用來保存數據的內存空間,變量的值可以被讀取和修改,這是所有運算和控制的基礎。

計算機能處理的數據有很多種類型,最常見的就是數值,除了數值之外還有文本、圖像、音頻、視頻等各種各樣的數據類型。雖然數據在計算機中都是以二進制形態存在的,但是我們可以用不同類型的變量來表示數據類型的差異。

數字類型

整數類型 int

Python 中可以處理任意大小的整數,而且支持二進制,八進制,十進制,十六進制。示例如下:

0b11100  # 二進制
0o111    # 八進制
0x111    # 十六進制 
浮點數 float

浮點數也就是小數,之所以稱為浮點數,是因為按照科學記數法表示時,一個浮點數的小數點位置是可變的,浮點數除了數學寫法(如123.456)之外還支持科學計數法(如1.23456e2,表示 1.23456 × 1 0 2 \small{1.23456 \times 10^{2}} 1.23456×102)。運行下面的代碼,看看會輸出什么。

print(123.456)    # 數學寫法
print(1.23456e2)  # 科學計數法
布爾 bool

布爾型只有 TrueFalse 兩種值,要么是 True,要么是 False,可以用來表示現實世界中的“是”和“否”,命題的“真”和“假”,狀況的“好”與“壞”,水平的“高”與“低”等等。如果一個變量的值只有兩種狀態,我們就可以使用布爾型。

布爾是 int 的子類,其他類型可以轉換為布爾類型。

字符串 str

字符串是以單引號或雙引號包裹起來的任意文本,比如 'hello'"hello"

變量命名

在 Python 中,變量命名需要遵循以下的規則和慣例:

  • 規則部分:
    • 規則1: 變量名由字母、數字和下劃線構成,數字不能開頭。需要說明的是,這里說的字母指的是 Unicode 字符,Unicode 稱為萬國碼,囊括了世界上大部分的文字系統,這也就意味著中文、日文、希臘字母等都可以作為變量名中的字符,但是一些特殊字符(如:!、@、#等)是不能出現在變量名中的。我們強烈建議大家把這里說的字母理解為盡可能只使用英文字母。
    • 規則2: Python 是大小寫敏感的編程語言,簡單的說就是大寫的 A 和小寫的 a 是兩個不同的變量,這一條其實并不算規則,而是需要大家注意的地方。
    • 規則3: 變量名不要跟 Python 的關鍵字重名,盡可能避開 Python 的保留字。
  • 慣例部分:
    • 慣例1: 變量名通常使用小寫英文字母,多個單詞用下劃線進行連接。
    • 慣例2: 受保護的變量用單個下劃線開頭。
    • 慣例3: 私有的變量用兩個下劃線開頭。

二、數字類型的相互轉換

顯式類型的轉換

顯式類型轉換是指通過調用特定的函數來明確地將一種數據類型轉換為另一種數據類型。

整數,浮點數,復數 之間的顯式轉換
# 整數轉浮點數
int_num = 10
float_num = float(int_num)
print(f"整數 {int_num} 轉換為浮點數是 {float_num},類型為 {type(float_num)}")# 浮點數轉整數,會截斷小數部分
float_num = 15.8
int_num = int(float_num)
print(f"浮點數 {float_num} 轉換為整數是 {int_num},類型為 {type(int_num)}")# 整數轉復數
int_num = 20
complex_num = complex(int_num)
print(f"整數 {int_num} 轉換為復數是 {complex_num},類型為 {type(complex_num)}")# 浮點數轉復數
float_num = 25.5
complex_num = complex(float_num)
print(f"浮點數 {float_num} 轉換為復數是 {complex_num},類型為 {type(complex_num)}")# 復數轉整數或浮點數,只能獲取實部
complex_num = complex(30, 5)
real_part_float = float(complex_num.real)
real_part_int = int(complex_num.real)
print(f"復數 {complex_num} 的實部轉換為浮點數是 {real_part_float},類型為 {type(real_part_float)}")
print(f"復數 {complex_num} 的實部轉換為整數是 {real_part_int},類型為 {type(real_part_int)}")

隱式類型的轉換

操作數 1 類型操作數 2 類型隱式轉換規則結果類型
intfloatint 轉換為 floatfloat
intcomplexint 轉換為 complex(實部為原整數,虛部為 0)complex
floatcomplexfloat 轉換為 complex(實部為原浮點數,虛部為 0)complex
boolintTrue 轉換為 1,False 轉換為 0int
boolfloatTrue 轉換為 1.0,False 轉換為 0.0float
boolcomplexTrue 轉換為 complex(1, 0)False 轉換為 complex(0, 0)complex

可以通過 Python 內置的函數來改變變量的類型,下面是一些常用的和變量類型相關的函數:

  • int():將一個數值或字符串轉換成整數,可以指定進制。
  • float():將一個字符串(在可能的情況下)轉換成浮點數。
  • str():將指定的對象轉換成字符串形式,可以指定編碼方式。
  • chr():將整數(字符編碼)轉換成對應的(一個字符的)字符串。
  • ord():將(一個字符的)字符串轉換成對應的整數(字符編碼)。
"""
變量的類型轉換操作
"""
a = 100
b = 123.45
c = '123'
d = '100'
e = '123.45'
f = 'hello, world'
g = True
print(float(a))         # int類型的100轉成float,輸出100.0
print(int(b))           # float類型的123.45轉成int,輸出123
print(int(c))           # str類型的'123'轉成int,輸出123
print(int(c, base=16))  # str類型的'123'按十六進制轉成int,輸出291
print(int(d, base=2))   # str類型的'100'按二進制轉成int,輸出4
print(float(e))         # str類型的'123.45'轉成float,輸出123.45
print(bool(f))          # str類型的'hello, world'轉成bool,輸出True
print(int(g))           # bool類型的True轉成int,輸出1
print(chr(a))           # int類型的100轉成str,輸出'd'
print(ord('d'))         # str類型的'd'轉成int,輸出100

說明:str 類型轉 int 類型時可以通過 base 參數來指定進制,可以將字符串視為對應進制的整數進行轉換。str 類型轉成 bool 類型時,只要字符串有內容,不是 ''"",對應的布爾值都是 Truebool 類型轉 int 類型時,True 會變成 1,False 會變成 0。在 ASCII 字符集和 Unicode 字符集中, 字符 'd' 對應的編碼都是 100。

三、標識符

算術運算符

運算符名稱例子說明
+a + bab 的和
-a - bab 的差
*a * bab 的積
/a / ba 除以 b 的商
%取余a % ba 除以 b 的余數
**a ** bab 次冪
//地板除法a // b求小于 ab 的商的最大整數

比較運算符

運算符名稱例子說明
==等于a == ba 等于 b 返回 True,否則返回 False
!=不等于a != b== 相反
>大于a > ba 大于 b 時返回 True,否則返回 False
<小于a < ba 小于 b 時返回 True,否則返回 False
>=大于等于a >= ba 大于等于 b 時返回 True,否則返回 False
<=小于等于a <= ba 小于等于 b 時返回 True,否則返回 False

邏輯運算符

運算符名稱例子說明
not邏輯非not aaTrue 時,值為 FalseaFalse 時,值為 True
and邏輯與a and bab 全為 True 時,計算結果為 True,否則為 False
or邏輯或a or bab 全為 False 時,計算結果為 False,否則為 True

位運算符

運算符名稱例子說明
位反~xx 的值按位取反
&位與x & yxy 按位進行位運算
位或x|yxy 按位進行或運算
^位異或x ^ yxy 按位進行位異或運算
>>右移x >> ax 右移 a 位,高位采用符號位補位
<<左移x << ax 左移 a 位,低位用 0 補位

賦值運算符

運算符名稱例子說明
+=加賦值a += b等于 a = a + b
-=減賦值a -= b等于 a = a - b
*=乘賦值a *= b等于 a = a * b
/=除賦值a /= b等于 a = a / b
%=取余賦值a %= b等于 a = a % b
**=冪賦值a **= b等于 a = a ** b
//=地板除法賦值a //= b等于 a = a // b
&=位與賦值a &= b等價于 a = a & b
|=位或賦值`a= b`
^=位異或賦值a ^= b等價于 a = a ^ b
<<=左移賦值a <<= b等價于 a = a << b
>>=右移賦值a >>= b等價于 a = a >> b

運算符優先級

優先級運算符說明
1()小括號
2**
3~位反
4+,-正負號
5*,/,%,//乘,除,取余,地板除
6+,-加,減
7<<,>>位移
8&位與
9^位異或
10``
11<,<=,>,>=,<>,!=比較
12not邏輯非
13and,or邏輯與,邏輯或

四、分支結構

if elif else

ifelifelse 語句用于根據條件的真假來決定執行哪些代碼塊,實現程序的分支邏輯。

if condition1:# 如果 condition1 為真,執行這里的代碼statement1
elif condition2:# 如果 condition1 為假且 condition2 為真,執行這里的代碼statement2
else:# 如果前面的條件都為假,執行這里的代碼statement3
age = 20
if age < 18:print("你是未成年人")
elif age < 60:print("你是成年人")
else:print("你是老年人")

while 循環

while 循環用于在條件為真時重復執行代碼塊,直到條件變為假。

while condition:# 只要 condition 為真,就會一直執行這里的代碼statement
# 示例
count = 0
while count < 5:print(count)count = count + 1

for 循環

for 循環用于遍歷可迭代對象(如列表、元組、字符串等)中的元素。

for variable in iterable:# 對 iterable 中的每個元素執行這里的代碼statement
# 示例
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:print(fruit)

break

break 語句用于在循環中提前終止循環,即使循環條件仍然為真。

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:if fruit == "banana":breakprint(fruit)

continue

continue 語句用于跳過當前循環的剩余部分,直接進入下一次循環。

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:if fruit == "banana":continueprint(fruit)

return

return 語句用于從函數中返回一個值,并終止函數的執行。

def function_name():# 函數體return value
# 示例
def add_numbers(a, b):return a + bresult = add_numbers(3, 5)
print(result)

希望以上 Markdown 格式的內容符合你在 CSDN 上展示的需求,如果還有其他需要調整的地方,請隨時告訴我。

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

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

相關文章

視頻知識庫初步設想

將視頻字幕提取出來作為知識庫來源定位,下一步設想:把視頻上的圖片信息也精簡出來作為定位。 下面是測試例子: 入參: {"model":"deepseek-ai/DeepSeek-R1-Distill-Llama-8B","messages":[{"role":"system","cont…

數據庫原理13

1.關系模式設計不當引起的問題&#xff1a;數據冗余&#xff1b;更新異常&#xff1b;插入異常&#xff1b;刪除異常 2.外碼可以是單個屬性&#xff0c;也可以是屬性組 3.動態SQL是SQL標準提供的一種語句運行機制 4.若一個模式分解保持函數依賴&#xff0c;則該分解一定具有…

初級:異常處理面試題深度解析

一、引言 在Java開發中&#xff0c;異常處理是確保程序健壯性和穩定性的重要機制。面試官通過相關問題考察候選人對異常處理的理解和運用能力&#xff0c;以及在實際開發中處理異常的經驗。本文將深入剖析常見的異常處理面試題&#xff0c;結合實際開發場景&#xff0c;幫助讀…

Apache Spark - 用于大規模數據分析的統一引擎

Apache Spark - 用于大規模數據分析的統一引擎 下載運行示例和 Shell使用 Spark Connect 在 Anywhere 上運行 Spark 客戶端應用程序 在集群上啟動從這里去哪里使用 Spark Shell 進行交互式分析基本有關數據集作的更多信息緩存 自包含應用程序從這里去哪里 Apache Spark 是用于大…

餐飲管理系統的設計與實現(代碼+數據庫+LW)

摘 要 互聯網發展至今&#xff0c;無論是其理論還是技術都已經成熟&#xff0c;而且它廣泛參與在社會中的方方面面。它讓信息都可以通過網絡傳播&#xff0c;搭配信息管理工具可以很好地為人們提供服務。針對信息管理混亂&#xff0c;出錯率高&#xff0c;信息安全性差&#…

【C#】Winform調用NModbus實現Modbus TCP 主站通訊

一、前言 Modbus是一種串行通信協議&#xff0c;是工業領域全球最流行的協議之一。 1.1 環境 系統&#xff1a;Win11 工具&#xff1a;Visual Studio 2022 .Net 版本&#xff1a;.Net Framework4.6.0 依賴庫&#xff1a;NModbus 3.0.81 1.2 協議類型 Modbus RTU&#xff1a;一…

【leetcode題解】貪心算法

目錄 貪心算法 檸檬水找零 將數組和減半的最少操作次數 最大數 擺動序列 最長遞增子序列 遞增的三元子序列 最長連續遞增序列 買賣股票的最佳時機 買賣股票的最佳時機 II K 次取反后最大化的數組和 按身高排序 優勢洗牌 最長回文串 增減字符串匹配 分發餅干 最…

Langchain4J框架相關面試題

以下是關于Langchain4J框架的面試題目及答案 ### Langchain4J基礎概念類 1. **Langchain4J框架是什么&#xff1f;它的核心功能有哪些&#xff1f;** Langchain4J是一個用于構建語言模型應用的Java框架&#xff0c;它為開發者提供了一套簡潔高效的API&#xff0c;使得在Jav…

Apache Doris

Apache Doris介紹 Apache Doris 是一個基于 MPP 架構的高性能、實時的分析型數據庫&#xff0c;以極速易用的特點被人們所熟知&#xff0c;僅需亞秒級響應時間即可返回海量數據下的查詢結果&#xff0c;不僅可以支持高并發的點查詢場景&#xff0c;也能支持高吞吐的復雜分析場…

VLAN間通信

目錄 第一步&#xff1a;配vlan 第二步&#xff1a;配置核心vlanif,MAC地址信息。 第三步&#xff1a;ospf協議 三層交換機&#xff08;匯聚層&#xff09;: 對于交換機、路由器、防火墻等網絡設備而言&#xff0c;接口類型一般存在兩種&#xff1a;二層接口&#xff0c;三…

LeetCode熱題100精講——Top2:字母異位詞分組【哈希】

你好&#xff0c;我是安然無虞。 文章目錄 題目背景字母異位詞分組C解法Python解法 題目背景 如果大家對于 哈希 類型的概念并不熟悉, 可以先看我之前為此專門寫的算法詳解: 藍橋杯算法競賽系列第九章巧解哈希題&#xff0c;用這3種數據類型足矣 字母異位詞分組 題目鏈接&am…

基于python+django的圖書借閱網站-圖書借閱管理系統源碼+運行步驟

該系統是基于pythondjango開發的在線圖書借閱管理系統。系統適合場景&#xff1a;大學生、課程作業、系統設計、畢業設計。 演示地址 前臺地址&#xff1a; http://book.gitapp.cn 后臺地址&#xff1a;http://book.gitapp.cn/#/admin 后臺管理帳號&#xff1a; 用戶名&…

uni-app集成保利威直播、點播SDK經驗FQ(二)|小程序直播/APP直播開發適用

通過uniapp集成保利威直播、點播SDK來開發小程序/APP的視頻直播能力&#xff0c;在實際開發中可能會遇到的疑問和解決方案&#xff0c;下篇。更多疑問請咨詢19924784795。 1.ios不能后臺掛起uniapp插件 ios端使用后臺音頻播放和畫中畫功能&#xff0c;沒有在 manifest.json 進…

數據庫三級填空+應用題(1)

填空 35【答案】TOP 3 WITH TIES 【解析】希望選出商品數量最多的前3類商品&#xff0c;并獲得相應的商品類別和數量。with ties一般是和Top 、 order by相結合使用,表示包括與最后一行order by后面的參數取值并列的結果。 36在SQL Server 2008中&#xff0c;每個數據頁可存儲8…

前端(vue)學習筆記(CLASS 5):自定義指令插槽路由

1、自定義指令 內置指令&#xff1a;內部提供的&#xff0c;每個指令都有自己各自獨立的功能 自定義指令&#xff1a;自己定義的指令&#xff0c;可以封裝一些dom操作&#xff0c;擴展額外功能 全局注冊-語法 例如&#xff0c;當頁面加載時&#xff0c;讓元素獲得焦點 Vue.…

【redis】事務詳解,相關命令multi、exec、discard 與 watch 的原理

文章目錄 什么是事務原子性一致性持久性隔離性 優勢與 MySQL 對比用處 事務相關命令開啟事務——MULTI執行事務——EXEC放棄當前事務——DISCARD監控某個 key——WATCH作用場景使用方法實現原理 事務總結 什么是事務 MySQL 事務&#xff1a; 原子性&#xff1a;把多個操作&am…

【Java SE】單例設計模式

參考筆記&#xff1a;深入理解Java設計模式&#xff1a;單例模式及其餓漢式與懶漢式的對比,-CSDN博客 目錄 1.什么是設計模式 2.經典設計模式 3.單例設計模式&#xff08;static屬性/方法經典使用場景 &#xff09; 3.1 餓漢式單例模式 3.2 懶漢式單例模式 4.補充 1.什么…

【day2】數據結構刷題 棧

一 有效的括號 給定一個只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判斷字符串是否有效。 有效字符串需滿足&#xff1a; 左括號必須用相同類型的右括號閉合。左括號必須以正確的順序閉合。每個右括號都有一個對應的…

藍橋杯 勁舞團

問題描述 小藍最近迷上了一款名為 “勁舞團” 的游戲。 在游戲中&#xff0c;只要按照給出的鍵位提示依次按出對應的鍵位&#xff0c;游戲人物便可以跟隨節奏跳舞。 對于連續的 K 次正確敲擊&#xff0c;如果任意連續兩次敲擊之間的時間間隔都小于等于 1 秒&#xff08;即 1…

數據庫數值函數詳解

各類資料學習下載合集 ??https://pan.quark.cn/s/8c91ccb5a474?? 數值函數是數據庫中用于處理數值數據的函數,可以用于執行各種數學運算、統計計算等。數值函數在數據分析及處理時非常重要,能夠幫助我們進行數據的聚合、計算和轉換。在本篇博客中,我們將詳細介紹常用的…