第六天
Python常用内置函数
Python3解释器中内置了69个常用函数,属于底层的函数,它们到处可用。有些对大家来说比较熟悉,比如abs(), max(), sum()… 也有一些比较陌生,比如locals(), all(), map()… 今天来简单总结一下。
1、数学函数
abs(a) : 求取绝对值。
max(list) : 求取list最大值。
min(list) : 求取list最小值。
sum(list) : 求取list元素的和。
sorted(list) : 排序,返回排序后的list。
len(list) : 获得list的长度。
divmod(a,b): 获取商和余数。
pow(a,b) : 获取乘方数。
round(a,b) : 获取指定位数的小数。
range(a[,b]) : 生成一个a到b的数组,左闭右开。
print(abs(-1)) #-1
print(max([1,3,5,7])) # 7
print(min([1,3,5,7])) # 1
print(sum([1,3,5,7])) # 16
print(sorted([5,3,1,7])) #[1,3,5,7]
print(len([1,3,5,7])) # 4
print(divmod(5,2)) # (2,1)
print(pow(2,3)) # 8
print(round(3.1415926,3)) # 3.142
2、类型转换函数
int(str) : 将字符串转换为int型。
float(int/str) : 将int型或字符型转换为浮点型。
str(int) : 将其他类型转换为字符型。
bool(int) : 转换为布尔类型。
bytes(str,code) : 接收一个字符串,与所要编码的格式,返回一个字节流类型。
list(iterable) : 转换为list。
iter(iterable): 返回一个可迭代的对象。
dict(iterable) : 转换为dict字典。
enumerate(iterable) : 返回一个枚举对象。
tuple(iterable) : 转换为tuple元组。
set(iterable) : 转换为set。
hex(int) : 转换为16进制。
oct(int) : 转换为8进制。
bin(int) : 转换为2进制。
chr(int) : 转换数字为相应ASCI码字符。
ord(str) : 转换ASCI字符为相应的数字。
print(int("12")) # 12
print(float("12")) # 12.0
print(str(12)) # '12'
print(bool(0)) # False
print(bool(1)) # True
print(bytes('爬虫','utf-8')) # b'\xe7\x88\xac\xe8\x99\xab'
print(list((1,2,3))) # [1,2,3]
print(iter((1,2,3))) # <tuple_iterator object at 0x0000018FCD7A5070>
print(dict([('a',1),('b',2)])) # {'a': 1, 'b': 2}
print(tuple([1,2,3])) #(1,2,3)
print(set([1,2,3,2,4,1])) # {1, 2, 3, 4}
print(hex(512)) # 0x200
print(oct(512)) # 0o1000
print(bin(512)) # 0b1000000000
print(chr(65)) # A
print(ord('A')) # 65
3、功能函数
eval(expression) : 执行一个表达式,或字符串作为运算,并返回结果。
print(eval('1+1')) # 2
exec(object) : 动态执行 Python 代码。
filter(func, iterable) : 用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表或者迭代器。
#获得列表中的奇数
def filterTest(x):
return x%2 == 1
newList = filter(filterTest,[1,2,3,4,5,6,7,8,9])
print(list(newList)) # [1, 3, 5, 7, 9]
map(func, *iterable) : map函数的作用是以参数序列中的每个元素分别调用function函数,把每次调用后返回的结果保存为对象。
def mapTest(x):
return x*2+1
result = map(mapTest,[2,3,4])
print(list(result)) # [5, 7, 9]
zip(*iterable) : 将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
#a,b长度一致
a = [1,2,3]
b = [4,5,6]
zipper = list(zip(a,b))
print(zipper) # [(1, 4), (2, 5), (3, 6)]
#若length不一致
a1 = [1,2]
b1 = [4,5,6,7]
zipper1 = list(zip(a1,b1))
print(zipper1) # [(1, 4), (2, 5)]
# 这里加list是为了输出内容,否则是object Python3为节约内存进行了优化。
type(object):返回一个对象的类型。
print(type([2])) # <class 'list'>
print(type('123')) # <class 'str'>
id(object):返回对象的唯一标识符,标识符是一个整数。
a = "查看ID标识符"
print(id(a)) # 1860633190448
hash(object):用于获取取一个对象(字符串或者数值等)的哈希值。
print(hash("查看hash值")) # -650747374711114082
注意:每次执行 hash值均会不同 是因为Python Hash启动时随机生成的机制。
help():调用系统内置的帮助系统。
isinstance(object):判断一个对象是否是一个已知的类型,类似 type()。区别:type() 不会认为子类是一种父类类型,不考虑继承关系;
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
a = 12
print(isinstance(a,int)) # True
print(isinstance(a,str)) # False
issubclass(classB,classA):判断一个类是否为另一个类的子类。
class A:
pass
class B(A):
pass
print(issubclass(B,A)) #True
globals() : 以字典类型返回当前位置的全部全局变量。
a = 'global查看全局变量'
print(globals()) #{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000027460770880>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'C:/Python/python1/venv/Include/1.py', '__cached__': None, 'a': 'global查看全局变量'}
next(iterator[, default]) : 接收一个迭代器,返回迭代器中的数值,如果设置了default,则当迭代器中的元素遍历后,输出default内容。
list = [9,7,5,3]
iter = iter(list)
print(next(iter,1)) # 9
print(next(iter,1)) # 7
print(next(iter,1)) # 5
print(next(iter,1)) # 3
print(next(iter,1)) #默认值1
reversed(sequence) : 生成一个反转序列的迭代器。
aList = [123, 'xyz', 'zara', 'abc', 'xyz']
aList.reverse()
print("List : ", aList) # List : ['xyz', 'abc', 'zara', 'xyz', 123]
reduce():函数会对参数序列中元素进行累计。
from functools import reduce
def reduceTest(x,y):
return x*y
result = reduce(reduceTest,[1,2,3,4,5])
print(result) # 120
4、总结
还有一些函数这里就不在叙述,我们学习使用过程中可以参考https://www.runoob.com/python/python-built-in-functions.html
。重要的是要会使用。重要的是要会使用。重要的是要会使用。重要的事情说三遍。
网友评论