国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Python-Lernhandbuch / Python內(nèi)置類型及常見問題

Python內(nèi)置類型及常見問題

python的內(nèi)置數(shù)據(jù)類型非常豐富,大致可以分為五類:None、數(shù)字類型、序列類型、映射類型和集合類型。下面我將分別對他們進(jìn)行介紹,做個總結(jié)以備以后查看。下面的表列出了各個類別下的具體數(shù)據(jù)類型。*注:本文所講的內(nèi)容都是基于python2的,python3會有些不同*。

1.png

1.None

None表示一個null對象,這是一個空對象,如果一個函數(shù)沒有返回值,則返回null對象。None沒有任何屬性,在布爾表達(dá)式中表示False。

2.數(shù)字類型

除了布爾類型外,所有數(shù)字類型都是有符號的。整數(shù)的表示范圍在-2147483648和2147483647之間,長整數(shù)可以表示任意長度,只受可用內(nèi)存大小的限制。


#整數(shù)i = 123i = int(123)#長整數(shù)l = 123Ll = long(123)

浮點(diǎn)數(shù)是雙精度類型(64bit),和c語言中double相同,數(shù)值范圍-1.7*10(-308)到1.7*10(308)。

f = 12.3f = float(12.3)

復(fù)數(shù)使用一對浮點(diǎn)數(shù)表示,分為實部和虛部,使用real和imag訪問,虛部后綴j或J。

c = 1.0 + 2.3jc = complex(1.0, 2.3)print c.real,c.imag

布爾值只有True和False兩個值,分別映射為整數(shù)1和0。

b = Falseb = bool(True)


2.1.數(shù)字運(yùn)算

除了布爾類型外,int、long、float和complex都可以使用的運(yùn)算為:加、減、乘、除、整除、冪運(yùn)算和取余。下面分別舉例說明。


>>> 1 + 2 # 加法3>>> 1 - 2 # 減法-1>>> 2 * 3 # 乘6>>> 2 / 4 # 整數(shù)除0>>> 2 / 4.0 # 浮點(diǎn)除0.5>>> 3 // 2.0 # 整除1.0>>> 2 % 3 # 取余2>>> 3 ** 2 # 冪運(yùn)算 =3^29

對于整數(shù)還可以進(jìn)行位運(yùn)算,共有6種位運(yùn)算:取反(~)、左移(<<)、右移(>>)、異或(^)、按位或(|)、按位與(&)。

>>> ~1 # 1取反后為-2的補(bǔ)碼-2>>> 8 << 1 # 左移16>>> 8 >> 2 # 右移2>>> 1 ^ 3 # 01 和 11 異或得到10,就是22>>> 1 | 3 # 01 和 11 位或得到11,就是33>>> 1 & 3 # 01 和 11 位與得到01,就是11

布爾類型可以通過布爾表達(dá)式取值,布爾比較運(yùn)算符有6種:小于(<)、小于等于(<=)、大于(>)、大于等于(>=)、等于(==)、不等于(!=)。

>>> 1 < 2True>>> 1 <= 2True>>> 1 > 2False>>> 1 >= 2False>>> 1 == 2False>>> 1 != 2True

對于布爾類型還可以進(jìn)行邏輯運(yùn)算,有3種運(yùn)算:邏輯非(not)、邏輯非或(or)、邏輯與(and)。

>>> not TrueFalse>>> True or FalseTrue>>> True and FalseFalse


2.2.常用數(shù)字類型函數(shù)

abs():返回給定對象的絕對值。


>>> abs(-2)2

divmod():把除法和取余運(yùn)算結(jié)合起來,返回一個包含商和余數(shù)的元組。

>>> divmod(10, 3)(3, 1)

pow():兩個參數(shù),冪運(yùn)算。三個參數(shù),乘方后取余。

>>> pow(2, 5),pow(2, 5, 10)(32, 2)

round():四舍五入

>>> round(3.4),round(3.6)(3.0, 4.0)

floor():向下取整, ceil():向上取整, sqrt():開方, 需要math模塊。

>>> from math import floor,ceil,sqrt>>> floor(3.6),ceil(3.6),sqrt(9)(3.0, 4.0, 3.0)

conjugate():復(fù)數(shù)取共軛

>>> c = 2 + 3j>>> c.conjugate()(2-3j)


3.序列類型

序列表示索引為非負(fù)數(shù)的有序?qū)ο蠹?,包括字符串、列表和元組。字符串是字符的序列,列表和元組是任意對象的序列。字符串和元組是不可變的,而列表可以插入、刪除和替換。所有序列支持迭代。

3.1.字符串

創(chuàng)建一個字符串很簡單,但表示字符串的方法有很多。


