python標(biāo)準(zhǔn)數(shù)據(jù)類型

一、標(biāo)準(zhǔn)數(shù)據(jù)類型

  • Numbers(數(shù)字)
  • String(字符串)
  • List(列表)
  • Tuple(元組)
  • Dictionary(字典)

Python數(shù)字

數(shù)字?jǐn)?shù)據(jù)類型用于存儲(chǔ)數(shù)值驱犹。
他們是不可改變的數(shù)據(jù)類型伞剑,這意味著改變數(shù)字?jǐn)?shù)據(jù)類型會(huì)分配一個(gè)新的對(duì)象睬棚。
當(dāng)你指定一個(gè)值時(shí)表制,Number對(duì)象就會(huì)被創(chuàng)建:

var1 = 1

可以通過使用del語句刪除單個(gè)或多個(gè)對(duì)象的引用崎场。例如:

del var
del var1, var2

Python支持四種不同的數(shù)字類型:

  • int(有符號(hào)整型)
  • long(長整型[也可以代表八進(jìn)制和十六進(jìn)制])
  • float(浮點(diǎn)型)
  • complex(復(fù)數(shù))

一些數(shù)值類型的實(shí)例:

int long float complex
10 51924361L 0.0 3.14j
-786 0122L -21.9 9.322e-36j

Python還支持復(fù)數(shù)见秤,復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成砂竖,可以用a + bj,或者complex(a,b)表示, 復(fù)數(shù)的實(shí)部a和虛部b都是浮點(diǎn)型

常用的數(shù)學(xué)函數(shù)

函數(shù) 返回值(描述)
abs(x) 返回?cái)?shù)字的絕對(duì)值鹃答,如abs(-10) 返回 10
ceil(x) 返回?cái)?shù)字的上入整數(shù)乎澄,如math.ceil(4.1) 返回 5
cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
floor(x) 返回?cái)?shù)字的下舍整數(shù),如math.floor(4.9)返回 4
max(x1, x2,...) 返回給定參數(shù)的最大值测摔,參數(shù)可以為序列三圆。
min(x1, x2,...) 返回給定參數(shù)的最小值,參數(shù)可以為序列避咆。
pow(x, y) x**y 運(yùn)算后的值舟肉。
round(x [,n]) 返回浮點(diǎn)數(shù)x的四舍五入值,如給出n值查库,則代表舍入到小數(shù)點(diǎn)后的位數(shù)路媚。
sqrt(x) 返回?cái)?shù)字x的平方根,數(shù)字可以為負(fù)數(shù)樊销,返回類型為實(shí)數(shù)整慎,如math.sqrt(4)返回 2+0j

Python字符串

字符串或串(String)是由數(shù)字、字母围苫、下劃線組成的一串字符裤园。

python的字串列表有2種取值順序:

  • 從左到右索引默認(rèn)0開始的,最大范圍是字符串長度少1
  • 從右到左索引默認(rèn)-1開始的剂府,最大范圍是字符串開頭

實(shí)例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
str = 'Hello World!'
 
print str           # 輸出完整字符串
print str[0]        # 輸出字符串中的第一個(gè)字符
print str[2:5]      # 輸出字符串中第三個(gè)至第五個(gè)之間的字符串
print str[2:]       # 輸出從第三個(gè)字符開始的字符串
print str * 2       # 輸出字符串兩次
print str + "TEST"  # 輸出連接的字符串

注: 加號(hào)(+)是字符串連接運(yùn)算符拧揽,星號(hào)(*)是重復(fù)操作。

print 1,
print 2

輸出結(jié)果為:
1 2

加了逗號(hào)之后 換行就變成了空格

python三引號(hào)

python三引號(hào)允許一個(gè)字符串跨多行腺占,字符串中可以包含換行符淤袜、制表符以及其他特殊字符。
三引號(hào)的語法是一對(duì)連續(xù)的單引號(hào)或者雙引號(hào)(通常都是成對(duì)的用)

 >>> hi = '''hi 
there'''
>>> hi   # repr()
'hi\nthere'
>>> print hi  # str()
hi 
there  

