python的變量以及常用的數(shù)據(jù)類型

有關(guān)python的版本和安裝以及概念特點(diǎn)可以參考上篇博文,python語(yǔ)言基礎(chǔ)

專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)伊美免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

此博文主要討論問(wèn)題如下:
一、python的變量
二、python常用的數(shù)據(jù)類型

一、什么是python的變量?

變量是計(jì)算機(jī)內(nèi)存的一塊區(qū)域,變量可以存儲(chǔ)任何值,而且值可以改變。變量名由字母、數(shù)字和下劃線組成。需要注意的是,不能使用python的關(guān)鍵字,英文大小寫字母敏感,第1個(gè)字符必須是字母或下劃線,不能是數(shù)字,示例代碼如下:

>>> x=1
>>> _x=2
>>> print(x)
1
>>> print(_x)
2

x和_x都是合法的變量名,print()是輸出函數(shù),能夠輸出變量的值,也可以不使用小括號(hào)。

python中的變量不需要聲明,變量的賦值操作即是變量聲明和定義的過(guò)程,如_x=2即是聲明和定義的過(guò)程。還可以給幾個(gè)變量同時(shí)賦值,示例代碼如下:

>>> a,b,c=4,5,6
>>> print (a)
4
>>> print(b,c)
5 6

a,b,c=4,5,6同時(shí)給3個(gè)變量進(jìn)行了賦值操作,簡(jiǎn)化了多個(gè)變量賦值的代碼。

二、python常用的數(shù)據(jù)類型有哪些?

python內(nèi)置的數(shù)據(jù)類型有數(shù)字、字符串、元組、列表和字典。

1、數(shù)字

數(shù)字類型包括整~型、浮點(diǎn)型、布爾型等,聲明時(shí)由python內(nèi)置的基本數(shù)據(jù)類型來(lái)管理變量,在程序的后臺(tái)實(shí)現(xiàn)數(shù)值與類型的關(guān)聯(lián),以及轉(zhuǎn)換等操作。根據(jù)變量的值自動(dòng)判斷變量的類型,程序員不需要關(guān)心變量空間是什么類型,只要知道創(chuàng)建的變量存放了一個(gè)數(shù),程序只是對(duì)這個(gè)數(shù)值進(jìn)行操作。

1)整型和浮點(diǎn)型
整數(shù)使用整~型表示,有小數(shù)位使用浮點(diǎn)型表示,示例代碼如下:

>>> w=123
>>> print(w)
123
>>> w=5.21
>>> print(w)
5.21

以上代碼首先定義了變量w=123,此時(shí)的w值是整數(shù),w即使整型變量,當(dāng)w=5.21時(shí),w又成為了浮點(diǎn)型變量,由此可以看出,變量的類型是能改變的,這點(diǎn)與Java、C#語(yǔ)言等是有區(qū)別的。這是因?yàn)楫?dāng)python給已經(jīng)存在
的變量再次賦值時(shí),實(shí)際上是創(chuàng)建了一個(gè)新的變量,即使變量名相同,但標(biāo)識(shí)并不相同,變量的標(biāo)識(shí)可以使用id函數(shù)輸出。

>>> w=123
>>> print(id(w))
140709308982112
>>> 
>>> w=5.21
>>> print(id(w))
2193072831584

以上代碼都是對(duì)變量x的標(biāo)識(shí)進(jìn)行打印,賦值前后的標(biāo)識(shí)并不相同。

2)布爾類型
布爾型用于邏輯運(yùn)算,有兩個(gè)值True、False,表示真和假。示例代碼如下:

>>> 10>50
False
>>> 
>>> 30>15
True

3)python運(yùn)算符
python中使用的算術(shù)運(yùn)算符和數(shù)學(xué)運(yùn)算中使用的符號(hào)基本相同,由+、-、*、/、%、//、 *****(加、減、乘、除、取余、整余、次方)和小括號(hào)組成運(yùn)算順序也是先乘除后加減,小括號(hào)優(yōu)先。示例代碼如下:

>>> x,y=10,2
>>> print(x+y,x-y,x*y,x/y)
12 8 20 5.0
>>> print (2+4*8)
34
>>> print((6+5)*4)
44

下面兩個(gè)算術(shù)運(yùn)算符是%和****(求模運(yùn)算和求冪運(yùn)算),求模運(yùn)算取余數(shù),求冪是計(jì)算累乘的結(jié)果,也就是次方,示例代碼如下:

>>> 8%5
3
>>> 8%4
0
>>> 2**2
4
>>> 6**3
216
>>> 2**4
16

2、字符串

python中的字符串類型是一組包含數(shù)字、字母和符號(hào)的集合,作為一個(gè)整體使用。

