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

  • 相关阅读:
    Django学习笔记之Cookie、Session和自定义分页
    sass表达式前后出现空格
    render总结
    vue双向绑定补充说明方法
    mutation与action
    keep-alive使用笔记
    this指向 一般函数与箭头函数
    vue-router原理分析
    history新增方法
    常用阻止ajax缓存方法集锦
  • 原文地址:https://www.cnblogs.com/layerluo/p/9526422.html
Copyright © 2011-2022 走看看