435421 发表于 2016-4-25 09:44:21

python内置函数


[*]abs() # 取绝对值

[*]all()#参数为序列,参数为list就判断所有元素,参数为dict就判断所有key,都为真则为真。

[*]any() #判断参数中一个为真,则为真。

[*]ascii()#同各数据类型方法中的__repr__(),返回一个可打印的对象字符串方式表示。当遇到非ASCII码时,就会输出\x,\u或\U等字符来表示      


1
2
print(ascii(10), ascii(9000000), ascii('b\31'), ascii('0x\1000'))
结果:10   9000000   'b\x19'   '0x@0'





[*]bin()#转换为二进制

[*]bool()#判断参数真或假

[*]bytearray() #把参数转换为指定编码的字节码,返回字节数组。

[*]byte() #把参数转换为指定编码的字节码,返回字符串。

[*]callable() #判断是否可以执行,是否是一个方法

[*]chr() #将数字转换成ascii码的字符。ord()函数可以转换回来。

[*]classmethod()#

[*]compile()#编译,web框架中把字符串 编译成python代码。

[*]complex() #复数定义

[*]delattr() ,getattr(), hasattr() ,setattr() #反射

[*]dict() # 字典定义

[*]dir() # 不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。vars() # 则返回当前范围内可用变量和变量的值。

[*]divmod() #取商/余数

[*]enumerate() #在循环输出的字符前添加整数序号,可指定从几开始。



1
2
3
4
5
6
7
>>>li=['lu','c','ya']
>>>for i in enumerate(li,1):   
    print(i)
结果:   
(1,'lu')
(2,'c')
(3,'ya')






[*]eval()#动态地执行一个表达式的字符串


1
2
3
4
>>>x = 1
>>> print eval('x+1')

2






[*]exec() #用来执行储存在字符串或文件中的Python语句execfile()可以执行一个文件中的python代码


1
2
3

>>>exec 'print "Hello World"'
Hello World






[*]fileter() #filter(function   or None, sequence) -> list, tuple, or string


[*]对sequence中的item依次执行function(item),将结果为true的item组成一个list\tuple\string取决sequence的类型,把结果为false的过滤出去。


1
2
3
4
5
>>> filter(lambda x : x%2,range(10))      
#lambda 函数返回奇数,返回列表

>>> filter(lambda x : x!='z','zhoujy')   #labmda返回True值
'houjy'






[*]reduce()#reduce(function,   sequence[, initial]) -> value


[*]对sequence中的item顺序迭代调用function,函数必须要有2个参数。要是有第3个参数,则表示初始值,可以继续调用初始值,返回一个值。



1
2
3
4
5
6
7
8
9
10
11
12
13
>>> reduce(lambda
x,y:x*y,range(1,3),5)         #lambda 函数,5是初始值, 1*2*5
10
>>>
reduce(lambda x,y:x*y,range(1,6))             #阶乘,1*2*3*4*5
120
>>>
reduce(lambda x,y:x*y,range(1,6),3)         #初始值3,结果再*3
360
>>> reduce(lambda
x,y:x+y,)         
#1+2+3+4+5+6
21






[*]map()#map(function,   sequence[, sequence, ...]) -> list


[*]对sequence中的item依次执行function(item),执行结果输出为list。


1
2
3
4
5
6
7
8
9
10
11
12
13
>>>
   def add(n):return n+n

          ...

          >>> map(add, range(5))         #对range(5)各项进行add操作

         
>>> map(add,'zhoujy')            
['zz', 'hh', 'oo', 'uu', 'jj', 'yy']
>>>
map(add,'zhoujy','Python','testop')
['zPt', 'hye', 'ots', 'uht', 'joo', 'ynp']






[*]float() #转换浮点数

[*]format() #字符串格式化


1
2
3
4
5
6
7
8
9
10
11
12
>>>
   s='{name} is {actor}'
>>> print
(s.format(name='cyalu',actor='nanshen'))
cyalu is nanshen
>>>dic={'name':'cyalu','actor':'nanshen'}
>>>s.format(**dic)
cyalu is nanshen
>>>list=['cyalu','nanshen']
>>>s='{0} is {1}'
>>>s.format(*list)
cyalu is nanshen






[*]frozenset() #冻结集合,不可变。没有add,remove方法。好处可以用作字典的key。

[*]globals() #当前所有的全局变量

[*]hash() #返回对象的哈希值。返回的哈希值是使用一个整数表示,通常使用在字典里,以便实现快速查询键值。参数object输入是数字类型时,是根据数值来计算的,比如1和1.0计算出来是一样的哈希值,因此说这个函数是不区分不同的数值类型。


1
2
3
4
5
6
print(hash('abc'))
700737775
print(hash(2.0))
2
print(hash(2))
2






[*]help() # 帮助查看可用方法

[*]hex() # 转成16进制 (0x)开头即为16进制数

[*]id() # 查看对象在内存地址

[*]input() #获取交互输入

[*]int() #转换成整型

[*]isinstance() #判断对象类型


[*]isinstance 和      type的区别在于:对于subclass之类的 type就不行了,所以,强烈建议不要使用type判断对象类型。


1
2
3
4
5
6
7
8
9
10
11
12
class
   A:
         pass
class B(A):
          pass
isinstance(A(), A)# returns True
type(A()) ==
A      # returns True
isinstance(B(), A)    #
returns True
type(B()) ==
A      # returns False






[*]issubclass() #本函数用来判断类参数class是否是类型参数classinfo的子类。


1
2
3
4
5
6
7
8
9
10
11
12
class Line:
    pass
class RedLine(Line):
    pass

class Rect:
    pass

print(issubclass(RedLine, Line))
True
print(issubclass(Rect, Line))
False






[*]iter() #


1
2
3
4
5
6
7
8
s = '软件是北京的未来'   #s是一个iterable对象,它有__getitem__()方法

it = iter(s)             #it是一个iterator对象,它有 __next__()和__iter__()方法

print(s)
print(it.__next__())软
print(it.__next__())件
print(it.__next__())是






[*]len() #取长度

[*]list() # 列表

[*]locals() #查看所有局部变量

[*]max() # 取最大值

[*]min() # 取小值

[*]memoryview() #本函数是返回对象obj的内存查看对象。所谓内存查看对象,就是对象符合缓冲区协议的对象,为了给别的代码使用缓冲区里的数据,而不必拷贝,就可以直接使用。

[*]next() # 下一项

[*]oct() # 转成8进制(0o)开头为8进制


[*]open() #操作文件


1
2
3
4
with open("user",a)as f:
f.seek()#指定当前指针位置
f.tell()#查看当前指针位置
f.read() #默认全读,传参指定读取字符






[*]pow() #幂


1
2
math.pow(2,4)#2的4次方
16.0






[*]print() # 打印



[*]range() # 取范围内的整数

[*]reversed() # 反转

[*]round() # 四舍五入

[*]set() # 集合

[*]slice() # 本函数是实现切片对象,主要用在切片操作函数里的参数传递。


1
2
3
4
5
6
myslice = slice(5)
print(myslice)
slice(None, 5, None)
l = list(range(10))
print(l)







[*]sorted() # 排序

[*]str() # 字符串

[*]sum() # 求和

[*]tuple() #元组

[*]zip() #接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。


1
2
3
4
5
6
7
x =
y =
z =
xyz = zip(x, y, z)
print xyz
[(1,
4, 7), (2, 5, 8), (3, 6, 9)]



页: [1]
查看完整版本: python内置函数