python變量類型、輸入、輸出運(yùn)算符介紹舉例
1.常量和表達(dá)式
我們可以把Python當(dāng)成一個(gè)計(jì)算器,來進(jìn)行一些算術(shù)運(yùn)算。
print(1+2+3) print(2*9) print(9/2) #打印結(jié)果 #6 #18 #4.5
print
是python的一個(gè)內(nèi)置函數(shù),功能就是打印到顯示器中。
- 在運(yùn)算符和數(shù)字間,可以沒有空格也可以存在空格,為了美觀通過會(huì)帶有一個(gè)空格。
值得注意的是,在python中直接
/
結(jié)果是會(huì)保留一位整數(shù)的,這點(diǎn)和C/C++以及Java是不同的。不過你想要取整的化可以使用2 // 3
來執(zhí)行。
2.變量與類型
在C/C++中,當(dāng)我們要進(jìn)行計(jì)算時(shí),通過需要把一些計(jì)算的中間過程保存起來,這個(gè)時(shí)候需要使用到變量了。
a = 1 b = 2 c = a+b print(c) #打印結(jié)果:3
這里的a,b,c
就是變量。
變量可以視為一塊能夠容納數(shù)據(jù)的空間,這個(gè)空間往往對(duì)應(yīng)到內(nèi)存這樣的硬件上。
2.1 變量的語法
2.1.1 定義變量
a = 100 # a為變量名 = 為賦值運(yùn)算符 100為變量的賦值
通過定義變量,如果你學(xué)過C/C++或者Java你會(huì)發(fā)現(xiàn)。這里沒有確定變量的類型,其實(shí)在python中中是不需要確定變量的類型,其類型會(huì)根據(jù)你的賦值,自動(dòng)定義。
2.1.2 變量命名規(guī)則
- 變量名由數(shù)字字母下劃線構(gòu)成。
- 數(shù)字不能開頭。
- 變量名不能和關(guān)鍵字重復(fù)。
- 變量名區(qū)分大小寫。
- 變量名盡量使用有意義的單詞來命名。
- 當(dāng)變量名由多個(gè)單詞組成時(shí),建議使用“駝峰命名法”,比如:
totalCount
,除了首個(gè)單詞外,其余單詞首字母大寫。
2.1.3 使用變量
讀取變量的值
a = 10 print(a)
修改變量的值
a = 10 a = 20 print(a)
值得注意的是,因?yàn)閜ython當(dāng)成定義不需要確定類型的緣故,修改變量的值和定義變量的時(shí)看起來是沒有區(qū)別的賦值給其他變量
a = 10 b = a print(a) print(b)
3. 變量的類型
變量里面存儲(chǔ)的不僅僅是數(shù)字,還可以存儲(chǔ)其他種類的數(shù)據(jù),我們引入了類型這樣的概念。
上文也說了,python和C/C++/Java是不同的,不需要顯式指定,而是在賦值的時(shí)候確定的。
那么如何知道python中的類型呢?
python提供了type
這個(gè)內(nèi)置函數(shù)。
a = 10#整型 b = 1.1#浮點(diǎn)型 c = "abc"#字符串 d = True#布爾類型 print(type(a)) print(type(b)) print(type(c)) print(type(d)) """ 打印結(jié)果 <class 'int'> <class 'float'> <class 'str'> <class 'bool'> """
3.1 整型
和C++/java等語言不同,python的int類型變量,表示的數(shù)據(jù)范圍是沒有上限的,只要內(nèi)存足夠,理論上是可以無限大的。
3.2 浮點(diǎn)型
與C++/java等語言不同,python的小數(shù)只有float一種類型,沒有double類型,但實(shí)際上python中的float就相當(dāng)于C++/java中的double,表示雙精度浮點(diǎn)數(shù)。
3.3 字符串
在python中使用''
或者""
都可以表示字符串。
可以利用內(nèi)置函數(shù)len
來測(cè)量字符串的長(zhǎng)度。
a = 'abcdef' print(len(a)) # 打印結(jié)果: 6
可以使用+
來對(duì)兩個(gè)字符串進(jìn)行連接。
a = 'hello ' b = 'yui' print(a+b) #打印結(jié)果:hello yui
注意不要用不同類型的變量進(jìn)行相加。
3.4 布爾類型
True 表示真 False 表示假
用于邏輯判斷。
3.5 為什么需要多種類型
- 類型決定了數(shù)據(jù)在內(nèi)存中占據(jù)的多大空間。
- 類型其實(shí)也確立你能對(duì)這個(gè)變量進(jìn)行怎么的操作。
3.6 動(dòng)態(tài)類型
在python中,一個(gè)變量是什么類型,是可以在程序運(yùn)行過程中改變的,這個(gè)特性稱為動(dòng)態(tài)類型
a = 10 print(type(a)) a = "hahaha" print(type(a)) ''' <class 'int'> <class 'str'> '''
在程序運(yùn)行過程中a的類型由int變成了str
C++/java這種語言是不允許這樣的操作的,一個(gè)變量定義類型后就固定了。這樣的特性就被稱為靜態(tài)類型。
動(dòng)態(tài)類型,盡管會(huì)大大節(jié)約代碼量,但是對(duì)于非本代碼的創(chuàng)造者來說是會(huì)增加閱讀難度的。
4.注釋
在前面的代碼中我已經(jīng)在運(yùn)用注釋了,那么注釋是什么呢?
注釋是一種對(duì)代碼的解釋,能夠幫助程序員能好的理解代碼,同時(shí)不會(huì)影響程序的運(yùn)行。
在初期的代碼量極少的情況下,注釋的作用可能可有可無,但是一旦開始寫一些復(fù)雜的程序時(shí),注釋的作用就非常的大了,如果某段代碼你長(zhǎng)時(shí)間沒有接觸后在次接觸時(shí),注釋會(huì)為你節(jié)約大量的理解時(shí)間,對(duì)于他人同樣如此。
4.1 注釋語法
4.1.1 注釋行
使用#
開始的行都是注釋。
#注釋
4.1.2 文檔字符串
使用三引號(hào)引起來的稱為文檔字符串
,也可以將其視為一種注釋。
- 可以包括多行內(nèi)容。
- 一般放在文件/函數(shù)/類的開始。
'''
或者"""
都可。
''' 文檔字符串 文檔字符串 文檔字符串 '''
4.1.3 注釋的規(guī)范
- 內(nèi)容準(zhǔn)確:注釋內(nèi)容要和代碼一致,匹配,并在代碼修改時(shí)及時(shí)更新。
- 篇幅合理:注釋不應(yīng)該太精簡(jiǎn),同時(shí)也不能篇幅太長(zhǎng)。
5.輸入輸出
為了和用戶進(jìn)行交互。
- 用戶把信息傳遞給程序的過程,稱為輸入。
- 程序把結(jié)果展示給用戶的過程,稱為輸出。
輸入和輸出最基本的方法就是控制臺(tái),用戶提供控制臺(tái)輸入一些字符串,程序在通過控制臺(tái)打印一些字符串。
5.1 通過控制臺(tái)輸出
使用內(nèi)置函數(shù)print
輸出到控制臺(tái)
print('hello!!!!!!!!')
輸出num = 100
num = 100 print(f'num = {num}') #打印結(jié)果:num = 100
- 使用f表示作為前綴的字符串,稱為
f-string
。 - 里面可以使用{}來內(nèi)嵌一個(gè)其他變量的/表達(dá)式。
5.2 通過控制臺(tái)輸入
python使用input函數(shù)來讀取用戶的輸入。
num = 0 num = input('請(qǐng)輸入一個(gè)整數(shù):') print(f'你輸入的整數(shù)是:{num}') ''' 請(qǐng)輸入一個(gè)整數(shù):1000 你輸入的整數(shù)是:1000 '''
- input的參數(shù)相當(dāng)于一個(gè)提示信息,可有可無,看需求。
- input的返回值就是用戶輸入的內(nèi)容,是字符串類型。
a = input('請(qǐng)輸入第一個(gè)整數(shù):') b = input('請(qǐng)輸入第二個(gè)整數(shù):') print(f'a + b = {a+b}') ''' 請(qǐng)輸入第一個(gè)整數(shù):12 請(qǐng)輸入第二個(gè)整數(shù):34 a + b = 1234 '''
這里的+
是字符串拼接。
為了避免這種情況,我們需要進(jìn)行類型轉(zhuǎn)化。
a = int(input('請(qǐng)輸入第一個(gè)整數(shù):')) b = int(input('請(qǐng)輸入第二個(gè)整數(shù):')) print(f'a + b = {a+b}') ''' 請(qǐng)輸入第一個(gè)整數(shù):12 請(qǐng)輸入第二個(gè)整數(shù):34 a + b = 46 '''
6.運(yùn)算符
6.1 算術(shù)運(yùn)算符
像+ - * / % ** //
這些進(jìn)行算術(shù)運(yùn)算的運(yùn)算符都是算術(shù)運(yùn)算符。
整數(shù)/整數(shù)
結(jié)果可能是小數(shù),而不會(huì)截?cái)唷?/li>%
是求余數(shù)的意思。**
是求乘方,不光能算整數(shù)次方,而可以計(jì)算小數(shù)次方。//
是取整除法,當(dāng)結(jié)果為小數(shù)時(shí),會(huì)像下取整。
6.2 關(guān)系運(yùn)算符
像< <= > >= == !=
這一系列的運(yùn)算符被稱為關(guān)系運(yùn)算符,它們是在比較操作數(shù)間的關(guān)系。
<=
小于等于>=
大于等于==
等于!=
不等于
一旦關(guān)系表達(dá)式符合,那么表達(dá)式會(huì)返回True,如果不符合,表達(dá)式會(huì)返回False
a = 100 b = 10 print(a == b) print(a != b) print(a > b) print(a >= b) print(a > b) print(a <= b) ''' False True True True True False '''
除此之外,python還可以進(jìn)行字符串的比較。
a = 'hello' b = 'world' print(a == b) print(a != b) print(a > b) print(a >= b) print(a > b) print(a <= b) ''' False True False False False True '''
- 直接使用 == 或者!= 即可對(duì)字符串內(nèi)容判斷相等。
- 字符串比較大小,規(guī)則是字典序。
對(duì)于浮點(diǎn)數(shù)來說,不能使用 == 判定相等。
print(0.1+0.2 == 0.3) # False print(0.1+0.2) #0.30000000000000004
浮點(diǎn)數(shù)在計(jì)算機(jī)中的表示并不是精確的,在計(jì)算過程中,容易出現(xiàn)非常小的誤差。為此我們只能自己限定一個(gè)誤差范圍來進(jìn)行比較。
a = 0.1+0.2 b = 0.3 print(-0.000001<(a-b)<0.000001)
6.3 邏輯運(yùn)算符
像ans or not
這一系列的運(yùn)算符稱為邏輯運(yùn)算符。
- and 表示 且 特點(diǎn):一假則假
- or 表示 或 特點(diǎn):一真則真
- not 表示 非 特點(diǎn):真假轉(zhuǎn)換
a = 10 b = 20 c = 30 print(a < b and b < c) print(a < b and b > c) print(a > b or b > c) print(a < b or b > c) print(not a < b) print(not a > b) ''' True False False True False True '''
在python中a<b and b<c
可以寫成a<b<c
這個(gè)設(shè)定和大部分編程語言都不一樣。
關(guān)于短路問題
- 對(duì)于and,如果左側(cè)表達(dá)式為False,整體一定為False,右側(cè)表達(dá)式不再執(zhí)行。
- 對(duì)于or,如果左側(cè)表達(dá)式為True,整體一定為True,右側(cè)表達(dá)式不再執(zhí)行。
6.4 賦值運(yùn)算符
對(duì)于=
的使用
=
是表達(dá)賦值的意思,要和==
區(qū)分
鏈?zhǔn)劫x值
a = b = c = 100
多元賦值
a,b = 10,100
利用多元賦值實(shí)現(xiàn)兩個(gè)變量的交換。
# 常規(guī)寫法 a = 10 b = 20 tmp = 10 a = b b = tmp #多元賦值 a = 10 b = 20 a,b = b,a
復(fù)合賦值運(yùn)算符
python還有一些復(fù)合賦值運(yùn)算符,比如:+= -= *= /= %=
# a += 1 等同于 a = a+1 a = 10 a = a + 1 print(a) a = 10 a += 1 print(a) #11 #11
注意:python中不支持++ --
這種自增/自減運(yùn)算符。
總結(jié)
到此這篇關(guān)于python變量類型、輸入、輸出運(yùn)算符介紹的文章就介紹到這了,更多相關(guān)python變量類型、輸入輸出運(yùn)算符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python深度學(xué)習(xí)tensorflow訓(xùn)練好的模型進(jìn)行圖像分類
這篇文章主要為大家介紹了python深度學(xué)習(xí)tensorflow訓(xùn)練好的模型進(jìn)行圖像分類示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06PyCharm自動(dòng)化測(cè)試的實(shí)現(xiàn)
本文主要介紹了PyCharm自動(dòng)化測(cè)試的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04Python實(shí)現(xiàn)將Excel轉(zhuǎn)換成為image的方法
今天小編就為大家分享一篇Python實(shí)現(xiàn)將Excel轉(zhuǎn)換成為image的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10Python連接MySQL并使用fetchall()方法過濾特殊字符
這篇文章主要介紹了Python連接MySQL的方法并講解了如何使用fetchall()方法過濾特殊字符,示例環(huán)境為Ubuntu操作系統(tǒng),需要的朋友可以參考下2016-03-03python3連接mysql獲取ansible動(dòng)態(tài)inventory腳本
Ansible Inventory 是包含靜態(tài) Inventory 和動(dòng)態(tài) Inventory 兩部分的,靜態(tài) Inventory 指的是在文件中指定的主機(jī)和組,動(dòng)態(tài) Inventory 指通過外部腳本獲取主機(jī)列表。這篇文章主要介紹了python3連接mysql獲取ansible動(dòng)態(tài)inventory腳本,需要的朋友可以參考下2020-01-01在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
這篇文章主要介紹了在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程,Debian系統(tǒng)和Nginx服務(wù)器皆是高性能的選擇,需要的朋友可以參考下2015-04-04