零基礎(chǔ)Python完全自學(xué)教程6:Python中的基本數(shù)據(jù)類型
歡迎你來到站長學(xué)堂,學(xué)習(xí)站長在線出品的在線課程《零基礎(chǔ)Python完全自學(xué)教程》今日分享的是第6課《Python中的基本數(shù)據(jù)類型》。本節(jié)課主要內(nèi)容有:Python中的數(shù)字(整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù))、Python中的字符串、Python中的布爾類型、Python中數(shù)據(jù)類型轉(zhuǎn)換。
永久美國免備案虛擬主機(jī)1元1天,15元1月,100元1年,1000元永久
站長在線旗下答案網(wǎng)站,全站所有題目,免費(fèi)查看答案和答案解析
歡迎你來到站長學(xué)堂,學(xué)習(xí)站長在線出品的在線課程《零基礎(chǔ)python完全自學(xué)教程》今日分享的是第6課《Python中的基本數(shù)據(jù)類型》。本節(jié)課主要內(nèi)容有:Python中的數(shù)字(整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù))、Python中的字符串、Python中的布爾類型、Python中數(shù)據(jù)類型轉(zhuǎn)換。
在內(nèi)存中有很多中類型存儲數(shù)據(jù)。如,一個(gè)人的姓名使用字符存儲,年齡使用數(shù)值型存儲,而婚否可以使用布爾類型存儲。這些都是Python中提供的基本數(shù)據(jù)類型,接下來就詳細(xì)講講這些基本數(shù)據(jù)類型。
6.1、Python中的數(shù)字
在Python中,提供數(shù)字類型用于保存數(shù)值,并且這些數(shù)值是不可改變的數(shù)據(jù)類型。如果修改數(shù)字類型變量的值,就會把值儲存到內(nèi)容中,然后修改變量讓其指向新的內(nèi)存地址。
在Python中,數(shù)字類型的主要包括整數(shù)、浮點(diǎn)數(shù)和復(fù)數(shù)。
6.1.1、Python中的整數(shù)
整數(shù)(integer)是正整數(shù)、零、負(fù)整數(shù)的集合。整數(shù)不包括小數(shù)、分?jǐn)?shù)。
整數(shù)類型包括十進(jìn)制整數(shù)、八進(jìn)制整數(shù)、十六進(jìn)制整數(shù)和二進(jìn)制整數(shù)。
6.1.1.1、十進(jìn)制整數(shù)。我們常見的整數(shù)都是十進(jìn)制整數(shù),由0-9組成,逢十進(jìn)一。如下數(shù)值都是十進(jìn)制整數(shù):
88888888888,0,-2021
在Python idle中執(zhí)行結(jié)果如下:
>>> 88888888888
88888888888
>>> 0
0
>>> -2021
-2021
>>>
注意:十進(jìn)制的數(shù)字不能以0開頭(0除外)。
6.1.1.2、八進(jìn)制整數(shù)。由0-7組成,并且以0o或0O開頭的數(shù),進(jìn)位規(guī)則是逢八進(jìn)一,如0o2021(轉(zhuǎn)換十進(jìn)制是1041),-0o123(轉(zhuǎn)換成十進(jìn)制是-83),0o0(轉(zhuǎn)換十進(jìn)制是0),在Python IDLE執(zhí)行結(jié)果如下:
>>> number = 0o2021
>>> number
1041
>>> number = -0o123
>>> number
-83
>>> number = 0o0
>>> number
0
>>>
6.1.1.3、十六進(jìn)制整數(shù)。由0~9,A~F或a~f 組成。以0x或0X開頭,進(jìn)位規(guī)則是逢十六進(jìn)一。如0x2021(轉(zhuǎn)換十進(jìn)制是8225),-0x123(轉(zhuǎn)換成十進(jìn)制是-291),0x0(轉(zhuǎn)換十進(jìn)制是0),在Python IDLE執(zhí)行結(jié)果如下:
>>> number = 0x2021
>>> number
8225
>>> number = -0x123
>>> number
-291
>>> number = 0x0
>>> number
0
>>>
6.1.1.4、二進(jìn)制整數(shù)。只有0和1兩個(gè)基數(shù),并且以0b/0B開頭.進(jìn)位規(guī)則是“逢二進(jìn)一”。如:0b10(轉(zhuǎn)換為10進(jìn)制數(shù)位是2),0b11110000(轉(zhuǎn)換為10進(jìn)制數(shù)位是240),這個(gè)就不能寫成0b2021了,因?yàn)槎M(jìn)制只有0和1,在Python IDLE執(zhí)行結(jié)果如下:
>>> number = 0b10
>>> number
2
>>> number = 0b11110000
>>> number
240
>>> number = 0b2021
SyntaxError: invalid digit '2' in binary literal
6.1.2、Python中的浮點(diǎn)數(shù)
在Python中,浮點(diǎn)數(shù)(float) 由整數(shù)部分和小數(shù)部分組成,主要用于處理包括小數(shù)的書。如2.656、0.8、-1.444、3.1415926535等。浮點(diǎn)數(shù)也可以使用科學(xué)計(jì)數(shù)法表示,如2.2e2、-6.2e5、8.88e-2等。
在使用浮點(diǎn)數(shù)進(jìn)行計(jì)算時(shí),可能會出現(xiàn)小數(shù)位數(shù)不確定的情況。如:計(jì)算0.1+0.1,結(jié)果是想要的0.2,而計(jì)算0.1+0.2時(shí),將得到實(shí)際結(jié)果是0.30000000000000004,其實(shí)我們想要的結(jié)果是0.3.對于這樣的問題,所有的語言都存在這個(gè)問題,我們忽略多余的小數(shù)數(shù)位即可,在Python IDLE執(zhí)行結(jié)果如下:(自己體驗(yàn)一下)
>>> 0.1+0.1
0.2
>>> 0.1+0.2
0.30000000000000004
>>>
實(shí)例講解:例6.1.2 根據(jù)身高、體重計(jì)算BMI指數(shù)。
在Python IDLE中新建一個(gè)bmi1.py的文件,該文件定義兩個(gè)變量:一個(gè)記錄身高,單位m,另一個(gè)記錄體重,單位kg,根據(jù)公式“BMI=體重/(身高*身高)”計(jì)算BMI指數(shù),代碼如下:
height = 1.70 # 保存身高的變量,單位:米
print("您的身高:" + str(height))
weight = 48.5 # 保存體重的變量,單位:千克
print("您的體重:" + str(weight))
bmi=weight/(height*height) # 用于計(jì)算BMI指數(shù),公式為“體重/身高的平方”
print("您的BMI指數(shù)為:"+str(bmi)) #輸出BMI指數(shù)
# 判斷身材是否合理
if bmi<18.5:
print("您的體重過輕 ~@_@~")
if bmi>=18.5 and bmi<24.9:
print("正常范圍,注意保持 (-_-)")
if bmi>=24.9 and bmi<29.9:
print("您的體重過重 ~@_@~")
if bmi>=29.9:
print("肥胖 ^@_@^")
運(yùn)行結(jié)果如下:
您的身高:1.7
您的體重:48.5
您的BMI指數(shù)為:16.782006920415228
您的體重過輕 ~@_@~
>>>
6.1.3、Python中的復(fù)數(shù)
在Python中的復(fù)數(shù)(complex),與數(shù)學(xué)中的復(fù)數(shù)的形式完全一致。
復(fù)數(shù)是由一個(gè)實(shí)數(shù)和一個(gè)虛數(shù)組合構(gòu)成,表示為:a+bj,或者complex(a,b)。
一個(gè)復(fù)數(shù)時(shí)一對有序浮點(diǎn)數(shù) (a,b),其中 a 是實(shí)數(shù)部分,b 是虛數(shù)部分。
Python 語言中有關(guān)復(fù)數(shù)的概念:
1、虛數(shù)不能單獨(dú)存在,它們總是和一個(gè)值為 0.0 的實(shí)數(shù)部分一起構(gòu)成一個(gè)復(fù)數(shù)
2、復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成
3、表示復(fù)數(shù)的語法:實(shí)數(shù)+虛數(shù)j
4、實(shí)數(shù)部分和虛數(shù)部分都是浮點(diǎn)數(shù)
5、虛數(shù)部分必須有后綴j或J
例如一個(gè)復(fù)數(shù)的實(shí)數(shù)為3.14,虛數(shù)為-12j,那么這個(gè)復(fù)數(shù)為3.14-12j,在Python IDLE中執(zhí)行結(jié)果為:
>>> complex(3.14,-12)
(3.14-12j)
>>>
6.2、Python中的字符串
在Python中,字符串就是連續(xù)的字符序列,可以是計(jì)算機(jī)能夠表示的一切字符的集合。
在Python中,字符串屬于不可變序列,通常用單引號(' ')、雙引號(" ")或者三引號(''' '''或""" """)括起來。
這3中引號形式在語義上沒有差別,只是在形式上有些差別。其中,單引號和雙引號中的字符序列必須在一行上;而三引號中的字符序列可以分布在連續(xù)的多行上。例如,定義3個(gè)字符串類型變量,并且應(yīng)用print()函數(shù)輸出,代碼如下:
python = '人生苦短,我用Python' #使用單引號,其中字符序列必須在一行上
olzz = "建一個(gè)網(wǎng)站,創(chuàng)一番事業(yè)" #使用雙引號,其中字符序列必須在一行上
#使用三引號,其中字符序列可以分布在多行上
en = '''Life is short,
I use Python '''
print(python)
print(olzz)
print(en)
運(yùn)行以后,結(jié)果為:
人生苦短,我用Python
建一個(gè)網(wǎng)站,創(chuàng)一番事業(yè)
Life is short,
I use Python
>>>
站長在線提醒你:字符串開始和結(jié)尾的引號形式要一樣的。當(dāng)表示復(fù)雜語句時(shí),可以進(jìn)行引號的嵌套,如:
'在Python中可以使用雙引號(" ")定義字符串'
'''(...)mmm'也是字符串哦"
*^--^*"'^--^'''
Python轉(zhuǎn)義字符
Python的字符串還支持轉(zhuǎn)義字符。所謂轉(zhuǎn)義字符,是指使用反斜杠“\”對一些特殊字符進(jìn)行轉(zhuǎn)義。
Python中常用的轉(zhuǎn)義字符及描述
\ 續(xù)行符
\\ 反斜杠符號
\' 單引號
\" 雙引號
\a 響鈴
\b 退格(Backspace)
\e 轉(zhuǎn)義
\0 空
\n 換行
\v 縱向制表符
\t 橫向制表符
\r 回車
\f 換頁
\oyy 八進(jìn)制數(shù)yy代表的字符,例如:\o12代表換行
\xyy 十進(jìn)制數(shù)yy代表的字符,例如:\x0a代表換行
\other 其它的字符以普通格式輸出
站長在線特別提醒:在字符串定界符號前加上字母r(或R),其中該字符串將原樣輸出,不在進(jìn)行轉(zhuǎn)義。如,輸出字符串 "建一個(gè)網(wǎng)站\x0a創(chuàng)一番事業(yè)"將轉(zhuǎn)義輸出;而輸出字符串“r"建一個(gè)網(wǎng)站\x0a創(chuàng)一番事業(yè)"”則原樣輸出,運(yùn)行結(jié)果如下:
>>> print("建一個(gè)網(wǎng)站\x0a創(chuàng)一番事業(yè)")
建一個(gè)網(wǎng)站
創(chuàng)一番事業(yè)
>>> print(r"建一個(gè)網(wǎng)站\x0a創(chuàng)一番事業(yè)")
建一個(gè)網(wǎng)站\x0a創(chuàng)一番事業(yè)
>>>
6.3、Python中的布爾類型
布爾類型主要來表示真或假的值。在Python中,標(biāo)識符True和False被解釋為布爾值。
另外,Python中布爾值可以轉(zhuǎn)換為數(shù)值,其中True表示1,而False則表示0。
在Python中,對所以的對象都可以進(jìn)行真值測試。其中,只有下面列出的4種情況得到的值為假,其他對象在if或者while語句中都表現(xiàn)為真。
6.3.1、False或None。
6.3.2、數(shù)值中的0,包括0、0.0、虛數(shù)0。
6.3.4、自定義對象的實(shí)例,該對象的__bool__方法返回False,或者_(dá)_len__方法返回0。
關(guān)于對Python中的布爾類型的理解:
布爾類型:一種特殊的數(shù)據(jù)類型
1.布爾值只有兩個(gè):True 和 False
2.布爾值加上比較運(yùn)算符,與兩邊的數(shù)據(jù)一起構(gòu)成了布爾表達(dá)式,返回布爾值。所謂布爾表達(dá)式,其實(shí)就是條件測試的別名。
注:比較運(yùn)算符
等于 ==
大于等于>=
小于等于 <=
不等于 !=
大于 >
小于 <
3.邏輯運(yùn)算:條件語句中的條件最終都會轉(zhuǎn)化為布爾值。
常見的三種邏輯運(yùn)算:與運(yùn)算、或運(yùn)算、非運(yùn)算
A 與運(yùn)算 and 一假則假
B 或運(yùn)算 or 一真則真
C 非運(yùn)算 not 真假倒轉(zhuǎn)
另外還需要注意成員運(yùn)算符,in,判斷某個(gè)數(shù)據(jù)是否為另一個(gè)數(shù)據(jù)的“成員”的運(yùn)算符。
6.4、Python中數(shù)據(jù)類型轉(zhuǎn)換
Python是動態(tài)語言,也稱為弱類型語言。不需要像java或者C語言一樣在使用變量前必須聲明變量的類型。雖然Python不需要先聲明變量的類型,但有時(shí)仍然需要用到類型的裝換。
函數(shù)描述
int(x [,base])將x轉(zhuǎn)換為一個(gè)整數(shù)
long(x [,base] )將x轉(zhuǎn)換為一個(gè)長整數(shù)
float(x)將x轉(zhuǎn)換到一個(gè)浮點(diǎn)數(shù)
complex(real [,imag])創(chuàng)建一個(gè)復(fù)數(shù)
str(x)將對象 x 轉(zhuǎn)換為字符串
repr(x)將對象 x 轉(zhuǎn)換為表達(dá)式字符串
eval(str)用來計(jì)算在字符串中的有效Python表達(dá)式,并返回一個(gè)對象
tuple(s)將序列 s 轉(zhuǎn)換為一個(gè)元組
list(s)將序列 s 轉(zhuǎn)換為一個(gè)列表
set(s)轉(zhuǎn)換為可變集合
dict(d)創(chuàng)建一個(gè)字典。d 必須是一個(gè)序列 (key,value)元組。
frozenset(s)轉(zhuǎn)換為不可變集合
chr(x)將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)字符
unichr(x)將一個(gè)整數(shù)轉(zhuǎn)換為Unicode字符
ord(x)將一個(gè)字符轉(zhuǎn)換為它的整數(shù)值
hex(x)將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)十六進(jìn)制字符串
oct(x)將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)八進(jìn)制字符串
bin(x)將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)二進(jìn)制字符串
基本數(shù)據(jù)類型
1:雖然python中的變量不需要聲明,但使用時(shí)必須賦值
2:可以一個(gè)給多個(gè)變量賦值,也可以多個(gè)給多個(gè)變量賦值
3:python3中有6個(gè)標(biāo)準(zhǔn)數(shù)據(jù)類型
Number(數(shù)字)
String(字符串)
List(列表)
Tuple(元組)
Sets(集合)
Dictionary(字典)
示例6.4:模擬超市的抹零結(jié)賬
假設(shè)某超市因?yàn)檎伊懵闊?,特設(shè)置了抹零結(jié)賬的行為。先編寫一段Python代碼,模擬超市抹零結(jié)賬的行為。
在IDLE中,創(chuàng)建一個(gè)csml.py的文件,然后將該文件中,首先將各個(gè)商品金額累加,計(jì)算出商品總額,并轉(zhuǎn)成字符串輸出;然后然后應(yīng)用int()函數(shù)將浮點(diǎn)行的變量轉(zhuǎn)為整行,從而實(shí)現(xiàn)抹零,并將轉(zhuǎn)換為字符串輸出。關(guān)鍵代碼如下:
money_all = 29.9 + 26.9 + 68+ 29.6 + 39.8 # 累加總計(jì)金額
money_all_str = str(money_all) # 轉(zhuǎn)換為字符串
print("商品總金額為:" + money_all_str)
money_real = int(money_all) # 進(jìn)行抹零處理
money_real_str = str(money_real) # 轉(zhuǎn)換為字符串
print("實(shí)收金額為:" + money_real_str)
運(yùn)行結(jié)果如下:
商品總金額為:194.2
實(shí)收金額為:194
>>>
下節(jié)預(yù)告:零基礎(chǔ)Python完全自學(xué)教程7:Python中的基本輸入和輸出
課后練習(xí):(不定項(xiàng)選擇題,最少一個(gè)答案,答案見下期)
6.1、下列說法正確的有( )
A、整數(shù)包括正整數(shù)、0、負(fù)整數(shù)。
B、整數(shù)類型包括十進(jìn)制整數(shù)、八進(jìn)制整數(shù)、十六進(jìn)制整數(shù)、二進(jìn)制整數(shù)。
C、浮點(diǎn)數(shù)由0、整數(shù)部分和小數(shù)部分組成。
D、在使用浮點(diǎn)數(shù)進(jìn)行計(jì)算時(shí),可能出現(xiàn)小數(shù)位數(shù)不確定的情況。
6.2、下列說法正確的有( )
A、復(fù)數(shù)是由一個(gè)實(shí)數(shù)和一個(gè)虛數(shù)組合構(gòu)成。
B、表示復(fù)數(shù)的語法:實(shí)數(shù)+虛數(shù)。
C、python中的字符串,可以是計(jì)算機(jī)能夠表示的一切字符。
D、通常用單引號(' ')、雙引號(" ")或者三引號(''' '''或""" """)括起來。
6.3、下列說法正確的有( )
A、布爾類型主要來表示真或假的值。
B、Python中布爾值可以轉(zhuǎn)換為數(shù)值,其中True表示1,而False則表示0。
C。在Python函數(shù)中,str(x)是指將對象 x 轉(zhuǎn)換為字符串
D、在Python真值測試中,空序列,包括字符串、空元組、空列表、空字典為真。
上期答案:5.1、CD 5.2、ACD 5.3、A
文末福利:
1、關(guān)注站長在線官方公眾號【站長在線】微信號:olzzcom ,文末也有公眾號二維碼,關(guān)注公眾號以后回復(fù)python,本站精心整理的Python書籍、軟件、工具都實(shí)時(shí)更新哦!本站所安裝的python3.10、IDLE中文版 、PyCharm、Visual Studio Code、Sublime Text4等都在里面哦!
2、站長在線官方微信交流群已經(jīng)開通了,微信掃碼進(jìn)入,一起交流,一起進(jìn)步!
本文地址:http://003188.cn/pythonjbsjlx.html
阿里云虛擬主機(jī)1G空間,120元一年
香港、美國虛擬主機(jī)100元一年,1000元永久
騰訊云雙十一0.4折起,2核8G5M三年僅700元,2核4G8M三年僅198元
猜你喜歡