python内置函数

[亡魂溺海] 提交于 2020-01-23 14:27:23

1.abs()获取绝对值

>>> abs(-10)
10
>>> a = -10
>>> a.__abs__()
10

2. all()   参数为可迭代对象,迭代对象为空时,返回True.如果迭代对象的所有元素都为真,那么返回True,否则返回False.

all(['python',123])
--->True
 
all([])
--->True
 
all([0])
--->False
 
all(" ")
--->True
 
all(1,' ',2,None)
--->False

3.any()  参数为可迭代对象,参数为空时返回True

print(any([None,0,' ',{},1]))
--->True
 
print(any(' '))
--->True

4.sum()  求和

>>> res = sum(i for i in range(5))
>>> print(res)
10

5.bin()  将参数转化为二进制

>>> bin(3)
'0b11'
>>> bin(10)
'0b1010'

6.bool()   布尔函数,返回bool值,False或True

>>> bool(3)
True
>>> bool(0)
False
>>> bool(None)
False

7. ascii()  调用对象的__repr__()方法,获得该方法的返回值

8.bytes()  将一个字符串转化为字节类型

>>> print(bytes('hello',encoding='utf-8'))
b'hello

9.str()  将字符类型/数值类型等转换为字符串类型

>> str(1)
'1'

10.chr()   查看十进制数对应的ASCII字符

>>> chr(65)
'A'
>>> chr(90)
'Z'
>>> chr(97)
'a'
>>> chr(122)
'z'

 

11.ord()   查看某个ASCII对应的十进制数

>>> ord('a')
97
>>> ord('A')
65

12.callabe()   判断对象是否可以被调用,能被调用的对象就是一个callables对象,比如函数和带有__call__()的实例

13. classmethod()  用来指定一个方法为类的方法,由类直接调用执行,只有一个cls参数,执行类的方法时,自动将调用该方法的类赋值给cls.没有此参数指定的类的方法为实例方法

class Province:
    country = "中国"
       
    def __init__(self, name):
        self.name = name
       
    @classmethod
    def show(cls):  # 类方法,由类调用,最少要有一个参数cls,调用的时候这个参数不用传值,自动将类名赋值给cls
        print(cls)
       
# 调用方法
Province.show()   #__main__.Province

 

14.complie()  将字符串编译成python能识别或可以执行的代码,也可以将文字读成字符串再编译

compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)
说明:
  1. 将source编译为代码或者AST对象。代码对象能够通过exec语句来执行或者eval()进行求值。
  2. 参数source:字符串或者AST(Abstract Syntax Trees)对象。即需要动态执行的代码段。
  3. 参数 filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。当传入了source参数时,filename参数传入空字符即可。
  4. 参数mode:指定编译代码的种类,可以指定为 ‘exec’,’eval’,’single’。当source中包含流程语句时,mode应指定为‘exec’;当source中只包含一个简单的求值表达式,mode应指定为‘eval’;当source中包含了交互式命令语句,mode应指定为'single'。
#流程语句使用exec
code1 = 'for i in range(10):print(i)'
aa = compile(code1,'','exec')  #source,filename,mode
exec(aa)

结果:
1
3
5
7
9

#简单求值表达式用eval
code2 = "1+2+3+4"
bb = compile(code2,'','eval')
print(eval(bb))

结果:


#交互语句用single
code3 = "name = input('please input your name:')"
cc = compile(code3,'','single')
exec(cc)   #执行时提示输入name

 

15.complex()

创建一个值为real + imag * j的复数或者转化一个字符串或数为复数。如果第一个参数是字符串,则不需要指定第二个参数。
参数real:int,long,float或字符串。
参数imag:int,long,float

x=complex(1-2j)
print(x.real)
--->1.0
 
print(x.imag)
--->2.0

 

16. delattr()  删除对象的属性

18. float()  讲一个字符串或整数转换为浮点数

>>> print(float(1))
1.0

19.list()  参数为可迭代对象

20.tuple() 元组

21.dict()   创建数据字典

22.set()  集合

23.frozenset()   不可变集合

24.dir()  不带参数时返回当前范围内的变量,方法和定义的类型列表,带参数时返回参数的属性,方法列表

>>> dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
>>> dir(sum)#输出sum下有哪些可被sum调用的方法。(对象.方法),sum.方法

