zoukankan      html  css  js  c++  java
  • 反射

      反射:hasattr , getattr , setattr , delattr

      hasattr判断实例化的对象里面是否有这个值

      class Peopel:
       def __init__(self,name,age):
         self.name=name
         self.age=age

      obj=Peopel('las',12)
      print(obj.__dict__)

      print(hasattr(obj,'name'))

      返回的是 True 或者False

      getattr 获取实例化后指定键的值

      print(getattr(obj,'name'))

      print(getattr(obj,'xxx',None))

      后面多加了一个none  如果没找到就返回 none

      setattr 修改添加。

      setattr(obj,'name','LLL')

      将对应的name 键的值改成LLL
      setattr(obj,'xxx',11111)

      没有找到xxx这个键 就增加 ‘xxx’:11111

      

      delattr 删除

      delattr(obj,'name')

      删除 ‘name’对应的键值

      __str__  在对象被打印时自动触发,可以用来定义对象被打印时的输出信息,必须返回一个字符串类型的值

      class People :
        def __init__(self,name,age):
          self.name=name
          self.age=age
        def __str__(self):
          return '%s:%s' %(self.name,self.age)
      obj1=People('asd',11)
      print(obj1)

      打印的是 asd:11  正是__str__返回的输出格式

  • 相关阅读:
    find命令之xargs
    find命令之exec
    find 命令概览
    mv命令
    locate 命令
    whereis 命令
    linux which 查看可执行文件的位置
    Linux应用总结:自动删除n天前日志
    Visual Studio
    Visual Studio- “无法启动此程序,因为计算机中丢失 xxx.dll尝试重新安装该程序以解决此问题"
  • 原文地址:https://www.cnblogs.com/layerluo/p/9526422.html
Copyright © 2011-2022 走看看