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__
    """


  • 相关阅读:
    小程序添加本地图片
    实现预览大图效果
    react-native 使用localhost报 Network request failed
    记两点错误reac-native
    react-native 进行调试
    微信公众号微信支付遇到的一些问题
    关于ionic3做微信公众号
    [c#]Extesion method
    值得收藏的27个机器学习的小抄
    ODBC Driver Development
  • 原文地址:https://www.cnblogs.com/mayrain/p/12708984.html
Copyright © 2011-2022 走看看