Python數(shù)據(jù)類型

1. 數(shù)值類型

  • ** int 整數(shù) **
    如:1,100蕾管,-8080枷踏,0,
    十六進制:0xff00掰曾,0xa5b4c3d2

  • ** long 長整型 **
    如:51924361L, -0x19323L

  • ** float 浮點數(shù) **
    如:1.23旭蠕,3.14,-9.01
    科學(xué)計數(shù)法:1.23x109就是1.23e9婴梧,或者12.3e8下梢,0.000012可以寫成1.2e-5

  • ** complex 復(fù)數(shù)**
    如:9.322e-36j , 3e+26J

  • 刪除數(shù)字對象引用
    例如:

a=1;
b=2;
c=3;
del a;
del b, c;
#print a; #刪除a變量后,再調(diào)用a變量會報錯
  • 數(shù)字類型轉(zhuǎn)換
int(x [,base])  #將x轉(zhuǎn)換為一個整數(shù) 
float(x )  #將x轉(zhuǎn)換到一個浮點數(shù) 
complex(real [,imag])  #創(chuàng)建一個復(fù)數(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)換為一個八進制字符串
  • 數(shù)學(xué)函數(shù)
abs(x)    #返回數(shù)字的絕對值塞蹭,如abs(-10) 返回 10
ceil(x)    #返回數(shù)字的上入整數(shù)孽江,如math.ceil(4.1) 返回 5
cmp(x, y)  #如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
exp(x)    #返回e的x次冪(ex),如math.exp(1) 返回2.718281828459045
fabs(x)    #返回數(shù)字的絕對值,如math.fabs(-10) 返回10.0
floor(x)  #返回數(shù)字的下舍整數(shù)番电,如math.floor(4.9)返回 4
log(x)    #如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x)  #返回以10為基數(shù)的x的對數(shù)岗屏,如math.log10(100)返回 2.0
max(x1, x2,...)     #返回給定參數(shù)的最大值,參數(shù)可以為序列漱办。
min(x1, x2,...)     #返回給定參數(shù)的最小值这刷,參數(shù)可以為序列。
modf(x)     #返回x的整數(shù)部分與小數(shù)部分娩井,兩部分的數(shù)值符號與x相同暇屋,整數(shù)部分以浮點型表示。
pow(x, y) x**y  #運算后的值洞辣。
round(x [,n])   #返回浮點數(shù)x的四舍五入值咐刨,如給出n值,則代表舍入到小數(shù)點后的位數(shù)扬霜。
sqrt(x)     #返回數(shù)字x的平方根定鸟,數(shù)字可以為負數(shù),返回類型為實數(shù)著瓶,如math.sqrt(4)   返回 2+0j

