內建型別轉換函式

2021-04-21 12:18:38 字數 4873 閱讀 7504

·

chr(i)

chr()

函式返回ascii碼對應的字串。

>>> print chr(65)

a

>>> print chr(66)

b

>>> print chr(65)+chr(66)

ab

·

complex(real[,imaginary])

complex()

函式可把字串或數字轉換為複數。

>>> complex("2+1j")

(2+1j)

>>> complex("2")

(2+0j)

>>> complex(2,1)

(2+1j)

>>> complex(2l,1)

(2+1j)

·

float(x)

float()

函式把乙個數字或字串轉換成浮點數。

>>> float("12")

12.0

>>> float(12l)

12.0

>>> float(12.2)

12.199999999999999

·

hex(x)

hex()

函式可把整數轉換成十六進製制數。

>>> hex(16)

'0x10'

>>> hex(123)

'0x7b'

·

long(x[,base])

long()

函式把數字和字串轉換成長整數,base為可選的基數。

>>> long("123")

123l

>>> long(11)

11l

·

list(x)

list()

函式可將序列物件轉換成列表。如:

>>> list("hello world")

['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']

>>> list((1,2,3,4))

[1, 2, 3, 4]

·

int(x[,base])

int()

函式把數字和字串轉換成乙個整數,base為可選的基數。

>>> int(3.3)

3

>>> int(3l)

3

>>> int("13")

13

>>> int("14",15)

19

·

min(x[,y,z...])

min()

函式返回給定引數的最小值,引數可以為序列。

>>> min(1,2,3,4)

1

>>> min((1,2,3),(2,3,4))

(1, 2, 3)

·

max(x[,y,z...])

max()

函式返回給定引數的最大值,引數可以為序列。

>>> max(1,2,3,4)

4

>>> max((1,2,3),(2,3,4))

(2, 3, 4)

·

oct(x)

oct()

函式可把給出的整數轉換成八進位制數。

>>> oct(8)

'010'

>>> oct(123)

'0173'

·

ord(x)

ord()

函式返回乙個字串引數的ascii碼或unicode值。

>>> ord("a")

97

>>> ord(u"a")

97

·

str(obj)

str()

函式把物件轉換成可列印字串。

>>> str("4")

'4'

>>> str(4)

'4'

>>> str(3+2j)

'(3+2j)'

·

tuple(x)

tuple()

函式把序列物件轉換成tuple。

>>> tuple("hello world")

('h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd')

>>> tuple([1,2,3,4])

(1, 2, 3, 4)

·

常用函式中的len()、max()和min()同樣可用於序列。

·filter(function,list)

呼叫filter()時,它會把乙個函式應用於序列中的每個項,並返回該函式返回真值時的所有項,從而過濾掉返回假值的所有項。

>>> def nobad(s):

...return s.find("bad") == -1

... 

>>> s = ["bad","good","bade","we"]

>>> filter(nobad,s)

['good', 'we']

這個例子通過把nobad()函式應用於s序列中所有項,過濾掉所有包含「bad」的項。

·map(function,list[,list])

map()

函式把乙個函式應用於序列中所有項,並返回乙個列表。

>>> import string

>>> s=["python","zope","linux"]

>>> map(string.capitalize,s)

['python', 'zope', 'linux']

map()

還可同時應用於多個列表。如:

>>> import operator

>>> s=[1,2,3]; t=[3,2,1]

>>> map(operator.mul,s,t)# s[i]*t[j]

[3, 4, 3]

如果傳遞乙個none值,而不是乙個函式,則map()會把每個序列中的相應元素合併起來,並返回該元組。如:

>>> a=[1,2];b=[3,4];c=[5,6]

>>> map(none,a,b,c)

[(1, 3, 5), (2, 4, 6)]

·

reduce(function,seq[,init])

reduce()

函式獲得序列中前兩個項,並把它傳遞給提供的函式,獲得結果後再取序列中的下一項,連同結果再傳遞給函式,以此類推,直到處理完所有項為止。

>>> import operator

>>> reduce(operator.mul,[2,3,4,5])# ((2*3)*4)*5

120

>>> reduce(operator.mul,[2,3,4,5],1) # (((1*2)*3)*4)*5

120

>>> reduce(operator.mul,[2,3,4,5],2)# (((2*2)*3)*4)*5

240

·

zip(seq[,seq,...])

zip()

函式可把兩個或多個序列中的相應項合併在一起,並以元組的格式返回它們,在處理完最短序列中的所有項後就停止。

>>> zip([1,2,3],[4,5],[7,8,9])

[(1, 4, 7), (2, 5, 8)]

如果引數是乙個序列,則zip()會以一元組的格式返回每個項,如:

>>> zip((1,2,3,4,5))

[(1,), (2,), (3,), (4,), (5,)]

>>> zip([1,2,3,4,5])

[(1,), (2,), (3,), (4,), (5,)]

C 內建型別轉換

toboolean 轉換為布林型。bool tobyte 轉換為位元組型別。byte tochar 如果可能的話,把型別轉換為單個 unicode 字元型別。char todatetime 把型別 整數或字串型別 轉換為 日期 時間 結構。datatime todecimal 把浮點型或整數型別轉換...

C 內建型別強制轉換

c primer寫到有六種型別轉換 1 非布林型值 布林 如果初始值為0則為false,否則為true 2 浮點數 整數 結果值僅儲存浮點數中小數點之前的部分 3 整數 浮點數 小數部分為0,如果整數占用空間超過浮點數容量,精度有損失 4 超出範圍的值 無符號型別 對無符號型別取模後的餘數 5 布林...

C C 內建型別轉換注意點

當無符號整數強制轉,則高位位元組被丟棄 unsigned short a 0xabcd 0x0022fa80 cd ab cc cc unsigned char b unsigned char a 0x0022fa77 cd cc cc cc b 0xcd 高位位元組0xab 被丟棄 當窄型別向寬型...