常見的字符串運(yùn)算符:
下表實(shí)例變量 a 值為字符串 "Hello"衰伯,b 變量值為 "Python":

操作符 描述 實(shí)例
+ 字符串連接 >>>a + b 'HelloPython'
* 重復(fù)輸出字符串 >>>a * 2 'HelloHello'
[] 通過索引獲取字符串中字符 >>>a[1] 'e'
[ : ] 截取字符串中的一部分 >>>a[1:4] 'ell'
in 成員運(yùn)算符 - 如果字符串中包含給定的字符返回 True >>>"H" in a True
not in 成員運(yùn)算符 - 如果字符串中不包含給定的字符返回 True >>>"M" not in a True

Python列表

List(列表) 是 Python 中使用最頻繁的數(shù)據(jù)類型铡羡。
列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。它支持字符意鲸,數(shù)字烦周,字符串甚至可以包含列表(所謂嵌套)尽爆。
列表用[ ]標(biāo)識(shí)。是python最通用的復(fù)合數(shù)據(jù)類型读慎。

實(shí)例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
 
print list                           # 輸出完整列表
print list[0]                        # 輸出列表的第一個(gè)元素
print list[1:3]                      # 輸出第二個(gè)至第三個(gè)的元素 
print list[2:]                       # 輸出從第三個(gè)開始至列表末尾的所有元素
print tinylist * 2                   # 輸出列表兩次
print list + tinylist                # 打印組合的列表
list[-2] = 'john'                    # 讀取列表中倒數(shù)第二個(gè)元素
list[1:] = [785, 2,23, 'john', 70.2] # 從第二個(gè)元素開始截取列表

Python列表腳本操作符

pyhton表達(dá)式 結(jié)果 描述
len([1, 2, 3]) 3 長度
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 組合
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重復(fù)
3 in [1, 2, 3] True 元素是否存在于列表中
for x in [1, 2, 3]: print x, 1 2 3 迭代

python包含以下函數(shù):

函數(shù) 描述
cmp(list1, list2) 比較兩個(gè)列表的元素
len(list) 列表元素個(gè)數(shù)
min(list) 返回列表元素最小值
max(list) 返回列表元素最大值
list(seq) 將元組轉(zhuǎn)換為列表

列表有以下方法:

方法 描述
list.append(obj) 在列表末尾添加新的對(duì)象
list.count(obj) 統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)
list.extend(seq) 在列表末尾一次性追加另一個(gè)序列中的多個(gè)值(用新列表擴(kuò)展原來的列表)
list.index(obj) 從列表中找出某個(gè)值第一個(gè)匹配項(xiàng)的索引位置
list.insert(index, obj) 將對(duì)象插入列表
list.pop(obj=list[-1]) 移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素)教翩,并且返回該元素的值
list.remove(obj) 移除列表中某個(gè)值的第一個(gè)匹配項(xiàng)
list.reverse() 反向列表中元素
list.sort([func]) 對(duì)原列表進(jìn)行排序

python元組

元組是另一個(gè)數(shù)據(jù)類型脚囊,類似于List(列表)括儒。
元組用"()"標(biāo)識(shí)决侈。內(nèi)部元素用逗號(hào)隔開山涡。但是元組不能二次賦值幔睬,相當(dāng)于只讀列表角溃。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
 
print tuple               # 輸出完整元組
print tuple[0]            # 輸出元組的第一個(gè)元素
print tuple[1:3]          # 輸出第二個(gè)至第三個(gè)的元素 
print tuple[2:]           # 輸出從第三個(gè)開始至列表末尾的所有元素
print tinytuple * 2       # 輸出元組兩次
print tuple + tinytuple   # 打印組合的元組

以下是元組無效的睬愤,因?yàn)樵M是不允許更新的淆九。而列表是允許更新的:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tuple[2] = 1000    # 元組中是非法應(yīng)用
list[2] = 1000     # 列表中是合法應(yīng)用    

創(chuàng)建元組:

tup1 = ()          # 創(chuàng)建空元組
tup2 = (50,)       # 元組中只包含一個(gè)元素時(shí)蚂且,需要在元素后面添加逗號(hào)  

