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__返回的输出格式

  • 相关阅读:
    sql优化
    一些有用的单词(1)
    用到的 Sed 注解
    终端工具注册码
    nginx四层、七层负载均衡配置示例
    http 状态码
    04. Golang 数据类型
    03. Golang 特性
    02. Go 命令
    01. GOPATH 目录结构划分的两种风格
  • 原文地址:https://www.cnblogs.com/layerluo/p/9526422.html
Copyright © 2011-2022 走看看