• 内置函数


    1、需要掌握
    #1 查看对象下面有哪些属性
    class Foo:
        pass
    obj=Foo()
    print(dir(obj)) #obj.下面都有哪些属性
    
    #2 计算商 和余数
    print(divmod(10,3))  #(3,1) (商,余数)
    
    #3 打印 索引 对应循环取出的可迭代对象里的值
    for i,v in enumerate(['a','b','c']):
        print(i,v)
    #4 直接拿出字符串里的表达式
    res=eval('1+2')
    print(res)
    
    #5 hash(不可变类型) ——》得到哈希值
    
    #6 help() #查看文档注释
    
    
    #7 判断一个对象是不是一个类的实例
    class Foo:
        pass
    obj=Foo()
    isinstance(obj,Foo)
    
    #8 判断是不是列表
    print(isinstance([],list))
    #以前的做法===不推荐使用,type不是干这事的
    print(type([]) is list)
    
    #9 reversed()反转
    
    #10  zip()拉链函数,把两个可迭代对象拼凑成一个个小元组形式
    v1='hello'
    v2=[1,2,3,4]
    res=zip(v1,v2)
    print(res)#<zip object at 0x000000000216F4C0>
    print(list(res))#[('h', 1), ('e', 2), ('l', 3), ('l', 4)]
    
    #11  __import__
    #  import 'time'
        x=__import__('time')
        x.sleep(3)#就直接可以用了,因为'time'是字符串不是time
    
    #12 pow(a,b,c)的意思是:  计算a**2%c 的余数*****
    print(pow(10,2,3))  #打印出1 意思就是 10**2%3余数是1
    
    #__str__方法会在对象被打印时自动触发
    #__del__会在对象被删除时自动触发

    2、只是了解

    #1 进制转换
    print(bin(10))#10-2 0b1010
    print(oct(10))#10-8 0o12
    print(hex(10))#10-16 0xa
    
    #2 判断是否能调用,类、函数,绑定方法,静态方法等等
    class Foo:
        pass
    print(callable(Foo))
    
    #3 ascii码和数字之间转换
    print(chr(65))# A 数字转换为ascii码
    print(ord('A')) #65 ascii码转换为数字
    
    #4 不可变集合
    s=frozenset({1,2,3})
    
    #5 repr 在交互式环境下敲代码回车一下子直接出来结果就是在底层调用了__repr__
    #6 str  在print()的时候底层调用了__str__  所以打印的结果都是字符串类型的就是这个道理
    
    
    #7  round()四舍五入,有一个特殊的除外
    #8  slice 切片 用于批量操作比较方便
    s=slice(1,4,2)
    l1=[1,2,3,4,5]
    l2=[11,33,55,88]
    print(l1[s])
    print(l2[s])

     3、反射  里面的四种内置函数(掌握)

    class Teacher:
        def __init__(self,full_name):
            self.full_name =full_name
    
    t=Teacher('Egon Lin')
    
    # hasattr(object,'name')
    hasattr(t,'full_name') # 按字符串'full_name'判断有无属性t.full_name
    
    # getattr(object, 'name', default=None)
    getattr(t,'full_name',None) # 等同于t.full_name,不存在该属性则返回默认值None
    
    # setattr(x, 'y', v)
    setattr(t,'age',18) # 等同于t.age=18
    
    # delattr(x, 'y')
    delattr(t,'age') # 等同于del t.age
    ---34---
  • 相关阅读:
    面向对象三大特性:封装,继承,多态(三、多态的进一步讲解)
    面向对象三大特性:封装,继承,多态(二、多态)
    面向对象三大特性:封装,继承,多态(一,封装和继承)
    zookeeper+dubbo+demo
    Eclipse常见版本和JDK常用版本对应关系
    Navicat 连接MySQL 8.0.11 出现2059错误
    Neo4j elk Elasticsearch kibana kettle
    jvm垃圾回收机制GC
    jvm 这我就能会了 擦
    spring的4种事务特性,4种隔离级别,7种传播行为
  • 原文地址:https://www.cnblogs.com/guojieying/p/13528653.html
Copyright © 2020-2023  润新知