python中目前含有68个内置函数,掌握这些内置函数可以让我们更好的处理问题,下面将分类介绍这些python的内置函数
数学运算函数(7)
类型转换函数(24)
序列化操作函数(8)
对象操作函数(8)
判断操作函数(8)
变量操作函数(2)
交互操作函数(2)
文件操作函数(1)
编译执行函数(4)
装饰器函数(3)
数学运算函数(7)
1、abs():返回数值的绝对值
print(abs(-3))
[out]:3
2、divmod():返回两个数值的商和余数
print(divmod(7,2))
[out]:(3,1)
3、max():返回给定参数的最大值,参数可以为序列
print(max(1,2,3))
[out]:3
4、min():返回给定参数的最小值,参数可以为序列
print(min(1,2,3))
[out]:1
5、pow():返回两个数值额幂运算或者模值
print(pow(2,3)
[out]:2**3
print(pow(2,3,4))
[out]:(2**3)%4
6、round():对浮点数进行四舍五入求值
print(round(1.2345,2))
[out]:1.23
7、sum():对元素进行求和,传入的是可迭代的对象
print(sum((1,2,3,4)))
[out]:10
类型转换函数(24)
1、bool():将传入参数的逻辑值转换为布尔类型,没有参数,返回FALSE
print()
print(0)
print(1)
[out]:False,False,True
2、int():将传入的参数转换为整数
print(int(1.5))
[out]:1
3、float():将传入的参数转换为浮点数
print(float(3))
[out]:3.0
4、complex():将传入参数转换为复数
print(complex(1+2))
[out]:(1+2j)
5、str():将传入参数转换为字符串
print(str(123))
[out]:'123'
6、bytearray():将传入参数转换为字节数组
print(bytearray('上海','utf-8'))
[out]:bytearray(b'\xe4\xb8\x8a\xe6\xb5\xb7')
7、bytes():将传入参数转换为不可变字节数组
print(bytes('上海','utf-8'))
[out]:b'\xe4\xb8\x8a\xe6\xb5\xb7'
8、memoryview():将传入参数转换为内存查看对象
a=memoryview(b'12345')
print(a[1])
[out]:50
9、ord():返回unicode字符对应的整数
print(ord('a'))
[out]:97
10、chr():返回整数所对应的Unicode字符
print(chr(97))
[out]:'a'
11、bin():将整数转换为2进制字符串
print(bin(1))
[out]:'0b1'
12、oct():将整数转换为8进制字符串
print(oct(1))
[out]:'0o1'
13、hex():将整数转换为16进制字符串
print(hex(1))
[out]:'0x1'
14、tuple():将传入的参数转换一个新的元组
print(tuple('121'))
[out]:('1','2','1')
15、list():将传入的参数转换一个新的列表
print(list('123'))
[out]:['1','2','3']
16、dict():将传入的参数转换一个新的字典
print(dict(a=1,b=2))
print(dict(zip(['a','b'],[1,2])))
print(dict((('a',1),('b',2))))
[out]:{'a':1,'b:2'}
17、set():将传入的参数转换一个新的集合
print(set(1,2,3,1,2,3))
[out]:{1,2,3}
18、frozenset():将传入的参数转换一个新的不可变集合
print(frozenset(1,2,3))
[out]:frozenset({1,2,3})
19、enumerate():将可迭代的对象转换为枚举对象
a=['a','b','c']
print(list(enumerate(a)))
[out]:[(0,'a'),(1,'b'),(2,'c')]
20、range():将传入的参数转换为range对象
print(range(3))
[out]:range(0,3)
21、iter():将传入的参数转换为可迭代对象
print(iter('abc'))
[out]:<str_iterator object at 0x0000013B5E1764C8>
22、slice():将传入的参数转换为切片对象
print(slice(1,2))
[out]:slice(1,2,None)
23、super():将传入的参数转换为子类和父类关系的代理对象
# 定义父类A
class A(object):
def __init__(self):
print('A.__init__')
# 定义子类B,继承A
class B(A):
def __init__(self):
print('B.__init__')
super().__init__()
print(B())
[out]:
B.__init__
A.__init__
24、object():创建新的object对象
print(object())
[out]:<object object at 0x0000013B5C2A7DD0>
序列化操作函数(8)
1、all():判断可迭代对象中的元素是否都是TRUE值
print(all([1,2]))
print(all([0,1,2]))
[out]:True,False
2、any():判断可迭代对象中的元素是否有是TRUE值
print(any([0,1,2]))
print(any([0,0]))
[out]:True,False
3、filter():使用指定方法过滤可迭代对象元素
a=[1,2,3,4,5]
# 定义判断是否为奇书的函数
def if_odd(x):
return x%2==1
print(list(filter(if_odd,a)))
[out]:[1,3,5]
4、map():根据提供的函数对指定序列做映射
def square(x):
return x**2
print(map(square,[1,2,3]))
[out]:1,4,9
print(map(lambda x,y:x+y,[1,2,3],[1,2,3]))
[out]:2,4,6
5、next():返回可迭代对象的下一个元素
a=iter('abc')
print(next(a))
print(next(a))
[out]:'a','b'
6、reversed():反转序列生成新的可迭代对象
print(list(reversed(range(5))))
[out]:[4,3,2,1,0]
7、sorted():对可迭代对象进行排序
print(sorted([1,3,2]))
[out]:[1,2,3]
8、zip():聚合传入每个迭代器中相应位置的元素,返回元组类型迭代器
a=[1,2,3]
b=[1,2,3,4,5]
print(list(zip(a,b)))
[out]:[(1,1),(2,2),(3,3)]
对象操作函数(8)
1、help():返回帮助内容
2、dir():不含参数时,返回当前范围内的变量、方法和定义的类型列表,
带参数的时候,返回参数的属性,方法列表
print(dir()) # 获取当前模块的属性列表
print(dir([1])) # 查看操作列表的方法
[out]:
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'a']
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
3、id():返回对象的唯一标识符
print(id(1))
[out]:140720116048272
4、hash():获取对象的哈希值
print(hash('a'))
[out]:-1010650392529981372
5、type():返回对象的类型
print(type('a'))
[out]:<class 'str'>
6、len():返回对象的长度
print(len('abc'))
[out]:3
7、ascii():返回对象的可打印字符串
print(ascii('a'))
print(ascii('上海'))
[out]:a,"'\\u4e0a\\u6d77'"
8、format():格式化显示值
print('{} {}'.format('hello','world'))
print('{0} {1}'.format('hello','world')')
[out]:
'hello world'
'hello world'
9、vars():返回当前作用域内的局部变量和其值组成的字典,或者返回对象的属性列表
# 作用于类实例
class A(object):
pass
print(a.__dict__)
print(vars(a))
[out]:{}、{}
a.name='tom'
print(a.__dict__)
print(vars(a))
[out]:{'name':'tom'}、{'name':'tom'}
判断操作函数(8)
1、__import__():用于动态加载类和函数
2、isinstance():判断一个对象是否是一个已知的类型
a=2
print(isinstance(a,int))
print(isinstance(a,str))
[out]:
True
False
3、issubclass():判断参数class是否是类型参数classinfo的子类
class A:
pass
class B(A):
pass
print(issubclass(B,A))
[out]:
True
4、hasattr():检查对象是否含有属性
class student:
def __init__(self,name):
self.name=name
s=student('tome')
print(hasattr(s,'name'))
[out]:True
5、getattr():获取对象的属性值
class student:
def __init__(self,name):
self.name=name
s=student('tome')
print(getattr(s,'name'))
[out]:'tom'
6、setattr():设置对象的属性值
class student:
def __init__(self,name):
self.name=name
s=student('tome')
setattr(s,'name','Bob')
print(s.name)
[out]:'Bob'
7、delattr():删除对象的属性
class student:
def __init__(self,name):
self.name=name
s=student('tom')
delattr(s,'name')
print(s.name)
[out]:出现错误
8、callable():检查对象是否可被调用
class B:
def __call__(self):
print('hello world')
print(callable(B))
[out]:True
变量操作函数(2)
1、globals():以字典的形式返回当前位置的全部全局变量
print(globals())
[out]:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'a': slice(1, 22, 3)}
2、locals():以字典的形式返回当前位置的局部变量
def age(arg):
z=1
print(locals())
age(4)
[out]:
{'z':1,'arg':4}
交互操作函数(2)
1、print():输出对象并打印输出
2、input():用户读取输入值
文件操作函数(1)
1、open():使用指定的模式和编码打开文件,返回文件的读写对象
a=open('test.txt','rt')
a.read()
[out]:'some text'
a.close()
编译执行函数(4)
1、compile():将一个字符串编译为字节代码
compile(source,filename,mode[,flags[,dont_inherit]])
source:字符串或者AST对象
filename:代码文件名称
mode:指定编译代码的种类,主要有exec、eval、single
flags:变量作用域,局部命名空间
flags和dont_inherit是用来控制编译源码时的标志
str='for i in range(0,4): print(i)'
c=compile(str,'','exec') #编译为字节代码对象
print(c)
[out]:<code object <module> at 0x0000013B5DFDFED0, file "", line 1>
print(exec(c))
[out]:
0
1
2
3
2、eval():执行动态表达式求值
print(eval('1+2+3+4'))
[out]:10
3、exec():执行动态语句块
exec('a=1+2')
print(a)
[out]:3
4、repr():返回一个对象的字符串表现形式
a='hello world'
print(repr(a))
[out]:"'hello world'"
装饰器函数(3)
1、property():标示属性的装饰器
property([fget[,fset[,del[,doc]]]])
fget:获取属性值的函数
fset:设置属性值的函数
fdel:删除属性值的函数
doc:属性描述信息
2、classmethod():对应的函数不需要实例化,不需要self参数,可以用来调用类额属性,方法,实例化对象等
class C:
@classmethod
def f(cls,arg1):
print(clas)
print(arg1)
C.f('不需要实例化')
[out]:'不需要实例化'
3、staticmethod:标示方法为静态方法的装饰器
class C(object):
@staticmethod
def f():
print('hello world')
C.f() #静态方法无需实例化
[out]: hello world
参考文章:
https://www.runoob.com/python/python-built-in-functions.html
https://www.cnblogs.com/sesshoumaru/p/6140987.html#p1
随着大数据的时代的到来,数据变得越来越重要,数据可以帮助我们来看清行业的本质,也可以帮助我们更加快速的了解一个行业,关注公众号——DT学说,走进数据的时代