zoukankan      html  css  js  c++  java
  • 反射4中内置函数

    """
    class People:
    def __init__(self,name,age,gender):
    self.name=name
    self.age=age
    self.gender=gender
    people_obj=People("haha",23,"male")
    res=people_obj.__dir__()
    print(res)

    res=dir(people_obj)
    print(res)
    #Python中一切皆对象,类和对象都可以被这四个函数操作,用法一样
    # hasattr(),getattr(),setattr(),delattr()
    class Teacher:
    def __init__(self,full_name,age=23):
    self.full_name=full_name
    self.age=age
    tea_obj=Teacher("林允儿")
    # print(tea_obj.__dict__)
    res=hasattr(tea_obj,"full_name")
    print(res)
    res1=getattr(tea_obj,"full_name","属性不存在")
    res2=getattr(tea_obj,"gender","属性不存在")
    print(res1)
    print(res2)
    setattr(tea_obj,"gender","male")
    res3=getattr(tea_obj,"gender","没有属性")
    print(res3)
    delattr(tea_obj,"age")
    res4=hasattr(tea_obj,"age")
    print(res4)
    """

    """
    反射四种内置函数总结
    hasattr(tea_obj,"age")判断对象age属性是否存在,存在返回True,不存在返回False
    getattr(tea_obj,"age","属性不存在")判断对象age属性是否存在,若存在返回对应值
    若不存在返回"属性不存在"
    setattr(tea_obj,"age",23)设置对象age属性等于23
    delattr(tea_obj,"age")对 对象age属性进行删除操作
    """

    #用户交互小荔枝
    """

    class FtpServer:
    def server(self):
    inp=input("input your cmd>>:").strip()
    cmd,file=inp.split()
    if hasattr(self,cmd):
    func=getattr(self,cmd)
    func(file)
    else:
    print("没有对应方法操作")
    def get(self,file):
    print("正在下载%s"%file)
    def put(self,file):
    print("正在上传%s"%file)
    ftp=FtpServer()
    ftp.server()
    """
    """
    #内置方法 __str__,__del__
    #__str_被打印时自动触发,print用来打印他的返回值

    class Student:
    def __init__(self,name,age):
    self.name=name
    self.age=age
    def __str__(self):
    return f"<姓名:{self.name}年龄:{self.age}>"
    stu_obj=Student("yoona",23)
    print(stu_obj)
    stu_obj2=Student("林允儿",18)
    print(stu_obj2)#stu_obj2.__str__
    """


  • 相关阅读:
    Lc617_合并二叉树
    Lc257_二叉树的所有路径
    Lc222_完全二叉树的节点个数
    记github下载上传遇到的各种问题
    Lc101_对称二叉树
    Lc222_翻转二叉树
    二叉树的dfs 与 bfs (递归遍历)
    全球最火的程序员学习路线!没有之一!3天就在Github收获了接近1w点赞
    大二逃课总结的1.2w字的计算机网络知识!扫盲!
    「IDEA插件精选」安利一个IDEA骚操作:一键生成方法的序列图
  • 原文地址:https://www.cnblogs.com/mayrain/p/12708984.html
Copyright © 2011-2022 走看看