python内置函数一

python3.7中内置函数共有69个,breakpoint()为python3.7中新增功能,其实很多我们都用过,又有很多不常用.下面来大概了解一下吧

1 print(abs(-1))                 #传入一个参数,返回该参数的绝对值
2 print(all([0,2,3]))            #传入一个可迭代对象,全部参数都为真,才返回True
3 print(any([1,2,0]))            #传入一个可迭代对象,只要有一个元素为真,则返回True
4 print(ascii("你好啊"))         #传入一个字符串,返回该字符串的repr形式(带引号的),如果字符不在ASCII码中则用uxU转义
5 print(bin(10))                 #传入一个十进制数字,返回该数字的二进制字符串0b开头

结果对照:

1 1
2 False
3 True
4 'u4f60u597du554a'
5 0b1010
1 print(oct(456))                #传入一个十进制数字,返回该数字的八进制字符串0o开头
2 print(int("0b101001",2))       #将一个字符串转换成十进制数,第一个参数是字符串,第二个参数是字符串的进制数
3 print(hex(20))                 #传入一个十进制数,返回该数字的十六进制字符串0x开头
4 print(bool(""))                #将传入的数据转换成布尔值,除None以及空类型数据,都是True

结果对照:

1 0o710
2 41
3 0x14
4 False
1 print(bytearray("你好啊",encoding="utf-8"))            
2 print(bytearray(8))                                    
3 '''
4 如果它是一个字符串,您还必须提供编码(和可选的,错误)参数; bytearray()然后使用将字符串转换为字节str.encode()。
5 如果它是一个整数,则该数组将具有该大小,并将使用空字节进行初始化。
6 如果它是符合缓冲区接口的对象,则将使用该对象的只读缓冲区来初始化bytes数组。
7 如果它是可迭代的,则它必须是范围内的可迭代整数 ,它们用作数组的初始内容。0 <= x < 256
8 如果没有参数,则会创建一个大小为0的数组。
9 '''

结果对照:(举例两个)

1 bytearray(b'xe4xbdxa0xe5xa5xbdxe5x95x8a')
2 bytearray(b'x00x00x00x00x00x00x00x00')
1 print(bytes("哈哈",encoding="utf-8"))         #将字符串转换成字节模式
2 f= lambda x:x**2
3 print(callable(f))                            #输入一个对象,查看该对象是否可被调用.如果返回True也可能调用失败,False则绝不会成功
4 print(chr(256))                               #输入一个整数,返回该数字对应unicode的字符串,与ord相反
5 print(ord("Ā"))                               #输入一个字符串,返回该字符串对应的unicode整数码位,与chr相反
6 class C:
7     @classmethod                              #将方法转换为类方法,
8     def f(cls, arg1, arg2):                   #可以不需要实例化,直接类名.方法名()来调用。
9         pass

结果对照:

1 b'xe5x93x88xe5x93x88'
2 True
3 Ā
4 256
1 def func():
2     pass
3 print(dir(func))                           #如果没有参数,则返回当前本地范围中的名称列表。使用参数,尝试返回该对象的有效属性列表。

结果对照:

1 ['__annotations__', '__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__get__', '__getattribute__', '__globals__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__kwdefaults__', '__le__', '__lt__', '__module__', '__name__', '__ne__', '__new__', '__qualname__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
 1 class A():
 2     name = "皮卡丘"
 3     def skill(self):
 4         pass
 5 setattr(A,"age","21")                   #参数是一个对象,一个字符串和一个任意值。该字符串可以命名现有属性或新属性。
 6 print(A.age)
 7 
 8 print(getattr(A(),"name"))               #获取对象name属性的值,如果不存在,则按默认值添加
 9 
10 
11 print(hasattr(A(),"name"))               #参数是一个对象和一个字符串。如果字符串是对象属性之一,返回True否则False
12 
13 # print(delattr(A,"name"))               #参数是一个对象和一个字符串。该字符串必须是对象属性之一的名称。
14 # print(A.name)

结果对照:

1 21
2 皮卡丘
3 True
4 AttributeError: type object 'A' has no attribute 'name'
 1 lst = [1,2,3,4]
 2 print(list(enumerate(lst, start=2)))                #枚举,输入一个可迭代对象,加上个计数,(默认0),返回一个__next__方法加计数的元组
 3 print(divmod(5, 3))                                 #输入两个数,返回两数的商和余数
 4 print(eval("1+5"))                                  #输入一段字符串,计算字符串中的结果
 5 def func():
 6     return 35
 7 print(exec("""
 8 def func():
 9     l = 4**3
10     return l
11 print(func())
12 """))                                       #这个函数支持Python代码的动态执行。对象必须是字符串或代码对象。

结果对照:

1 [(2, 1), (3, 2), (4, 3), (5, 4)]
2 (1, 2)
3 6
4 64
5 None
1 lst = [1,2,3,4]
2 print(list(filter(lambda x:x>2,lst)))          #通过一个自定义函数,来筛选数据,前面函数,后面可迭代对象
3 print(float("123"))                            #输入一个数字字符串或者数字,转换成一个浮点数
4 
5 print(format(1235,">20"))                  #右对齐,输入一个变量,通过指定的格式化方式,输出
6 print(format("你好啊","<20"))                  #左对齐,
7 print(format("你好啊","^20"))                  #居中,

结果对照:

1 [3, 4]
2 123.0
3                 1235
4 你好啊                 
5         你好啊         
1 from functools import reduce
2 lst = [1,2,3,4]
3 print(reduce(lambda x,y:x*y,lst))                   #对一个可迭代对象进行累(加或者乘)计算
4 print(isinstance(8,int))                            #用来查看对象是否是一个已知类型
5 class A():
6     pass
7 class B():
8     pass
9 print(issubclass(A,B))                              #判断一个类是否是另一个类的派生类

结果对照:

1 24
2 True
3 False
1 print(iter([1,2,3,4]))                      #生成一个迭代器
2 print(list("abcd"))                         #将一个可迭代对象,转换成列表形式
3 print(len("qwer"))                          #返回可迭代对象的中元素的个数,长度
4 print(list(map(lambda x:x**x,[1,2,3,4])))   #按函数规则,将可迭代对象中每个元素做映射,并生成一个迭代器对象,
5 print(memoryview(bytes("你好啊",encoding="utf-8")))          #返回由给定参数创建的“内存视图”对象。
6 print(max(["哈哈","嘻嘻"]))                                  #返回迭代对象或者多个元素中的最大值
7 print(min([1,2,3]))                                          #返回迭代对象或者多个元素中的最小值

结果对照:

<list_iterator object at 0x00000242BC109A58>
['a', 'b', 'c', 'd']
4
[1, 4, 27, 256]
<memory at 0x00000242BC12C348>
嘻嘻
1
原文地址:https://www.cnblogs.com/NoteBook3013/p/10268275.html