修改元組
元組中的元素值是不允許修改的配猫,但我們可以對(duì)元組進(jìn)行連接組合,如下實(shí)例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');

# 以下修改元組元素操作是非法的杏死。
# tup1[0] = 100;

# 創(chuàng)建一個(gè)新的元組
tup3 = tup1 + tup2;
print tup3;

python字典

字典(dictionary)是除列表以外python之中最靈活的內(nèi)置數(shù)據(jù)結(jié)構(gòu)類型泵肄。列表是有序的對(duì)象結(jié)合,字典是無序的對(duì)象集合淑翼。
兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過鍵來存取的腐巢,而不是通過偏移存取。
字典用"{ }"標(biāo)識(shí)玄括。字典由索引(key)和它對(duì)應(yīng)的值value組成冯丙。

實(shí)例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
 
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
 
 
print dict['one']          # 輸出鍵為'one' 的值
print dict[2]              # 輸出鍵為 2 的值
print tinydict             # 輸出完整的字典
print tinydict.keys()      # 輸出所有鍵
print tinydict.values()    # 輸出所有值

Python字典包含了以下內(nèi)置方法:

函數(shù) 描述
dict.clear() 刪除字典內(nèi)所有元素
dict.copy() 返回一個(gè)字典的淺復(fù)制
dict.fromkeys(seq[, val])) 創(chuàng)建一個(gè)新字典,以序列 seq 中元素做字典的鍵遭京,val 為字典所有鍵對(duì)應(yīng)的初始值
dict.get(key, default=None) 返回指定鍵的值胃惜,如果值不在字典中返回default
dict.has_key(key) 如果鍵在字典dict里返回true,否則返回false
dict.items() 以列表返回可遍歷的(鍵, 值) 元組數(shù)組
dict.keys() 以列表返回一個(gè)字典所有的鍵
dict.setdefault(key, default=None) 和get()類似, 但如果鍵不存在于字典中哪雕,將會(huì)添加鍵并將值設(shè)為default
dict.update(dict2) 把字典dict2的鍵/值對(duì)更新到dict里
dict.values() 以列表返回字典中的所有值

二船殉、循環(huán)語句

Python提供了for循環(huán)和while循環(huán)(在Python中沒有do..while循環(huán)):

while語法跟java相似({}改為:,再注意一下語句的縮進(jìn)即可)斯嚎,所以不做過多的介紹利虫。

循環(huán)使用 else 語句

在 python 中,while … else 在循環(huán)條件為 false 時(shí)執(zhí)行 else 語句塊:

#!/usr/bin/python

count = 0
while count < 5:
   print count, " is  less than 5"
   count = count + 1
else:
   print count, " is not less than 5"

for循環(huán)語句

for循環(huán)的語法格式如下:

for iterating_var in sequence:
   statements(s)

通過序列索引迭代:

for num in range(10,20):  # 迭代 10 到 20 之間的數(shù)字
    print num
for num in range(10):   # 迭代 0 到 10 之間的數(shù)字
    print num

range()函數(shù)實(shí)例:

range(1,5)            # 代表從1到5(不包含5)
[1, 2, 3, 4]
>>> range(1,5,2)      # 代表從1到5孝扛,間隔2(不包含5)
[1, 3]
>>> range(5)          # 代表從0到5(不包含5)
[0, 1, 2, 3, 4]

pass語句

Python pass是空語句列吼,是為了保持程序結(jié)構(gòu)的完整性幽崩。
pass 不做任何事情苦始,一般用做占位語句。
當(dāng)你在編寫一個(gè)程序時(shí)慌申,執(zhí)行語句部分思路還沒有完成陌选,這時(shí)你可以用pass語句來占位理郑,也可以當(dāng)做是一個(gè)標(biāo)記,是要過后來完成的代碼

三咨油、函數(shù)