1)字符串使用
python中有3種表示字符串的方式,單引號(hào)、雙引號(hào)、三引號(hào),示例代碼如下:

>>> name='王五'
>>> address="長(zhǎng)安街"
>>> content='''歡迎來(lái)到北京'''
>>> print (name)
王五
>>> print(address)
長(zhǎng)安街
>>> print(content)
歡迎來(lái)到北京

變量name使用單引號(hào),變量address使用雙引號(hào),變量content使用三引號(hào),他們都是合法的python字符串類型。需要注意的是,單引號(hào)和雙引號(hào)的作用是一樣的,可以根據(jù)習(xí)慣使用,但定義多行文字時(shí),必須要使用三引號(hào)。

常用的轉(zhuǎn)義字符如下圖:
python的變量以及常用的數(shù)據(jù)類型

2)字符串的其他用法
python的字符串可以進(jìn)行乘法的操作,可以用一個(gè)整型數(shù)字和字符串相乘,如用數(shù)字3乘字符串“a”,結(jié)果是字符串“aaa”,相同于字符串“a”連接了3遍,示例代碼如下:

>>> print(3*'a')
aaa
>>> print (5*'b')
bbbbb

3、列表

列表(list)是python中非常重要的數(shù)據(jù)類型,通常作為函數(shù)的返回類型。由一組元素組成,列表可以實(shí)現(xiàn)添加、刪除和查找操作,元素值可以被修改。

1)列表的定義
列表是python內(nèi)置的一種數(shù)據(jù)結(jié)構(gòu),由中括號(hào)定義,元素以逗號(hào)分開(kāi),語(yǔ)法如下:
python的變量以及常用的數(shù)據(jù)類型

2)列表的取值
列表中的數(shù)據(jù)是有序的,按定義時(shí)的順序排好,可以單獨(dú)取出某一位置元素的數(shù)值,語(yǔ)法如下:
python的變量以及常用的數(shù)據(jù)類型
示例代碼如下:

>>> num=['111','222','333']
>>> print(num[0])
111
>>> print(num[1])
222
>>> print(num[2])
333

定義了列表num,存儲(chǔ)了3個(gè)字符串順序是‘111’、‘222’、‘333’,取值時(shí)用小括號(hào)列表名num加上中括號(hào),數(shù)字表示索引位置,需要注意位置是由0開(kāi)始依次遞增。

  • 可以獲取列表知道范圍的一組元素,語(yǔ)法如下:
    python的變量以及常用的數(shù)據(jù)類型
    可以輸出起始位置到終止位置前的元素,不包括終止位置,示例代碼如下:
    >>> num=['111','222','333','444']
    >>> print(num[0:1])
    ['111']
    >>> 
    >>> print(num[0:3])
    ['111', '222', '333']
    >>> print(num[1:2])
    ['222']
    >>> 
    >>> print(num[2:])
    ['333', '444']

    [0:1]表示由索引0開(kāi)始,索引位置1之前的元素,所有只能取到第1個(gè)元素,[0:3]可以取到索引3之前的元素,即列表中第1、2、3個(gè)元素,其他的與此相同。

3)修改列表元素值
可以修改指定位置的列表元素值,語(yǔ)法如下:
python的變量以及常用的數(shù)據(jù)類型
示例代碼如下:

>>> num=['111','222','333','444']
>>> num[0]='001'        #修改
>>> print(num)
['001', '222', '333', '444']

定義列表時(shí),索引位置0的元素是“111”,修改它的值為“001”后,索引位置0元素變?yōu)椤?01”。

4)添加列表元素
可以把一個(gè)元素添加到列表的最后,語(yǔ)法如下:
python的變量以及常用的數(shù)據(jù)類型

示例代碼如下:

>>> num=['111','222','333','444']
>>> print (num)
['111', '222', '333', '444']
>>> num.append('555')       #末尾添加新元素
>>> print (num)
['111', '222', '333', '444', '555']

使用append(’555‘)后,“555”被添加到列表的末尾。

  • 在列表指定位置前插入新的元素,語(yǔ)法如下:
    python的變量以及常用的數(shù)據(jù)類型
    示例代碼如下:
    >>> num=['111','222','333','444']
    >>> num.insert(1,'001')
    >>> print(num)
    ['111', '001', '222', '333', '444']

    語(yǔ)句insert(1,’001‘)的作用是在索引位置1前插入’001‘,索引位置1的當(dāng)前元素是’222‘,’001‘插入到它的前面。

5)刪除列表元素
可以刪除列表指定索引位置的元素,語(yǔ)法如下:
python的變量以及常用的數(shù)據(jù)類型
示例代碼如下:

>>> num=['111','222','333']
>>> del (num[1])
>>> print(num)
['111', '333']

使用del刪除索引為1的元素’222‘后,輸出列表num中已經(jīng)不存在’222‘元素。

