python为什么是动态语言

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(类名, 父类的元组(针对继承的情况,可以为空),包含属性的字典(名称和值))

以上是 python为什么是动态语言 的全部内容, 来源链接: utcz.com/z/524347.html

回到顶部