(python)与反射有关的内置函数。

9人阅读 评论(0) 收藏 举报

两个与反射无关的内置方法:

isinstance(obj,cls)判断一个对象是不是一个类的实例。

issubclass(cls,obeject)判断一个类是不是一个类的子类。

下面介绍与反射有关的内置函数。

下面四个函数是专门来操作类与对象属性的,通过字符串来操作与对象的属性,这种操作称为反射。





class People:
    country='China'
    def __init__(self,name):
        self.name=name
    def tell(self):
        print('%s is aaa' %self.name)

obj=People('monicx')
#hasattr函数
print('country'in People.__dict__)#判断一佧属性是否存在
print(hasattr(People,'country'))
print(hasattr(People,'tell'))
print(hasattr(People,'name'))

#getattr函数
print(getattr(People,'country'))#China
print(getattr(People,'tell',None))#<function People.tell at 0x00000000026BA950>

#setattr函数
# People.x=11111
setattr(People,'x',11111)
print(People.x)
#obj.age=18
setattr(obj,'age',18)

#delattr函数
# del People.country
delattr(People,'country')
print(People.__dict__)
#del obj.name
delattr(obj,'name')
print(obj.__dict__)

下面来一个反射的简单应用场景。

当用户输入命令的时候能够反射到对应的功能上:

class Foo:
    def run(self):
        while True:
            cmd=input('cmd>>:').strip()#用户输入反射到它的功能上
            # print('%s run....'%cmd)
            if hasattr(self,cmd):
                func=getattr(self,cmd)
                func()

    def download(self):
        print('download....')

    def upload(self):
        print('upload')
obj=Foo()
obj.run()

运行结果为:


查看评论

Python-内置函数

-
  • 1970年01月01日 08:00

python内置函数

  • 2011年12月22日 16:51
  • 268KB
  • 下载

Python中列表的内置函数

内置函数的查看方法:dir(list) 例如: >>> dir(list) 接下来介绍一些常用的方法: 1、count():用来统计某一个成员在列表中的出现次数,例如: >>> list1 = [12...
  • wsyhawl
  • wsyhawl
  • 2017-10-11 22:55:35
  • 309

asp.net二进制反射机制

  • 2009年04月16日 11:14
  • 25KB
  • 下载

Python内置函数详解——总结篇

 引 言       国庆期间下定决心打算学习Python,于是下载安装了开发环境。然后问题就来了,怎么开始呢?纠结一番,还是从官方帮助文档开始吧。可是全是英文啊,英语渣怎么破?那就边翻译边...
  • oaa608868
  • oaa608868
  • 2016-12-07 15:02:43
  • 8647

Python-常用的内置函数

Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。接下来,记录一些本人自主学习Python的一些笔记:all一个可迭代对象的所有...
  • y472360651
  • y472360651
  • 2017-06-12 18:34:25
  • 807

Python内置函数及其用法

Python有许多内置的函数和类型,刚开始学习可能会不太熟悉。下面是官网给出的所有的内置函数和类型。 abs(x) 返回一个数字的绝对值。这个参数可能是一个整数或浮点数。如果这个参数是一个...
  • Silent_F
  • Silent_F
  • 2017-05-31 17:14:19
  • 896

最全的python内置函数整理

Python中内置了很多函数和类型,你可以在任何时候使用它们。以下按字母表顺序列出它们。1abs(x)返回一个数的绝对值。参数可以是一个整数或者一个浮点数。如果参数是一个复数,那么将返回它的模。2al...
  • FRBeVrQbN4L
  • FRBeVrQbN4L
  • 2017-11-14 00:00:00
  • 682

Python常用内置函数总结

内置方法  说明  __init__(self,...)  初始化对象,在创建新对象时调用  __del__(self)  释放对象,在对象被删除之前调用  __new__(cls,*ar...
  • jyh764790374
  • jyh764790374
  • 2017-02-03 20:38:36
  • 242
    个人资料
    等级:
    访问量: 123
    积分: 163
    排名: 110万+
    文章分类
    文章存档
    最新评论