Python變量和數(shù)據(jù)類型詳解
Python 變量類型
變量存儲(chǔ)在內(nèi)存中的值。這就意味著在創(chuàng)建變量時(shí)會(huì)在內(nèi)存中開辟一個(gè)空間。
基于變量的數(shù)據(jù)類型,解釋器會(huì)分配指定內(nèi)存,并決定什么數(shù)據(jù)可以被存儲(chǔ)在內(nèi)存中。
因此,變量可以指定不同的數(shù)據(jù)類型,這些變量可以存儲(chǔ)整數(shù),小數(shù)或字符。
變量賦值
Python 中的變量賦值不需要類型聲明。
每個(gè)變量在內(nèi)存中創(chuàng)建,都包括變量的標(biāo)識(shí),名稱和數(shù)據(jù)這些信息。
每個(gè)變量在使用前都必須賦值,變量賦值以后該變量才會(huì)被創(chuàng)建。
等號(hào)(=)用來給變量賦值。
等號(hào)(=)運(yùn)算符左邊是一個(gè)變量名,等號(hào)(=)運(yùn)算符右邊是存儲(chǔ)在變量中的值。例如:
#!/usr/bin/python # -*- coding: UTF-8 -*- counter = 100 # 賦值整型變量 miles = 1000.0 # 浮點(diǎn)型 name = "John" # 字符串 print(counter) print(miles) print(name)
以上實(shí)例中,100,1000.0和"John"分別賦值給counter,miles,name變量。
執(zhí)行以上程序會(huì)輸出如下結(jié)果:
100
1000.0
John
多個(gè)變量賦值
Python允許你同時(shí)為多個(gè)變量賦值。例如:
a = b = c = 1
以上實(shí)例,創(chuàng)建一個(gè)整型對象,值為1,三個(gè)變量被分配到相同的內(nèi)存空間上。
您也可以為多個(gè)對象指定多個(gè)變量。例如:
a, b, c = 1, 2, "john"
以上實(shí)例,兩個(gè)整型對象1和2的分配給變量 a 和 b,字符串對象 "john" 分配給變量 c。
注意:
以下關(guān)鍵字不能聲明為變量:
and、as、assert、break、class、continue、def、del、elif、else、except、exec、finally、for、global、if、import、in、is、lambda、not、or、pass、print、raise、return、try、while、with、yield、id
Python中數(shù)據(jù)類型
一、整數(shù)
int = 20
print int
print 45678 + 0x12fd2
二、浮點(diǎn)數(shù)
float = 2.3
print float
三、字符串
a、使用單引號(hào)(')
用單引號(hào)括起來表示字符串,例如:
str = 'this is string'
print str
b、使用雙引號(hào)(")
雙引號(hào)中的字符串與單引號(hào)中的字符串用法完全相同,例如:
str = "this is string";
print str
c、使用三引號(hào)(''')
利用三引號(hào),表示多行的字符串,可以在三引號(hào)中自由的使用單引號(hào)和雙引號(hào),例如:
str = '''this is string
this is pythod string
this is string'''
print str
四、布爾值
and:與運(yùn)算,只有所有都為True,and運(yùn)算結(jié)果才是True。
or:或運(yùn)算,只要其中有一個(gè)為True,or運(yùn)算結(jié)果就是True。
not:非運(yùn)算,它是一個(gè)單目運(yùn)算符,把True變成False,F(xiàn)alse 變成True。
bool = False
print bool
bool = True
print bool
五、空值
空值是Python里一個(gè)特殊的值,用None表示。
None不能理解為0,因?yàn)?是有意義的,而None是一個(gè)特殊的空值。
六、列表
# -*- coding:utf-8 -*- lst = ['A', 'B', 1996, 2017] nums = [1, 3, 5, 7, 8, 13, 20] # 訪問列表中的值 print "nums[0]:", nums[0] # 1 print "nums[2:5]:", nums[2:5] # [5, 7, 8] print "nums[1:]:", nums[1:] # [3, 5, 7, 8, 13, 20] print "nums[:-3]:", nums[:-3] # [1, 3, 5, 7] print "nums[:]:", nums[:] # [1, 3, 5, 7, 8, 13, 20] # 更新列表 nums[0] = "ljq" print nums[0] # 刪除列表元素 del nums[0] '''nums[:]: [3, 5, 7, 8, 13, 20]''' print "nums[:]:", nums[:] # 列表腳本操作符 print len([1, 2, 3]) # 3 print [1, 2, 3] + [4, 5, 6] # [1, 2, 3, 4, 5, 6] print ['Hi!'] * 4 # ['Hi!', 'Hi!', 'Hi!', 'Hi!'] print 3 in [1, 2, 3] # True for x in [1, 2, 3]: print x, # 1 2 3 # 列表截取 L = ['spam', 'Spam', 'SPAM!'] print L[2] # 'SPAM!' print L[-2] # 'Spam' print L[1:] # ['Spam', 'SPAM!'] # 列表函數(shù)&方法 lst.append('append') # 在列表末尾添加新的對象 lst.insert(2, 'insert') # 將對象插入列表 lst.remove(1996) # 移除列表中某個(gè)值的第一個(gè)匹配項(xiàng) lst.reverse() # 反向列表中元素,倒轉(zhuǎn) print lst.sort() # 對原列表進(jìn)行排序 print lst.pop(1) # 移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素),并且返回該元素的值 print lst print lst.count('obj') # 統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù) lst.index('append') # 從列表中找出某個(gè)值第一個(gè)匹配項(xiàng)的索引位置,索引從0開始 lst.extend(lst) # 在列表末尾一次性追加另一個(gè)序列中的多個(gè)值(用新列表擴(kuò)展原來的列表) print 'End:', lst
七、字典
字典(dictionary)是除列表之外python中最靈活的內(nèi)置數(shù)據(jù)結(jié)構(gòu)類型。列表是有序的對象結(jié)合,字典是無序的對象集合。兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過鍵來存取的,而不是通過偏移存取。
# -*- coding:utf-8 -*- dit = {'name': 'Zara', 'age': 7, 'class': 'First'} dict1 = {'abc': 456} dict2 = {'abc': 123, 98.6: 37} seq = ('name', 'age', 'sex') # 訪問字典里的值 print "dit['name']: ", dit['name'] print "dit['age']: ", dit['age'] # 修改字典 dit["age"] = 27 # 修改已有鍵的值 dit["school"] = "wutong" # 增加新的鍵/值對 print "dict['age']: ", dit['age'] print "dict['school']: ", dit['school'] # 刪除字典 del dit['name'] # 刪除鍵是'name'的條目 dit.clear() # 清空詞典所有條目 del dit # 刪除詞典 dit = {'name': 'Zara', 'age': 7, 'class': 'First'} # 字典內(nèi)置函數(shù)&方法 cmp(dict1, dict2) # 比較兩個(gè)字典元素。 len(dit) # 計(jì)算字典元素個(gè)數(shù),即鍵的總數(shù)。 str(dit) # 輸出字典可打印的字符串表示。 type(dit) # 返回輸入的變量類型,如果變量是字典就返回字典類型。 dit.copy() # 返回一個(gè)字典的淺復(fù)制 dit.fromkeys(seq) # 創(chuàng)建一個(gè)新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應(yīng)的初始值 dit.get(dit['name']) # 返回指定鍵的值,如果值不在字典中返回default值 dit.has_key('class') # 如果鍵在字典dict里返回true,否則返回false dit.items() # 以列表返回可遍歷的(鍵, 值) 元組數(shù)組 dit.keys() # 以列表返回一個(gè)字典所有的鍵 dit.setdefault('subject', 'Python') # 和get()類似, 但如果鍵不已經(jīng)存在于字典中,將會(huì)添加鍵并將值設(shè)為default dit.update(dict2) # 把字典dict2的鍵/值對更新到dict里 dit.values() # 以列表返回字典中的所有值 dit.clear() # 刪除字典內(nèi)所有元素
八、元祖
Python的元組(tuple)與列表類似,不同之處在于元組的元素不能修改;元組使用小括號(hào)(),列表使用方括號(hào)[];元組創(chuàng)建很簡單,只需要在括號(hào)中添加元素,并使用逗號(hào)(,)隔開即可.
# -*- coding:utf-8 -*- tup1 = ('physics', 'chemistry', 1997, 2000) tup2 = (1, 2, 3, 4, 5) tup3 = "a", "b", "c", "d" # 訪問元組 print "tup1[0]: ", tup1[0] # physics print "tup1[1:3]: ", tup1[1:3] # ('chemistry', 1997) # 修改元組 tup4 = tup1 + tup2 print tup4 # (12, 34.56, 'abc', 'xyz') # 刪除元組 tup = ('tup3', 'tup', 1997, 2000) print tup del tup # 元組索引&截取 L = ('spam', 'Spam', 'SPAM!') print L[0] # spam print L[1] # Spam print L[2] # 'SPAM!' print L[-2] # 'Spam' print L[1:] # ['Spam', 'SPAM!'] # 元組內(nèi)置函數(shù) print cmp(tup3, tup2) # 比較兩個(gè)元組元素。 len(tup3) # 計(jì)算元組元素個(gè)數(shù)。 max(tup3) # 返回元組中元素最大值。 min(tup3) # 返回元組中元素最小值。 L = [1, 2, 3, 4] print L print tuple(L) # 將列表轉(zhuǎn)換為元組。
九、定義字符串
\n 表示換行
\t 表示一個(gè)制表符
\\ 表示 \ 字符本身
十、Unicode字符串
Python默認(rèn)編碼ASCII編碼
# -*- coding: utf-8 -*-
十一、數(shù)字類型轉(zhuǎn)換
int(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è)列表
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)制字符串
腳本之家小編特從多篇文章整理結(jié)合,剛好一起學(xué)習(xí)python。
- Python變量及數(shù)據(jù)類型用法原理匯總
- Python3變量與基本數(shù)據(jù)類型用法實(shí)例分析
- Python變量、數(shù)據(jù)類型、數(shù)據(jù)類型轉(zhuǎn)換相關(guān)函數(shù)用法實(shí)例詳解
- python基礎(chǔ)知識(shí)(一)變量與簡單數(shù)據(jù)類型詳解
- 詳細(xì)解析Python中的變量的數(shù)據(jù)類型
- 詳細(xì)解析Python當(dāng)中的數(shù)據(jù)類型和變量
- python基礎(chǔ)教程之基本數(shù)據(jù)類型和變量聲明介紹
- 詳解python變量與數(shù)據(jù)類型
相關(guān)文章
python opencv 實(shí)現(xiàn)對圖像邊緣擴(kuò)充
今天小編就為大家分享一篇python opencv 實(shí)現(xiàn)對圖像邊緣擴(kuò)充,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python3.6連接Oracle數(shù)據(jù)庫的方法詳解
這篇文章主要介紹了Python3.6連接Oracle數(shù)據(jù)庫的方法,較為詳細(xì)的分析了cx_Oracle模塊安裝及Python3.6使用cx_Oracle模塊操作Oracle數(shù)據(jù)庫的具體操作步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下2018-05-05如何基于Python pygame實(shí)現(xiàn)動(dòng)畫跑馬燈
這篇文章主要介紹了如何基于Python pygame實(shí)現(xiàn)動(dòng)畫跑馬燈,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11計(jì)算Python Numpy向量之間的歐氏距離實(shí)例
這篇文章主要介紹了計(jì)算Python Numpy向量之間的歐氏距離實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05Python3創(chuàng)建Django項(xiàng)目的幾種方法(3種)
這篇文章主要介紹了Python3創(chuàng)建Django項(xiàng)目的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06python自動(dòng)化unittest yaml使用過程解析
這篇文章主要介紹了python自動(dòng)化unittest yaml使用過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02五個(gè)Jupyter?Notebook實(shí)用魔法命令分享
Jupyter?Notebook是一個(gè)開源的交互式編程環(huán)境,用于創(chuàng)建和共享包含實(shí)時(shí)代碼、文本等,本文主要來和大家分享一些有趣的Jupyter?Notebook魔法命令,需要的可以參考一下2023-07-07