25.divmod()  分别取商和余数.二个参数x和y,输出元组(x//y,x%y)

print(divmod(100,33))
--->(3,1)

 

26. enumerate()  返回一个可以枚举的对象,该对象的next()方法将返回一个元组

for i in enumerate(['a','b','c','d']):
    print(i)

结果:
(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')

27.eval()  将字符串str中的表达式提取出来并运行

s= "1 + 2 * 3"
print(type(s))
print(eval(s))

结果:
<class 'str'>

28.exec()  执行字符串或complie方法编译过的字符串,没有返回值

exec函数和eval函数类似,也是执行动态语句,只不过eval函数只用于执行表达式求值,而exec函数主要用于执行语句块。

>>> eval('a=1+2') #执行语句报错
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    eval('a=1+2')
  File "<string>", line 1
    a=1+2
     ^
SyntaxError: invalid syntax

>>> exec('a=1+2') #执行语句
>>> a

 

29.filter()  过滤器,构造一个序列,等价于[ item for item in iterables if function(item)],在函数中设定过滤条件,逐一循环迭代器中的元素,将返回值为True时的元素留下,形成一个filter类型数据

30.format()  格式化输出字符串,format(value, format_spec)实质上是调用了value的__format__(format_spec)方法

>>> print("I am {0}, I like {1}".format("alex","python"))
I am alex, I like python

31.getattr()  获取对象的属性

getattr(object, name [, defalut])
获取对象object名为name的特性,如果object不包含名为name的特性,将会抛出AttributeError异常;如果不包含名为name的特性
且提供default参数,将返回default。
参数object:对象
参数name:对象的特性名
参数default:缺省返回值
 
print(getattr(list, 'append'))
---> <method 'append' of 'list' objects>
 
mylist = [3, 4, 5]
append(mylist, 6)
print(mylist)
--->[3, 4, 5, 6]
 
print(getattr(list, 'add'))
--->Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: type object 'list' has no attribute 'add'
 
print(getattr(list, 'add', 'NoMethod'))
---> 'NoMethod'

 

32.globals()  返回一个描述当前全局变量的字典

33.hasattr()

hasattr(object,name)
判断对象object是否包含名为name的特性(hasattr是通过调用getattr(object,name))是否抛出异常来实现的。
参数object:对象
参数name:特性名称
 
print(hasattr(list, 'append'))
---> True
 
print(hasattr(list, 'add'))
---> False

34.hash()  哈希值

hash(object)
hash是一种算法,二个数值相等hash值是确定的唯一的,常用来校验数据。<br>hash值不能逆推。
如果对象object为哈希表类型,返回对象object的哈希值。哈希值为整数,在字典查找中,哈希值用于快递比价字典的键。
两个数值如果相等,则哈希值也相等。

35.hex()   十进制转化为十六进制

>>> print(hex(10))
0xa

36. id()  查看唯一标识的身份

37. help()  返回对象的帮助文档

38. input()  获取用户输入内容

39. isinstance()  检查对象是否是类的对象,返回True或False

isinstance(obj, cls)
检查obj是否是类cls的对象, 返回True 或 False
class Foo(object):
     pass
obj = Foo()
isinstance(obj, Foo)

40. issubclass()  检查一个类是否是另一个类的子类。返回True或False

issubclass(sub, super)
检查sub类是否是super类的派生类(子类)。返回True 或 False
  
class Foo(object):
    pass
    
class Bar(Foo):
    pass
    
issubclass(Bar, Foo)

41. iter()

42. len()  返回对象长度,参数可以是序列类型(字符串,元组或列表)或映射类型(如字典)

43.  locals()  打印当前可用的局部变量的字典

44. lambda匿名函数 

45. zip()     ‘拉链’,一对一的

46. sorted()    返回列表,列表包含所有的元素,按升序排列

 

47. map()       映射,第一个参数为函数,第二个参数为可迭代对象

48.max()  返回给定元素里最大值

49.min()  返回给定元素里最小值

50.object()

 

 1.获取一个新的,无特性(geatureless)对象。Object是所有类的基类。它提供的方法将在所有的类型实例中共享。
 2 该函数时2.2.版本新增,2.3版本之后,该函数不接受任何参数。

 

51.open()  打开文件

52.print()  输出函数

53.range()  根据需要生成一个指定范围的数字,可以提供你需要的控制来迭代指定的次数

55. repr()  将任意值转换为字符串,供计时器读取的形式

 

返回一个对象的字符串表示。有时可以使用这个函数来访问操作。
对于许多类型来说,repr()尝试返回一个字符串,eval()方法可以使用该字符串产生对象;
否则用尖括号括起来的,包含类名称和其他二外信息的字符串被返回

57.round()  四舍六入五留双,五留双留离整数最近的偶数

print(round(10.3))
----> 10
 
print(round(10.5))
----> 10
 
print(round(10.6))
----> 11
 
print(round(10.9))
----> 11
 
print(round(11.5))
----> 12

 

58.pow()  幂函数

>>> print(pow(3,3))
27
>>> print(pow(2,5))
32

59. reduce()         合并,第一个参数为函数,第二个参数为可迭代对象。第三个参数可有可无,默认初始值。

60. filter    过滤

61.oct()   十进制转化为八进制

print(oct(10))
---->0o12

 

62.slice  切片

l=[1,2,3,4,5]
print(l[2:4])
--->[3,4]
 
s=slice(2,4)
print(l[s])
---->[3,4]

63. vars    没有参数时和locals()一样,有参数得到字典

64. __import__

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!