6)查找列表元素
使用in關(guān)鍵字可以查找列表中是否存在指定的數(shù)值,語(yǔ)法如下:
元素值 in 列表名
返回布爾類型True或False
示例代碼如下:

>>> num=['111','222','333']
>>> ('111')in num
True
>>> ('444')in num
False

字符串’111‘在列表中存在,返回True;字符串’444‘在列表中不存在,返回False。

7)合并列表
多個(gè)列表可以使用加號(hào)進(jìn)行合并,示例代碼如下:

>>> num1=['111','222']
>>> num2=['333','444']
>>> numAll=(num1+num2)
>>> print(numAll)
['111', '222', '333', '444']
>>> numAll=(num2+num1)
>>> print(numAll)
['333', '444', '111', '222']

定義了兩個(gè)列表num1和num2,使用加號(hào)進(jìn)行合并操作時(shí),加號(hào)后面的列表元素會(huì)追加到前面列表的后面。

8)重復(fù)列表
使用星號(hào)可以對(duì)列表進(jìn)行重復(fù)操作,與單獨(dú)字符串乘法操作相似,示例代碼如下:

>>> num1=['111','222']
>>> num=(num1*5)
>>> print(num)
['111', '222', '111', '222', '111', '222', '111', '222', '111', '222']

4、元組

元組(tuple)和列表類似,也是python的一種數(shù)據(jù)結(jié)構(gòu),由不同的元素組成,每個(gè)元素可以存儲(chǔ)不同類型的數(shù)據(jù),如字符串、數(shù)字、甚至元組。但元組是不可以修改的,即元組創(chuàng)建后不能做任何的修改操作,元組通常表示一行數(shù)據(jù),而元組中的元素表示不同的數(shù)據(jù)項(xiàng)。

1)元組的創(chuàng)建
元組由關(guān)鍵字小括號(hào)定義,一旦創(chuàng)建后就不能修改元組的內(nèi)容,定義的語(yǔ)法如下:
python的變量以及常用的數(shù)據(jù)類型
如下修改柱狀圖的代碼,加入元組的定義,示例代碼如下:

>>>import matplotlib.pyplot as plt
>>> x=(1,9)            #元組
>>> height_all=(6,10)     #元組
>>> width_all=4
>>> title=("cylinder")
>>> plt.bar(x=(1,9),height=(6,10),width=(4))
>>> plt.title(title)
>>> plt.show()

這段代碼依然可以正常運(yùn)行,與使用列表并沒(méi)有區(qū)別。元組與列表最大的不同是它是寫保護(hù)的,創(chuàng)建后不能做任何的修改。
python的變量以及常用的數(shù)據(jù)類型

python的變量以及常用的數(shù)據(jù)類型
在使用時(shí)元組與列表區(qū)別并不大,那么為什么要使用元組呢?主要是因?yàn)樵M是不可變的,操作速度比列表快,而且因?yàn)樗豢梢孕薷模瑪?shù)據(jù)要更加安全,所以要根據(jù)實(shí)際情況決定是使用元組還是列表,使程序更加高效合理。

2)元組的操作
元組也可對(duì)其元素執(zhí)行一系列的操作。

  • 元組具有不可變性,所以相比列表的操作要少,其中取值操作與列表是完全相同的,示例代碼如下:

    >>> num=('111','222','333')
    >>> print (num[0])
    111
    >>> print (num[1])
    222

    與列表的取值操作完全相同,都是使用方括號(hào)作為關(guān)鍵字取值。

  • 元素不允許刪除元組中的元素值,但是可以刪除整個(gè)元組,語(yǔ)法如下:
    python的變量以及常用的數(shù)據(jù)類型
    示例代碼如下:

    >>> num=('111','222','333','444')
    >>> del (num[0])              #刪除元素,報(bào)錯(cuò)
    Traceback (most recent call last):
    File "<pyshell#219>", line 1, in <module>
    del (num[0])
    TypeError: 'tuple' object doesn't support item deletion
    >>> print (num)
    ('111', '222', '333', '444')
    >>> del (num)              #刪除元組后元組不存在,報(bào)錯(cuò)
    >>> print (num)
    Traceback (most recent call last):
    File "<pyshell#222>", line 1, in <module>
    print (num)
    NameError: name 'num' is not defined
    >>> 

    定義元組num后,刪除某一個(gè)元素程序報(bào)錯(cuò)。刪除整個(gè)元組后,在想使用這個(gè)元組,編譯器會(huì)報(bào)未定義變量的錯(cuò)誤。

  • 元組和列表可以做互相轉(zhuǎn)換操作,元組轉(zhuǎn)換為列表的語(yǔ)法如下:
    python的變量以及常用的數(shù)據(jù)類型
    示例代碼如下:
    >>> num=('111','222','333','444')      #元組
    >>> listNum =list(num)                  #轉(zhuǎn)換為列表
    >>> print (listNum)
    ['111', '222', '333', '444']
    >>> (listNum[0])='001'                 #修改列表
    >>> print( listNum)
    ['001', '222', '333', '444']
    >>> print (type(num))           #輸出元組類型
    <class 'tuple'>
    >>> print (type(listNum))       #輸出列表類型
    <class 'list'>

    這段代碼首先定義了元組num,然后把它轉(zhuǎn)換為列表listNum,對(duì)列表listNum可以做修改元素的操作,使用type()函數(shù)輸出了元組的列表的類型。

