變量:含義
一個容器,計算機當中的存儲空間。
可以理解為一個用于標識或引用數據的名字或標簽。
?作用:
可以通過定義一個變量來給需要使用多次的數據命名,就像一個標簽一樣。下次需要使用這個數據時,只需要通過這個變量名就可以直接提取,大大提高了效率。
基本格式:
變量=數據(值)
直接給變量賦值
# num = 100? ?# 將數據100保存到變量num中
# print(num)
將一個變量的值賦給另一個變量
# num2 = num
# print(num2)
將運算結果賦給變量
# result = num + num2
# print(result)
注意:print("xxx")和print(xxx)的區別
# print(num) ? # NameError: name 'num' is not defined. Did you mean: 'sum'?
不加引號,被識別為變量名。任何變量在使用之前都必須先被賦值,因為只有在賦值之后,該變量才會被創建,之后才能被程序識別和使用。
# print("num")
加上引號,會被視為字符串類型的數據,數據可以直接被輸出或使用的。
同一個變量可以被反復賦值
# money = 100
# print(money)? 結果是100
# money = money - 50
# print(money)? ?結果是50
# a = 1
# a = 5
# a = 10
# print(a)? ? 結果是10
# 代碼遵循自上而下逐行執行的順序。
序列賦值
# 變量名1, 變量名2, 變量名3, ..., 變量名n = 值1, 值2, 值3, ..., 值n
標識符:含義
在Python中,標識符用于給變量、函數、類或其他對象命名。
標識符規定[必須遵守,否則會報錯]
? ?只能由數字、字母、_(下劃線)組成
# user_name1 = "lzy"
# print(user_name1)
# user name = "lzy" ? ?# SyntaxError: invalid syntax ?變量名中有空格
注意:
① Python允許使用中文命名標識符,但出于代碼規范性和可讀性的考慮,通常不推薦這樣做
#姓名 = "lzy"
#print(姓名)
② 給標識符外加括號通常不會導致語法錯誤,因為括號本身不會對標識符產生直接影響
# (name) = "lzy"
# print((name))? 結果是lzy
# print(name)? ?結果是lzy
# (user)name = "lzy" ? ?# SyntaxError: invalid syntax
- 不能以數字開頭
這確保了標識符的開頭能夠清晰的表明其是一個標識符,而不是一個具體的數據.
# _name1 = "lzy"
# print(_name1)
# 1stu = 1 ? ?# SyntaxError: invalid decimal literal
- 不能是關鍵字
關鍵字:已經預定義并賦予特殊功能和含義的標識符. 當在Pycharm中輸入關鍵字時,它們的字體顏色通常會發生變化,以便于開發者識別和區分.
# False = 1? ?# SyntaxError: cannot assign to False
?- 嚴格區分大小寫
Python是大小寫敏感的編程語言.
# myVar = 1
# MyVar = 2
# MYVAR = 3
# print(MyVar)? 結果是1
# print(myVar) 結果是2
# print(MYVAR) 結果是3
# 在定義和使用標識符時,必須精確匹配其大小寫.
變量的命名規范
[旨在提升代碼的可讀性\可維護性和團隊協作的效率,不具備絕對的強制性,但是被視為一種良好的編程習慣,強烈推薦并盡量遵循]
1) 見名知意
變量名應具有描述性,能夠清晰的表達變量的用途或所存儲的數據類型.
# name = "lzy"? #名字
# print(name)
# age = 18? #年齡
2) 下劃線分割法(Python中常用的變量命名方式)
# 變量名中的每個單詞都用_(下劃線)來連接
# user_name = "lzy"
# employee_id = 1
3) 大駝峰命名法(Python中常用的類命名方式)
# 變量名中的每個單詞首字母都大寫,不使用下劃線
# UserName = "lzy"
# EmployeeId = 1
4) 小駝峰命名法
# 變量名中的第一個單詞首字母小寫,從第二個單詞開始每個單詞的首字母大寫,其余字母小寫,不使用下劃線.
# userName = "lzy"
# employeeId = 1
簡單的數據類型
數值類型
1) 整型 int
用于存儲任意大小的整數
# age = 18
# print(age)
檢測數據的數據類型:type(要檢測的數據)
# print(type(age))? ? <class 'int'>
整型可以表示非常大/小的數
# num = -1000
# print(num, type(num))? ?結果-1000? <class 'int'>
2) 浮點型 float
用于存儲帶有小數部分的數值.
定義浮點型變量
# height = 1.83
# print(height, type(height))? ?結果 1.83 <class 'float'>
浮點型可以非常大或非常小
# num = 1234567890123456789012345.0
# print(num, type(num))? ?
結果1.2345678901234568e+24 表示1.2345678901234568乘以10的24次方
3) 布爾型 bool
只有兩個明確且固定的值:True(真) False(假),它通常用于邏輯判斷\條件控制等編程場景.
# v1 = True
# print(v1, type(v1))? 結果是 True <class 'bool'>
# v2 = False
# print(v2, type(v2)) 結果 False <class 'bool'>
注意:① 布爾類型的數據值True和False是嚴格區分大小寫的.
# print(type(False)) ? # <class 'bool'>
# print(type(false)) ? # 標識符/變量名《====這里會報錯
② 布爾值在需要時可以被隱式地轉換為整型(int),其中True被當作整數1處理,而False被當作整數0處理,這種隱式轉換在參與數學運算\進行條件判斷以及循環控制等場景中非常有用.
# print(True + 2) ? ?# True 被當作 整數1 處理? 結果是3
# print(False - 3) ? # False 被當作 整數0 處理 結果是-3
4) 復數型 complex ?--了解
是一個基礎性的數學概念,由實部和虛部組成
廣泛應用于數據計算領域.
定義復數型變量
# c = 2 + 3j ? ? ? # j(或J)在復數中作為固定地虛數單位,不可更改
# print(c, type(c))? ?結果是(c=2+3j) <class 'complex'>
字符串 str
以單引號\雙引號或三引號界定的數據,用于存儲和表示文本信息,其中三引號特別適用于包含多行內容的字符串.
定義字符串類型的數據
(1)使用單引號
# s = 'Hello World'
# print(s, type(s))? ?結果是Hello World <class 'str'>
(2)使用雙引號
# s2 = "Hello World!"
# print(s2, type(s2))? ?結果是Hello World! <class 'str'>
(3)使用三引號(多行字符串)
# s3 = '''這是一個
多行字符串'''
# print(s3, type(s3))? ?結果是 這是一個
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 多行字符串? <class 'str'>
使用三引號(另一種形式)
# s4 = """這也是一個
多行字符串"""
# print(s4, type(s4))? ? ??結果是 這也是一個
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 多行字符串? <class 'str'>
格式化輸出:含義
通過將值插入字符串占位符來生成格式化的字符串,讓數據更加清晰\易讀,并符合特定格式.
實現方式
1) % 操作符
# name = "lzy"
# age = 18
# 輸出: lzy今年18歲了!
# print(name, "今年", age, "歲了!", sep="")
# print("%s今年%d歲了!" % (name, age))
2) str.format()
# name = "lzy"
# age = 18
# print("{}今年{}歲了!".format(name, age))
3) f-string
# f-string是Python 3.6版本中引入的一種新的字符串格式化方法.它們提供了一種簡潔\直觀且性能優異的方式來嵌入變量和表達式的值到字符串中,該方法簡單易讀.
① 基本使用
# f-string通過在字符串前加上f或F來標識,并允許在字符串中直接嵌入表達式.
表達式被大括號{}包圍,其計算結果將被轉換為字符串并插入到相應的位置.
# name = "lzy"
# age = 18
# 輸出:lzy今年18歲了!
# print(f"{name}今年{age}歲了!")
# print(F"{name}今年{age}歲了!")
② 支持表達式
# f-string支持在字符串中嵌入任意的Python表達式,包含函數調用\算術運算\屬性訪問等.
# n1 = 3
# n2 = 4
# 輸出:3 * 4 = 12??3 +?4 = 12
# print(f"{n1} * {n2} = {n1 * n2}")? ? ?
# print(f"{n1} + {n2} = {n1 + n2}")
③ 設置整數位數
# 對于整數,可以設置其顯示的最小寬度,并使用0或空格作為填充字符來達到這個寬度.
# sid = 1
# 輸出:我的學號:001
# print(f"我的學號:{sid:3d}") ? ?# 3d:表示3位數,不足默認前面補空格? ?我的學號:? 1
# print(f"我的學號:{sid:03d}") ? # 03d:表示3位數,不足默認前面補0??我的學號:001
④ 保留小數精度
# 對于浮點數,可以通過指定小數點后的位數來保留精度.
# pi = 3.141592653589793
# print(f"pi保留兩位小數:{pi:.2f}") ? # .2f:保留2位小數,超出2位小數則遵循四舍五入規則??pi保留兩位小數:3.14
# num = 3.14
# print(f"num保留4位小數:{num:.4f}") ? # .4f:保留4位小數,不足4位小數則后面補0? ?num保留4位小數:3.1400