为什么说Python是一门动态语言

 我来答
zuiwuxin
推荐于2018-03-26 · TA获得超过184个赞
知道小有建树答主
回答量:106
采纳率:100%
帮助的人:73.7万
展开全部

首先要理解什么是动态语言:通俗地说:能够在运行时修改自身程序结构的语言,就属于动态语言。那怎样才算是“运行时修改自身程序结构”捏?比如下面这几个例子都 算:在运行时给某个类增加成员函数及成员变量;在运行时改变某个类的父类;在运行时创建出某个函数.。


Python是可以实现动态类的创建类(在任意代码位置,符合正确的书写格式),或者给类增加删除属性。因为类也是对象,你可以在运行时动态的创建它们,就像其他任何对象一样。首先,你可以在函数中创建类,使用class关键字即可。


例子:

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(类名, 父类的元组(针对继承的情况,可以为空),包含属性的字典(名称和值))
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式