Python變量的定義和運(yùn)算符的使用
常量和表達(dá)式
1. 簡(jiǎn)單引入
我們可以先簡(jiǎn)單來(lái)看一下Python的加減乘除
print(1 + 2 + 5) print(1 + 2 * 5) print(1 + 2 - 5) print(1 + 2 / 5) # 運(yùn)行結(jié)果 8 11 -2 1.4
我們發(fā)現(xiàn)加減乘和其它語(yǔ)言基本每區(qū)別,但是除法在其它語(yǔ)言比如 C/Java中整數(shù)除以整數(shù)結(jié)果還是整數(shù),也就是小數(shù)部分會(huì)被截?cái)?,但是在Python中不會(huì)被截?cái)?,這樣更符合人的日常計(jì)算的直覺
- print 是一個(gè) Python 內(nèi)置的 函數(shù)
- 可以使用 + - * / ( ) 等運(yùn)算符進(jìn)行算術(shù)運(yùn)算. 先算乘除, 后算加減
- 運(yùn)算符和數(shù)字之間, 可以沒有空格, 也可以有多個(gè)空格. 但是一般習(xí)慣上寫一個(gè)空格(比較美觀)
2. 變量的命名規(guī)則
- 變量必須由數(shù)字、字母和下劃線構(gòu)成,不能包含其它特殊符號(hào),且不能以數(shù)字開頭
- 變量名不能和關(guān)鍵字沖突
- 在Python中,變量名是區(qū)分大小寫的
- 變量命名建議使用駝峰命名法(除第一個(gè)單詞其它單詞第一個(gè)字母用大寫),或者是蛇形名命名法(用下劃線分割多個(gè)單詞)
userName = '駝峰命名法' user_name = "蛇形命名法" _test = 10
3. 變量的類型
Python和C/Java不同,在定義變量的時(shí)候不需要顯示的指定變量的類型,在賦值的時(shí)候自動(dòng)就會(huì)確定類型
1)整數(shù)
tmp = 10 print(type(tmp)) # 運(yùn)行結(jié)果 <class 'int'>
type是Python內(nèi)置的函數(shù),可以使用type來(lái)查看一個(gè)變量的類型 注意:和C/Java等語(yǔ)言不同,Python的int類型變量,能表示的數(shù)據(jù)范圍是沒有上限的,只要內(nèi)存足夠,理論上可以表示無(wú)限大小的數(shù)
tmp = 1234567891011121314 print(tmp)
因?yàn)镻ython的int是可以根據(jù)要表示的數(shù)據(jù)大小自動(dòng)擴(kuò)容,所以Python就沒有像long、byte/short這些類型了
2)浮點(diǎn)數(shù)
tmp = 3.14 print(type(tmp)) # 運(yùn)行結(jié)果 <class 'float'>
注意:和C/Java語(yǔ)言不同,Python的小數(shù)只有float一種類型,沒有double類型,但是實(shí)際上python就相當(dāng)于C/Java的double,表示的是雙精度浮點(diǎn)數(shù)(占8個(gè)字節(jié))
3)字符串
str1 = 'hello'str2 = "world"print(type(str1))print(str1)print(str2)# 運(yùn)行結(jié)果<class 'str'>helloworldastr1 = 'hello' str2 = "world" print(type(str1)) print(str1) print(str2) # 運(yùn)行結(jié)果 <class 'str'> hello world
在python中,字符串用單引號(hào)或者雙引號(hào)引起來(lái),這兩者是每有啥區(qū)別
但是出現(xiàn)了字符串中出現(xiàn)了單引號(hào),就可以嵌套了
str3 = "hello:'java'" str4 = 'hello: "python"' print(str3) print(str4) # 運(yùn)行結(jié)果 hello:'java' hello: "python"
在Python中還有一個(gè)三引號(hào),里面可以包含單引號(hào)和雙引號(hào)
str3 = ''' test "hello:'java'"''' str4 = """ test "hello:'java' """ print(str3) print(str4) # 運(yùn)行結(jié)果 test "hello:'java'" test "hello:'java' str3 = "'''test '''" str4 = '""" test """' print(str3) print(str4) # 運(yùn)行結(jié)果 '''test ''' """ test """
求字符長(zhǎng)度 在Python中通過(guò)內(nèi)置函數(shù)len求字符串的長(zhǎng)度
str1 = 'hello' str2 = "world" print(len(str1)) print(len(str2)) str3 = "'''test '''" str4 = '""" test """' print(len(str3)) print(len(str4)) # 運(yùn)行結(jié)果 5 5 11 12
字符串拼接 注意:在Python中只能字符串和字符進(jìn)行拼接,拼接其它類型的變量會(huì)報(bào)錯(cuò)
str1 = 'hello' str2 = "world" print(str1 + str2) print(str2 + str1) # 運(yùn)行結(jié)果 helloworld worldhello
4)布爾類型
布爾類型是一個(gè)特殊的類型, 取值只有兩種, True (真) 和 False (假)
a = True b = False print(type(a)) print(type(b)) # 運(yùn)行結(jié)果 <class 'bool'> <class 'bool'>
注意事項(xiàng) 如果拿布爾類型和整數(shù)或者浮點(diǎn)數(shù)類型進(jìn)行運(yùn)算那么,True表示1,F(xiàn)alse表示0.
4. 動(dòng)態(tài)類型特性
在 Python 中, 一個(gè)變量是什么類型, 是可以在 “程序運(yùn)行” 過(guò)程中發(fā)生變化的. 這個(gè)特性稱為 “動(dòng)態(tài)類型”
tmp = 10 print(type(tmp)) tmp = 'test' print(type(tmp)) tmp = False print(type(tmp)) # 運(yùn)行結(jié)果 <class 'int'> <class 'str'> <class 'bool'>
5. 顯示指定類型
雖然在Python不用手動(dòng)指定類型,但也可以顯示的指定類型
a: int = 10 b: str = 'str' c: float = 3.14
注釋
1. 行注釋
在Python中# 開頭的行都是注釋
# 這是第一行注釋 # 這是第二行注釋
2. 文檔字符串
使用三引號(hào)引起來(lái)的稱為 “文檔字符串”, 也可以視為是一種注釋.
- 可以包含多行內(nèi)容,
- 一般放在 文件/函數(shù)/類 的開頭
- “”" 或者 ‘’’ 均可 (等價(jià))
""" 這 是 多行注釋 """ ''' 這 也是多行注釋 '''
輸入輸出
1.通過(guò)控制臺(tái)輸出
前面已經(jīng)說(shuō)了使用Python內(nèi)置函數(shù)print進(jìn)行把數(shù)據(jù)輸出到控制臺(tái)
number = 10 tmp = False print(number) print(tmp) # 輸出 10 False
更多的時(shí)候, 我們希望能夠輸出的內(nèi)容是混合了字符串和變量的
示例
name = '張三' age = 18 print(f"name = {name}" f'age = {age}') # 運(yùn)行結(jié)果 name = 張三age = 18
- 使用 f 作為前綴的字符串, 稱為 f-string
- 里面可以使用 { } 來(lái)內(nèi)嵌一個(gè)其他的變量/表達(dá)式
2. 通過(guò)控制臺(tái)輸入
python 使用 input 函數(shù), 從控制臺(tái)讀取用戶的輸入
tmp = input() print(tmp)
或者有提示的輸入
name = input('請(qǐng)輸入姓名:') age = input('請(qǐng)輸入年齡:') print(f'name = {name}') print(f'age = {age}') # 運(yùn)行結(jié)果 請(qǐng)輸入姓名:張三 請(qǐng)輸入年齡:18 name = 張三 age = 18
- input 的參數(shù)相當(dāng)于一個(gè) “提示信息”, 也可以沒有.
- input 的返回值就是用戶輸入的內(nèi)容. 是字符串類型
因?yàn)檩斎霐?shù)據(jù),默認(rèn)都是字符串類型的,如果需要就要進(jìn)行強(qiáng)制類型zhuangh
num1 = int(input("請(qǐng)輸入第一個(gè)數(shù)字:")) num2 = int(input("請(qǐng)輸入第二個(gè)數(shù)字:")) print(f'num1 + num2 = {num1 + num2}')
運(yùn)算符
1. 算數(shù)運(yùn)算符
在Python中有+ - * / % ** //
七種運(yùn)算符
注意事項(xiàng)1: 0是不能作為除數(shù)的,如果作為除數(shù)就會(huì)拋出異常
print(5/0)
注意事項(xiàng)2: 在Python中整數(shù)除以整數(shù)得到的結(jié)果可能會(huì)會(huì)是小數(shù),因?yàn)椴粫?huì)發(fā)生截?cái)?/p>
print(9/4) # 執(zhí)行結(jié)果 2.25
注意事項(xiàng)3: 在Python中 //
這個(gè)符號(hào),等同于C/Java中的除號(hào),就是整數(shù)除以整數(shù)就會(huì)得到整數(shù),會(huì)發(fā)生截?cái)?/p>
print(9//4) 運(yùn)行結(jié)果 2
注意事項(xiàng)4: **
是次方的意思,比如 3**4 就表示的是 34,它也可以表示小數(shù)次方,比如 9**0.5 就表示為對(duì)9開方
print(3**4) print(9**0.5) 運(yùn)行結(jié)果 81 3.0
注意事項(xiàng)5: 正對(duì)負(fù)數(shù)取余,結(jié)果會(huì)是正數(shù)
2. 關(guān)系運(yùn)算符
關(guān)系運(yùn)算符就是用來(lái)比較兩個(gè)操作數(shù)的大小是否相等的,<
、>
、<=
、>=
、==
、!=
關(guān)系運(yùn)算符返回的是布爾值,如果表達(dá)式為真就返回True如果表達(dá)式為假就返回False
a = 10 b = 15 print(a > b) print(a < b) print(a >= b) print(a <= b) 運(yùn)行結(jié)果 False True False True
關(guān)系運(yùn)算符不但可以針對(duì)數(shù)字進(jìn)行比較,還能夠比較字符串,可以比較字符相等
a = 'hello' b = 'hello' print(a == b) 運(yùn)行結(jié)果 True
還可以比較字符串大小,比較字符串大小是通過(guò)字典序來(lái)比較的,首先看首字母在字母表上的順序,誰(shuí)小,誰(shuí)就排在前面,如果首字母相同,就一次比較第二字母、第三個(gè)字母…
a = 'abcd' b = 'abce' print(a > b) print(a < b) # 運(yùn)行結(jié)果 False True
注意事項(xiàng) 對(duì)于浮點(diǎn)數(shù)來(lái)說(shuō),使用 ==
進(jìn)行比較相等時(shí)存在一定的風(fēng)險(xiǎn)的,因?yàn)楦↑c(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)和表示,是可能存在誤差的,這樣的誤差在進(jìn)行算數(shù)運(yùn)算的時(shí)候就可能被放大,從而導(dǎo)致 ==
的判斷出現(xiàn)誤判
a = 0.1 + 0.2 b = 0.3 print(a == b) print(a) print(b) 運(yùn)行結(jié)果 False 0.30000000000000004 0.3
對(duì)于浮點(diǎn)數(shù)正確的比較方式:就是不在嚴(yán)格比較相等,而是判定它的差值是否小于允許的誤差范圍以內(nèi)
a = 0.1 + 0.2 b = 0.3 print(-0.000001 < a-b < 0.000001) 運(yùn)行結(jié)果 True
3. 邏輯運(yùn)算符
在Python中邏輯運(yùn)算符為and or not
- and 并且:兩端為True則為True,一端為False則為False
- or 或者:兩端都為False則為False,否則為True
- not 邏輯取反:本身為True,取反為False,本身為False取反為True
a = 10 b = 20 c = 30 print(b > a and b > c) print(b > a or b > c) print(not a > b) 運(yùn)行結(jié)果 False True True
Python一種特殊寫法 a < b and b < c
這個(gè)等價(jià)于a < b < c
短路操作 or
和and
都有短路
- and:如果前面為假后面的就不會(huì)再執(zhí)行了
- or:如果前面為真后面就不會(huì)再執(zhí)行了
a = 10 b = 20 c = 30 print(b < a and 10/0) print(b > a or 10/0)
4. 賦值運(yùn)算符
鏈?zhǔn)劫x值
a = b = c = 10
多元賦值
a, b, c = 10, 20, 30
示例:交換兩個(gè)變量的值 傳統(tǒng)寫法
a = 10 b = 20 tmp = a a = b b = tmp
使用多遠(yuǎn)賦值
a = 10 b = 20 a, b = b, a
注意:Python中不存在像 C/Java的++、–操作
除了上述之外, Python 中還有一些運(yùn)算符, 比如 身份運(yùn)算符 (is, is not), 成員運(yùn)算符 (in, not in), 位運(yùn)算符 ( & | ~ ^ << >>) 等
到此這篇關(guān)于Python變量的定義和運(yùn)算符的使用的文章就介紹到這了,更多相關(guān)Python的變量和運(yùn)算符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pytorch方法測(cè)試——激活函數(shù)(ReLU)詳解
今天小編就為大家分享一篇pytorch方法測(cè)試——激活函數(shù)(ReLU)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01Python實(shí)現(xiàn)的計(jì)算器功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)的計(jì)算器功能,涉及Python四則運(yùn)算、取反、百分比等相關(guān)數(shù)學(xué)運(yùn)算操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-04-04用Python寫腳本自動(dòng)評(píng)論再也不怕碰到噴子
這篇文章主要介紹了如何用Python寫腳本哎實(shí)現(xiàn)網(wǎng)站上自動(dòng)評(píng)論,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08python實(shí)現(xiàn)錄制全屏和選擇區(qū)域錄屏功能
這篇文章主要介紹了python實(shí)現(xiàn)錄制全屏和選擇區(qū)域錄屏功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02Python的pandas類庫(kù)結(jié)構(gòu)參數(shù)
pandas是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的,Pandas 納入了大量庫(kù)和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型,提供了高效地操作大型數(shù)據(jù)集所需的工具,需要的朋友可以參考下2023-07-07