zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    每日一题_190921
    每日一题_190920
    每日一题_190919
    2017年江苏高考数学14题
    2017年全国高中数学联赛及2017年贵州省预赛试题
    高中数学与初中数学的接轨点
    从此错位(相减)无计算
    在 LaTeX 中同步缩放 TikZ 与其中的 node
    析构函数 一定是虚函数
    Java对多线程的支持
  • 原文地址:https://www.cnblogs.com/NoteBook3013/p/10268275.html
Copyright © 2011-2022 走看看