定義一個(gè)函數(shù)您炉,需要滿足以下規(guī)則:

  • 函數(shù)代碼塊以 def 關(guān)鍵詞開頭,后接函數(shù)標(biāo)識(shí)符名稱和圓括號(hào)()役电。
  • 任何傳入?yún)?shù)和自變量必須放在圓括號(hào)中間赚爵。圓括號(hào)之間可以用于定義參數(shù)。
  • 函數(shù)的第一行語句可以選擇性地使用文檔字符串—用于存放函數(shù)說明法瑟。
  • 函數(shù)內(nèi)容以冒號(hào)起始冀膝,并且縮進(jìn)。
  • return [表達(dá)式] 結(jié)束函數(shù)霎挟,選擇性地返回一個(gè)值給調(diào)用方窝剖。不帶表達(dá)式的return相當(dāng)于返回 None。

實(shí)例:

def printme( str ):
   "打印傳入的字符串到標(biāo)準(zhǔn)顯示設(shè)備上"
   print str
   return

可更改(mutable)與不可更改(immutable)對(duì)象

在 python 中酥夭,strings, tuples, 和 numbers 是不可更改的對(duì)象赐纱,而 list,dict 等則是可以修改的對(duì)象。

python 函數(shù)的參數(shù)傳遞:

  • 不可變類型:類似 c 的值傳遞熬北,如 整數(shù)疙描、字符串、元組讶隐。如fun(a)淫痰,傳遞的只是a的值,沒有影響a對(duì)象本身整份。比如在 fun(a)內(nèi)部修改 a 的值待错,只是修改另一個(gè)復(fù)制的對(duì)象,不會(huì)影響 a 本身烈评。

  • 可變類型:類似 c 的引用傳遞火俄,如 列表,字典讲冠。如 fun(la)瓜客,則是將 la 真正的傳過去,修改后fun外部的la也會(huì)受影響

匿名函數(shù)

python 使用 lambda 來創(chuàng)建匿名函數(shù)竿开。

  • lambda只是一個(gè)表達(dá)式谱仪,函數(shù)體比def簡單很多。
  • lambda的主體是一個(gè)表達(dá)式否彩,而不是一個(gè)代碼塊疯攒。僅僅能在lambda表達(dá)式中封裝有限的邏輯進(jìn)去。
  • lambda函數(shù)擁有自己的命名空間列荔,且不能訪問自有參數(shù)列表之外或全局命名空間里的參數(shù)敬尺。
  • 雖然lambda函數(shù)看起來只能寫一行枚尼,卻不等同于C或C++的內(nèi)聯(lián)函數(shù),后者的目的是調(diào)用小函數(shù)時(shí)不占用棧內(nèi)存從而增加運(yùn)行效率砂吞。

如下實(shí)例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 可寫函數(shù)說明
sum = lambda arg1, arg2: arg1 + arg2;
 
# 調(diào)用sum函數(shù)
print "相加后的值為 : ", sum( 10, 20 )
print "相加后的值為 : ", sum( 20, 20 )

以上實(shí)例輸出結(jié)果:

相加后的值為 :  30
相加后的值為 :  40

參考

菜鳥教程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末署恍,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蜻直,更是在濱河造成了極大的恐慌盯质,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件概而,死亡現(xiàn)場離奇詭異唤殴,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)到腥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門朵逝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人乡范,你說我怎么就攤上這事配名。” “怎么了晋辆?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵渠脉,是天一觀的道長。 經(jīng)常有香客問我瓶佳,道長芋膘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任霸饲,我火速辦了婚禮为朋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘厚脉。我一直安慰自己习寸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布傻工。 她就那樣靜靜地躺著霞溪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪中捆。 梳的紋絲不亂的頭發(fā)上鸯匹,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音泄伪,去河邊找鬼殴蓬。 笑死,一個(gè)胖子當(dāng)著我的面吹牛臂容,可吹牛的內(nèi)容都是我干的科雳。 我是一名探鬼主播根蟹,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼脓杉,長吁一口氣:“原來是場噩夢啊……” “哼糟秘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起球散,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤尿赚,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蕉堰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凌净,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年屋讶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了冰寻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡皿渗,死狀恐怖斩芭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情乐疆,我是刑警寧澤划乖,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站挤土,受9級(jí)特大地震影響琴庵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜仰美,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一迷殿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧咖杂,春花似錦贪庙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至奏窑,卻和暖如春导披,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背埃唯。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來泰國打工撩匕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人墨叛。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓止毕,卻偏偏與公主長得像模蜡,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子扁凛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

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