python为什么是动态语言
首先要理解什么是动态语言:通俗地说:能够在运行时修改自身程序结构的语言,就属于动态语言。那怎样才算是“运行时修改自身程序结构”呢?比如下面这几个例子都算:在运行时给某个类增加成员函数及成员变量;在运行时改变某个类的父类;在运行时创建出某个函数.。
Python是可以实现动态类的创建类(在任意代码位置,符合正确的书写格式),或者给类增加删除属性。因为类也是对象,你可以在运行时动态的创建它们,就像其他任何对象一样。首先,你可以在函数中创建类,使用class关键字即可。
相关推荐:《Python入门教程》
例子:
def choose_class(name): if name == 'foo': class Foo(object): pass return Foo # 返回的是类,不是类的实例 else: class Bar(object): pass return Bar #如果你觉得还不够动态,因为你仍然需要自己编写整个类的代码。由于类也是对象,所以它们必须是通过什么东西来生成的才对。 当你使用class关键字时,Python解释器自动创建这个对象。但就和Python中的大多数事情一样,Python仍然提供给你手动处理的方法。 内建函数中有一个名叫type的内建函数,这个内建函数古老但强大的函数, 它能够让你知道一个对象的类型是什么,就像这样: >>> MyShinyClass = type('MyShinyClass', (), {}) # 返回一个类对象 >>> print MyShinyClass<class '__main__.MyShinyClass' >>>> print MyShinyClass() # 创建一个该类的实例 <__main__.MyShinyClass object at 0x8997cec>另附type使用方法: #type(类名, 父类的元组(针对继承的情况,可以为空),包含属性的字典(名称和值))
来源:PY学习网:原文地址:https://www.py.cn/article.html