当前位置:首页 >> 脚本专栏

Python入门及进阶笔记 Python 内置函数小结

内置函数
常用函数

1.数学相关
"codetitle">复制代码 代码如下:
>print abs(-100)
100
>print abs(1+2j)
2.2360679775

"codetitle">复制代码 代码如下:
> divmod(10,3)
(3, 1)
> divmod(9,3) (3, 0)

"codetitle">复制代码 代码如下:
> print pow(2,4)
16
> print pow(2,4,2)
0
> print pow(2.4,3)
13.824

"codetitle">复制代码 代码如下:
> round(3.333)
3.0
> round(3)
3.0
> round(5.9)
6.0

"codetitle">复制代码 代码如下:
> min(1,2,3,4)
1
> min((1,2,3),(2,3,4))
(1, 2, 3)

"codetitle">复制代码 代码如下:
> max(1,2,3,4)
4
> max((1,2,3),(2,3,4))
(2, 3, 4)

2.序列相关

"codetitle">复制代码 代码如下:
> len("aa")
2
> len([1,2])
2

"codetitle">复制代码 代码如下:
> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
> range(1,10)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
> range(1,10,2)
[1, 3, 5, 7, 9]

"codetitle">复制代码 代码如下:
> a=xrange(10)
> print a[0]
0
> print a[1]
1
> print a[2]
2

3.对象及类型
"codetitle">复制代码 代码如下:
> a="123"
> print callable(a)
False
> print callable(chr)
True

"codetitle">复制代码 代码如下:
>a=1
>b=2
>c=2
> print cmp(a,b)
-1
> print cmp(b,a)
1
> print cmp(b,c)
0

"codetitle">复制代码 代码如下:
> a='isinstance test'
> b=1234
> isinstance(a,str)
True
>isinstance(a,int)
False
> isinstance(b,str)
False
> isinstance(b,int) True

"codetitle">复制代码 代码如下:
> type(a)
<type 'list'>
> type(copy)
<type 'module'>
> type(1)
<type 'int'>

内置类型转换函数

1.字符及字符串
"codetitle">复制代码 代码如下:
> print chr(65)
A
> print chr(66)
B
> print chr(65)+chr(66)
AB

"codetitle">复制代码 代码如下:
> ord("a")
97
> ord(u"a")
97

"codetitle">复制代码 代码如下:
> str("4")
'4'
> str(4)
'4'
> str(3+2j)
'(3+2j)'

2.进制转换
"codetitle">复制代码 代码如下:
> int(3.3)
3
> int(3L)
3
> int("13")
13
> int("14",15)
19

"codetitle">复制代码 代码如下:
> long("123")
123L
> long(11)
11L

"codetitle">复制代码 代码如下:
> float("12")
12.0
> float(12L)
12.0
> float(12.2)
12.199999999999999

"codetitle">复制代码 代码如下:
> hex(16)
'0x10'
> hex(123)
'0x7b'

"codetitle">复制代码 代码如下:
> oct(8)
'010'
> oct(123)
'0173'

"codetitle">复制代码 代码如下:
> complex("2+1j")
(2+1j)
> complex("2")
(2+0j)
> complex(2,1)
(2+1j)
> complex(2L,1)
(2+1j)

3.数据结构
"codetitle">复制代码 代码如下:
> tuple("hello world")
('h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd')
> tuple([1,2,3,4])
(1, 2, 3, 4)

"codetitle">复制代码 代码如下:
> list("hello world")
['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
> list((1,2,3,4))
[1, 2, 3, 4]

序列处理函数
常用函数中的len()、max()和min()同样可用于序列。

"codetitle">复制代码 代码如下:
> def nobad(s):
    ... return s.find("bad") == -1
    ...
> s = ["bad","good","bade","we"]
> filter(nobad,s)
['good', 'we']

"codetitle">复制代码 代码如下:
> 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()函数获得序列中前两个项,并把它传递给提供的函数,获得结果后再取序列中的下一项,连同结果再传递给函数,以此类推,直到处理完所有项为止。

[code]
> 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
[code]

wklken
Email: wklken@yeah.net