s = 'string's = "string" # 和上面單引號一樣s = '''string''' # 三引號之間的內(nèi)容都被保留,用于多行輸入s = r"string" # 原生字符,關(guān)掉字符串中的轉(zhuǎn)義。s = u"string" # unicode字符串

字符串的方法很多,但不會改變字符串里的內(nèi)容,常用的如下表所示。

2.png

舉個format的例子,{0}表示*args的第一個值,{name}表示kwargs中name的值。
>>> "Here is {0},I'm {name}.".format("wuyuans.com", name="wuyuan")"Here is wuyuans.com,I'm wuyuan"


3.2.列表和元組

列表的內(nèi)容可變,可以包含任意對象,使用中括號表示。
元組的內(nèi)容不可變,可以包含任意對象,使用圓括號表示。


l = [1, 2, 3, '4', '5'] # 列表l = list((1, 2, 3, '4', '5'))t = (1, 2, 3, '4', '5') # 元組t = tuple("1234")

列表的方法主要用于改變里面的內(nèi)容,下面列出列表常用的方法。

3.png

也可以通過索引來刪除列表中的元素。
>>> l = [1, 2, 3, 4, 5]>>> del l[1]>>> l[1, 3, 4, 5]


3.3.序列通用操作

所有序列都可以通過索引來訪問,第一個元素的索引為0,-1為最后一個元素,-2倒數(shù)第二個,一次類推。
切片操作:指定索引范圍,返回相應(yīng)的子序列。
還有一些常用的,如下所示


>>> t = (1, 2, 3, 4, 5)>>> l = [1, 2, 3, 4, 5]>>> t[0]1>>> t[1:4] # 索引1~4(2, 3, 4)>>> t[1:4:2] # 索引1~4,步進(jìn)為2(2, 4)>>> len(t) # 序列長度5>>> max(t) # 最大值5>>> min(t) # 最小值1>>> sum(t) # 序列求和15


3.4.xrange()對象

xrange()對象比較特殊,他表示一個整數(shù)范圍,只有訪問它時才會計算他的值,所以切片操作是不能用于xrange對象的。xrange對象由xrange([i, ] j [, stride])函數(shù)創(chuàng)建,i為起始值,stride為步進(jìn)值。


>>> x = xrange(1,10,2)>>> for i in x: print i    13579


4.映射類型

字典(dict)是python為唯一的內(nèi)置映射類型,任何不可變對象都可以用作字典的鍵值,如字符串、數(shù)字、元組等。字典使用大括號表示,鍵和值之間用冒號分割,各個鍵值間用逗號隔開。映射對象是無序的。


d = dict((['name', 'wuyuan'], ['age', 23]))d = {'name': 'wuyuan', 'blog': 'wuyuans.com', 'age': 23}d['school'] = 'HDU' # 添加一項

字典的常用方法和操作

4.png字典的歷遍方式:
#使用鍵歷遍for i in d:    print i,d[i]#使用鍵值歷遍for k,v in d.items():    print k,v


5.集合類型

集合是唯一項的無序集,集合不提供索引或切片操作,集合的長度可變,但放入里面的必須是不可變的。集合分為兩種:可變集合(set)和不可變集合(frozenset)。


s = set([1, 2, 3])fs = frozenset([1, 2, 3])

集合通用方法和操作

5.png

可變集合set的方法和操作

6.png


python內(nèi)置類型常見問題


python基本內(nèi)置數(shù)據(jù)類型有哪些?

一些基本數(shù)據(jù)類型,比如:整型(數(shù)字)、字符串、元組、列表、字典和布爾類型。隨著學(xué)習(xí)進(jìn)度的加深,大家還會接觸到更多更有趣的數(shù)據(jù)類型,python初學(xué)者入門時先了解這幾種類型就可以了。


基本內(nèi)置數(shù)據(jù)類型對應(yīng)符號?

1)整型——int——數(shù)字

python有5種數(shù)字類型,最常見的就是整型int。例如:1234、-1234

2)布爾型——bool——用符號==表示

布爾型是一種比較特殊的python數(shù)字類型,它只有True和False兩種值,它主要用來比較和判斷,所得結(jié)果叫做布爾值。例如:3==3 給出True,3==5給出False

3)字符串——str——用' '或" "表示

例如:'www.phpcnpython.com'或者"hello"

4)列表——list——用[ ]符號表示

例如:[1,2,3,4]

5)元組——tuple——用( )符號表示

例如:('d',300)

6)字典——dict——用{ }符號表示

例如:{'name':'coco','country':'china'}


Python基本數(shù)據(jù)類型中哪些可變,哪些是不可變?

python可變數(shù)據(jù)類型:列表list[ ]、字典dict{ }

python不可變數(shù)據(jù)類型:整型int、字符串str' '、元組tuple()