5、字典

字典(dict)是python中重要的數(shù)據(jù)類型,字典是由“鍵-值”對(duì)組成的集合,字典中的值通過(guò)鍵來(lái)引用。

1)字典的創(chuàng)建
字典的每個(gè)元素是由“鍵-值”對(duì)(key-value)組成的,鍵值之間使用冒號(hào)分隔,“鍵-值”對(duì)之間用逗號(hào)隔開(kāi),并且被包含在一對(duì)花括號(hào)中。鍵是唯一的,不能存在多個(gè),且它的值是無(wú)序的,鍵可以是數(shù)字、字符串、元組,一般用字符串作為鍵。定義的語(yǔ)法如下:
python的變量以及常用的數(shù)據(jù)類型
示例代碼如下:

>>> mobile = {'tom':'19991111','bob':'19982222','alice':'19973333'}
>>> print(mobile)
{'tom': '19991111', 'bob': '19982222', 'alice': '19973333'}
>>> print(type(mobile))
<class 'dict'>

定義了一個(gè)字典mobile,存儲(chǔ)的鍵是姓名,值是電話號(hào)碼,他們構(gòu)成了對(duì)應(yīng)的關(guān)系,使用type函數(shù)可以查看到它的類型是’dict‘。

2)字典的取值操作
字典的取值與元組和列表有所不同,元組和列表都是通過(guò)數(shù)字索引獲取對(duì)應(yīng)位置的值,而字典是通過(guò)鍵獲取對(duì)應(yīng)的值。取值的語(yǔ)法如下:
python的變量以及常用的數(shù)據(jù)類型
示例代碼如下:

>>> mobile = {'tom':'19991111','bob':'19982222','alice':'19973333'}
>>> print(mobile["tom"])
19991111
>>> print(mobile["bob"])
19982222

分別使用鍵“tom”“bob”可以獲取到他們對(duì)應(yīng)的值。需要注意的是,鍵是唯一的,而不同鍵的值卻可以相同,當(dāng)定義多個(gè)鍵相同時(shí),字典中只會(huì)保留最后一個(gè)定義的鍵值對(duì),示例代碼如下:

>>> mobile = {'tom':'19991111','tom':'1×××222','tom':'19993333'}
>>> print(mobile)
{'tom': '19993333'}

字典中定義了3個(gè)“鍵-值”對(duì),他們的鍵是相同的,最后輸出時(shí)只有最后一個(gè)定義的“鍵-值”對(duì)存在。

3)字典的添加、修改、刪除操作
字典添加新元素只需要對(duì)新鍵進(jìn)行賦值即可,字典中不存在的鍵,會(huì)自動(dòng)進(jìn)行添加。示例代碼如下:

>>> mobile = {'tom':'19991111','bob':'19982222'}
>>> (mobile['alice'])='19993333'
>>> print(mobile)
{'tom': '19991111', 'bob': '19982222', 'alice': '19993333'}

字典的鍵’alice‘在定義時(shí)并不存在,賦值后,鍵’alice‘被添加到字典中。字典鍵值對(duì)的鍵名是區(qū)分大小寫的。

修改字典中的元素,直接使用存在的鍵賦值,示例代碼如下:

>>> mobile = {'tom':'19991111','bob':'19982222'}
>>> (mobile['bob'])='19993333'
>>> print(mobile)
{'tom': '19991111', 'bob': '19993333'}

刪除字典中的元素,使用del函數(shù),語(yǔ)法如下:
del 字典名['鍵']
示例代碼如下:

>>> mobile = {'tom':'19991111','bob':'19982222'}
>>> del (mobile['tom'])
>>> print(mobile)
{'bob': '19982222'}

本章博文到此結(jié)束,感謝閱讀

網(wǎng)站題目:python的變量以及常用的數(shù)據(jù)類型
標(biāo)題鏈接:http://bm7419.com/article44/pciehe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、關(guān)鍵詞優(yōu)化、響應(yīng)式網(wǎng)站、品牌網(wǎng)站建設(shè)外貿(mào)網(wǎng)站建設(shè)、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名