2. 字符型

  • **使用單引號(') **
    用單引號括起來表示字符串联予,例如:
str='this is string';
print str;
  • **使用雙引號(") **
    雙引號中的字符串與單引號中的字符串用法完全相同,例如:
str="this is string";
print str;
  • ** 使用三引號(''') **
    利用三引號材原,表示多行的字符串沸久,可以在三引號中自由的使用單引號和雙引號,例如:
str='''this is string
this is pythod string
this is string''' 
print str;
  • unicode
b = u'你好'
print b

3. 布爾類型

如:

bool=False; 
print bool;
bool=True;
print bool;

4. 列表 List

  • ** 初始化列表**
    例如:
list=['physics', 'chemistry', 1997, 2000];
nums=[1, 3, 5, 7, 8, 13, 20];
  • ** 訪問列表中的值**
    例如:
'''nums[0]: 1'''
print "nums[0]:", nums[0]
'''nums[2:5]: [5, 7, 8]  從下標(biāo)為2的元素切割到下標(biāo)為5的元素余蟹,但不包含下標(biāo)為5的元素'''
print "nums[2:5]:", nums[2:5]
'''nums[1:]: [3, 5, 7, 8, 13, 20] 從下標(biāo)為1切割到最后一個元素'''
print "nums[1:]:", nums[1:]
'''nums[:-3]: [1, 3, 5, 7] 從最開始的元素一直切割到倒數(shù)第3個元素麦向,但不包含倒數(shù)第三個元素'''
print "nums[:-3]:", nums[:-3]
'''nums[:]: [1, 3, 5, 7, 8, 13, 20] 返回所有元素'''
print "nums[:]:", nums[:]
  • 更新列表
nums[0]="ljq";
print nums[0];
  • 刪除列表元素
del nums[0];
'''nums[:]: [3, 5, 7, 8, 13, 20]'''
print "nums[:]:", nums[:];
  • 列表腳本操作符
    列表對+和的操作符與字符串相似。+號用于組合列表客叉,號用于重復(fù)列表诵竭,例如:
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ù)&方法
list.append(obj) 在列表末尾添加新的對象
list.count(obj) 統(tǒng)計某個元素在列表中出現(xiàn)的次數(shù)
list.extend(seq) 在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)
list.index(obj) 從列表中找出某個值第一個匹配項的索引位置话告,索引從0開始
list.insert(index, obj) 將對象插入列表
list.pop(obj=list[-1]) 移除列表中的一個元素(默認最后一個元素),并且返回該元素的值
list.remove(obj) 移除列表中某個值的第一個匹配項
list.reverse() 反向列表中元素卵慰,倒轉(zhuǎn)
list.sort([func]) 對原列表進行排序

5. 元組 Tuple

  • 元組簡介
    Python的元組與列表類似沙郭,不同之處在于元組的元素不能修改;元組使用小括號()裳朋,列表使用方括號[]病线;元組創(chuàng)建很簡單,只需要在括號中添加元素鲤嫡,并使用逗號(,)隔開即可送挑,例如:
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";

創(chuàng)建空元組,例如:tup = ();
元組中只有一個元素時暖眼,需要在元素后面添加逗號惕耕,例如:tup1 = (50,);
元組與字符串類似,下標(biāo)索引從0開始诫肠,可以進行截取司澎,組合等。

  • 訪問元組
tup1 = ('physics', 'chemistry', 1997, 2000);
#tup1[0]: physics
print "tup1[0]: ", tup1[0]
#tup1[1:5]: ('chemistry', 1997)
print "tup1[1:5]: ", tup1[1:3]
  • 修改元組
    元組中的元素值是不允許修改的栋豫,但我們可以對元組進行連接組合挤安,例如:
    tup1 = (12, 34.56);
    tup2 = ('abc', 'xyz');

以下修改元組元素操作是非法的。
tup1[0] = 100;
創(chuàng)建一個新的元組

tup3 = tup1 + tup2;
print tup3; #(12, 34.56, 'abc', 'xyz')
  • 刪除元組
    元組中的元素值是不允許刪除的丧鸯,可以使用del語句來刪除整個元組蛤铜,例如:
tup = ('physics', 'chemistry', 1997, 2000);
print tup;
del tup;
  • 元組運算符
    與字符串一樣,元組之間可以使用+號和*號進行運算丛肢。這就意味著他們可以組合和復(fù)制昂羡,運算后會生成一個新的元組。
  • 元組索引&截取
L = ('spam', 'Spam', 'SPAM!');
print L[2]; #'SPAM!'
print L[-2]; #'Spam'
print L[1:]; #['Spam', 'SPAM!']
  • 元組內(nèi)置函數(shù)
cmp(tuple1, tuple2) 比較兩個元組元素摔踱。
len(tuple) 計算元組元素個數(shù)。
max(tuple) 返回元組中元素最大值怨愤。
min(tuple) 返回元組中元素最小值派敷。
tuple(seq) 將列表轉(zhuǎn)換為元組。

6. 字典 dict

  • 字典簡介
    字典(dictionary)是除列表之外python中最靈活的內(nèi)置數(shù)據(jù)結(jié)構(gòu)類型撰洗。列表是有序的對象結(jié)合篮愉,字典是無序的對象集合。兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過鍵來存取的差导,而不是通過偏移存取试躏。

字典由鍵和對應(yīng)的值組成。字典也被稱作關(guān)聯(lián)數(shù)組或哈希表设褐〉咴蹋基本語法如下:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'};

也可如此創(chuàng)建字典:

dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };

每個鍵與值必須用冒號隔開(:)泣刹,每對用逗號分割辈赋,整體放在花括號中({})昆码。鍵必須獨一無二疮跑,但值則不必塘揣;值可以取任何數(shù)據(jù)類型智润,但必須是不可變的采桃,如字符串况既,數(shù)或元組碍讯。

  • 訪問字典里的值
#!/usr/bin/python
dict = {'name': 'Zara', 'age': 7, 'class': 'First'};
print "dict['name']: ", dict['name'];
print "dict['age']: ", dict['age'];
  • 修改字典
    向字典添加新內(nèi)容的方法是增加新的鍵/值對西轩,修改或刪除已有鍵/值對如下實例:
#!/usr/bin/python
dict = {'name': 'Zara', 'age': 7, 'class': 'First'};
dict["age"]=27; #修改已有鍵的值
dict["school"]="wutong"; #增加新的鍵/值對
print "dict['age']: ", dict['age'];
print "dict['school']: ", dict['school'];
  • 刪除字典
    del dict['name']; # 刪除鍵是'name'的條目
    dict.clear(); # 清空詞典所有條目
    del dict ; # 刪除詞典
    例如:
#!/usr/bin/python
dict = {'name': 'Zara', 'age': 7, 'class': 'First'};
del dict['name'];
#dict {'age': 7, 'class': 'First'}
print "dict", dict;

注意:字典不存在员舵,del會引發(fā)一個異常

  • 字典內(nèi)置函數(shù)&方法
cmp(dict1, dict2)  比較兩個字典元素。
len(dict) 計算字典元素個數(shù)藕畔,即鍵的總數(shù)马僻。
str(dict) 輸出字典可打印的字符串表示。
type(variable) 返回輸入的變量類型劫流,如果變量是字典就返回字典類型巫玻。
radiansdict.clear() 刪除字典內(nèi)所有元素
radiansdict.copy() 返回一個字典的淺復(fù)制
radiansdict.fromkeys() 創(chuàng)建一個新字典,以序列seq中元素做字典的鍵祠汇,val為字典所有鍵對應(yīng)的初始值
radiansdict.get(key, default=None) 返回指定鍵的值仍秤,如果值不在字典中返回default值
radiansdict.has_key(key) 如果鍵在字典dict里返回true,否則返回false
radiansdict.items() 以列表返回可遍歷的(鍵, 值) 元組數(shù)組
radiansdict.keys() 以列表返回一個字典所有的鍵
radiansdict.setdefault(key, default=None) 和get()類似, 但如果鍵不已經(jīng)存在于字典中可很,將會添加鍵并將值設(shè)為default
radiansdict.update(dict2) 把字典dict2的鍵/值對更新到dict里
radiansdict.values() 以列表返回字典中的所有值

7. 日期和時間

  • 獲取當(dāng)前時間
    例如:
import time, datetime;
localtime = time.localtime(time.time())
#Local current time : time.struct_time(tm_year=2014, tm_mon=3, tm_mday=21, tm_hour=15, tm_min=13, tm_sec=56, tm_wday=4, tm_yday=80, tm_isdst=0)
print "Local current time :", localtime

說明:time.struct_time(tm_year=2014, tm_mon=3, tm_mday=21, tm_hour=15, tm_min=13, tm_sec=56, tm_wday=4, tm_yday=80, tm_isdst=0)屬于struct_time元組诗力,struct_time元組具有如下屬性:

  • 獲取格式化的時間
    可以根據(jù)需求選取各種格式,但是最簡單的獲取可讀的時間模式的函數(shù)是asctime():

  • 日期轉(zhuǎn)換為字符串

首選:print time.strftime('%Y-%m-%d %H:%M:%S');
其次:print datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')
最后:print str(datetime.datetime.now())[:19]
  • 字符串轉(zhuǎn)換為日期
expire_time = "2013-05-21 09:50:35"
d = datetime.datetime.strptime(expire_time,"%Y-%m-%d %H:%M:%S")
print d;
  • 獲取日期差
oneday = datetime.timedelta(days=1)
#今天我抠,2014-03-21
today = datetime.date.today()
#昨天苇本,2014-03-20
yesterday = datetime.date.today() - oneday
#明天,2014-03-22
tomorrow = datetime.date.today() + oneday
#獲取今天零點的時間菜拓,2014-03-21 00:00:00
today_zero_time = datetime.datetime.strftime(today, '%Y-%m-%d %H:%M:%S')
#0:00:00.001000 
print datetime.timedelta(milliseconds=1), #1毫秒
#0:00:01 
print datetime.timedelta(seconds=1), #1秒
#0:01:00 
print datetime.timedelta(minutes=1), #1分鐘
#1:00:00 
print datetime.timedelta(hours=1), #1小時
#1 day, 0:00:00 
print datetime.timedelta(days=1), #1天
#7 days, 0:00:00
print datetime.timedelta(weeks=1)
  • 獲取時間差
#1 day, 0:00:00
oneday = datetime.timedelta(days=1)
#今天瓣窄,2014-03-21 16:07:23.943000
today_time = datetime.datetime.now()
#昨天,2014-03-20 16:07:23.943000
yesterday_time = datetime.datetime.now() - oneday
#明天纳鼎,2014-03-22 16:07:23.943000
tomorrow_time = datetime.datetime.now() + oneday
注意時間是浮點數(shù)俺夕,帶毫秒。
那么要獲取當(dāng)前時間贱鄙,需要格式化一下:
print datetime.datetime.strftime(today_time, '%Y-%m-%d %H:%M:%S')
print datetime.datetime.strftime(yesterday_time, '%Y-%m-%d %H:%M:%S')
print datetime.datetime.strftime(tomorrow_time, '%Y-%m-%d %H:%M:%S')
  • 獲取上個月最后一天
last_month_last_day = datetime.date(datetime.date.today().year,datetime.date.today().month,1)-datetime.timedelta(1)
  • 字符串日期格式化為秒數(shù)劝贸,返回浮點類型:
expire_time = "2013-05-21 09:50:35"
d = datetime.datetime.strptime(expire_time,"%Y-%m-%d %H:%M:%S")
time_sec_float = time.mktime(d.timetuple())
print time_sec_float
  • 日期格式化為秒數(shù),返回浮點類型:
d = datetime.date.today()
time_sec_float = time.mktime(d.timetuple())
print time_sec_float
  • 秒數(shù)轉(zhuǎn)字符串
time_sec = time.time()
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time_sec))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末逗宁,一起剝皮案震驚了整個濱河市映九,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瞎颗,老刑警劉巖件甥,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捌议,死亡現(xiàn)場離奇詭異,居然都是意外死亡嚼蚀,警方通過查閱死者的電腦和手機禁灼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來轿曙,“玉大人弄捕,你說我怎么就攤上這事〉嫉郏” “怎么了守谓?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長您单。 經(jīng)常有香客問我斋荞,道長,這世上最難降的妖魔是什么虐秦? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任平酿,我火速辦了婚禮,結(jié)果婚禮上悦陋,老公的妹妹穿的比我還像新娘蜈彼。我一直安慰自己,他們只是感情好俺驶,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布幸逆。 她就那樣靜靜地躺著,像睡著了一般暮现。 火紅的嫁衣襯著肌膚如雪还绘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天栖袋,我揣著相機與錄音拍顷,去河邊找鬼。 笑死塘幅,一個胖子當(dāng)著我的面吹牛昔案,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播晌块,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼帅霜!你這毒婦竟也來了匆背?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤身冀,失蹤者是張志新(化名)和其女友劉穎钝尸,沒想到半個月后括享,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡珍促,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年铃辖,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片猪叙。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡娇斩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出穴翩,到底是詐尸還是另有隱情犬第,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布芒帕,位于F島的核電站歉嗓,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏背蟆。R本人自食惡果不足惜鉴分,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望带膀。 院中可真熱鬧志珍,春花似錦、人聲如沸本砰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽点额。三九已至舔株,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間还棱,已是汗流浹背载慈。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留珍手,地道東北人办铡。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像琳要,于是被迫代替她去往敵國和親寡具。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容