Python變量和數(shù)據(jù)類型詳解
Python 變量類型
變量存儲在內(nèi)存中的值。這就意味著在創(chuàng)建變量時會在內(nèi)存中開辟一個空間。
基于變量的數(shù)據(jù)類型,解釋器會分配指定內(nèi)存,并決定什么數(shù)據(jù)可以被存儲在內(nèi)存中。
因此,變量可以指定不同的數(shù)據(jù)類型,這些變量可以存儲整數(shù),小數(shù)或字符。
變量賦值
Python 中的變量賦值不需要類型聲明。
每個變量在內(nèi)存中創(chuàng)建,都包括變量的標識,名稱和數(shù)據(jù)這些信息。
每個變量在使用前都必須賦值,變量賦值以后該變量才會被創(chuàng)建。
等號(=)用來給變量賦值。
等號(=)運算符左邊是一個變量名,等號(=)運算符右邊是存儲在變量中的值。例如:
#!/usr/bin/python # -*- coding: UTF-8 -*- counter = 100 # 賦值整型變量 miles = 1000.0 # 浮點型 name = "John" # 字符串 print(counter) print(miles) print(name)
以上實例中,100,1000.0和"John"分別賦值給counter,miles,name變量。
執(zhí)行以上程序會輸出如下結(jié)果:
100
1000.0
John
多個變量賦值
Python允許你同時為多個變量賦值。例如:
a = b = c = 1
以上實例,創(chuàng)建一個整型對象,值為1,三個變量被分配到相同的內(nèi)存空間上。
您也可以為多個對象指定多個變量。例如:
a, b, c = 1, 2, "john"
以上實例,兩個整型對象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
二、浮點數(shù)
float = 2.3
print float
三、字符串
a、使用單引號(')
用單引號括起來表示字符串,例如:
str = 'this is string'
print str
b、使用雙引號(")
雙引號中的字符串與單引號中的字符串用法完全相同,例如:
str = "this is string";
print str
c、使用三引號(''')
利用三引號,表示多行的字符串,可以在三引號中自由的使用單引號和雙引號,例如:
str = '''this is string
this is pythod string
this is string'''
print str
四、布爾值
and:與運算,只有所有都為True,and運算結(jié)果才是True。
or:或運算,只要其中有一個為True,or運算結(jié)果就是True。
not:非運算,它是一個單目運算符,把True變成False,F(xiàn)alse 變成True。
bool = False
print bool
bool = True
print bool
五、空值
空值是Python里一個特殊的值,用None表示。
None不能理解為0,因為0是有意義的,而None是一個特殊的空值。
六、列表
# -*- 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) # 移除列表中某個值的第一個匹配項 lst.reverse() # 反向列表中元素,倒轉(zhuǎn) print lst.sort() # 對原列表進行排序 print lst.pop(1) # 移除列表中的一個元素(默認最后一個元素),并且返回該元素的值 print lst print lst.count('obj') # 統(tǒng)計某個元素在列表中出現(xiàn)的次數(shù) lst.index('append') # 從列表中找出某個值第一個匹配項的索引位置,索引從0開始 lst.extend(lst) # 在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表) print 'End:', lst
七、字典
字典(dictionary)是除列表之外python中最靈活的內(nèi)置數(shù)據(jù)結(jié)構(gòu)類型。列表是有序的對象結(jié)合,字典是無序的對象集合。兩者之間的區(qū)別在于:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
# -*- 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) # 比較兩個字典元素。 len(dit) # 計算字典元素個數(shù),即鍵的總數(shù)。 str(dit) # 輸出字典可打印的字符串表示。 type(dit) # 返回輸入的變量類型,如果變量是字典就返回字典類型。 dit.copy() # 返回一個字典的淺復制 dit.fromkeys(seq) # 創(chuàng)建一個新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應的初始值 dit.get(dit['name']) # 返回指定鍵的值,如果值不在字典中返回default值 dit.has_key('class') # 如果鍵在字典dict里返回true,否則返回false dit.items() # 以列表返回可遍歷的(鍵, 值) 元組數(shù)組 dit.keys() # 以列表返回一個字典所有的鍵 dit.setdefault('subject', 'Python') # 和get()類似, 但如果鍵不已經(jīng)存在于字典中,將會添加鍵并將值設(shè)為default dit.update(dict2) # 把字典dict2的鍵/值對更新到dict里 dit.values() # 以列表返回字典中的所有值 dit.clear() # 刪除字典內(nèi)所有元素
八、元祖
Python的元組(tuple)與列表類似,不同之處在于元組的元素不能修改;元組使用小括號(),列表使用方括號[];元組創(chuàng)建很簡單,只需要在括號中添加元素,并使用逗號(,)隔開即可.
# -*- 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) # 比較兩個元組元素。 len(tup3) # 計算元組元素個數(shù)。 max(tup3) # 返回元組中元素最大值。 min(tup3) # 返回元組中元素最小值。 L = [1, 2, 3, 4] print L print tuple(L) # 將列表轉(zhuǎn)換為元組。
九、定義字符串
\n 表示換行
\t 表示一個制表符
\\ 表示 \ 字符本身
十、Unicode字符串
Python默認編碼ASCII編碼
# -*- coding: utf-8 -*-
十一、數(shù)字類型轉(zhuǎn)換
int(x [,base]) 將x轉(zhuǎn)換為一個整數(shù)
float(x ) 將x轉(zhuǎn)換到一個浮點數(shù)
complex(real [,imag]) 創(chuàng)建一個復數(shù)
str(x) 將對象x轉(zhuǎn)換為字符串
repr(x) 將對象x轉(zhuǎn)換為表達式字符串
eval(str) 用來計算在字符串中的有效Python表達式,并返回一個對象
tuple(s) 將序列s轉(zhuǎn)換為一個元組
list(s) 將序列s轉(zhuǎn)換為一個列表
chr(x) 將一個整數(shù)轉(zhuǎn)換為一個字符
unichr(x) 將一個整數(shù)轉(zhuǎn)換為Unicode字符
ord(x) 將一個字符轉(zhuǎn)換為它的整數(shù)值
hex(x) 將一個整數(shù)轉(zhuǎn)換為一個十六進制字符串
oct(x) 將一個整數(shù)轉(zhuǎn)換為一個八進制字符串
腳本之家小編特從多篇文章整理結(jié)合,剛好一起學習python。
相關(guān)文章
Python3.6連接Oracle數(shù)據(jù)庫的方法詳解
這篇文章主要介紹了Python3.6連接Oracle數(shù)據(jù)庫的方法,較為詳細的分析了cx_Oracle模塊安裝及Python3.6使用cx_Oracle模塊操作Oracle數(shù)據(jù)庫的具體操作步驟與相關(guān)注意事項,需要的朋友可以參考下2018-05-05如何基于Python pygame實現(xiàn)動畫跑馬燈
這篇文章主要介紹了如何基于Python pygame實現(xiàn)動畫跑馬燈,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-11-11Python3創(chuàng)建Django項目的幾種方法(3種)
這篇文章主要介紹了Python3創(chuàng)建Django項目的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-06-06