今天就跟大家聊聊有关python是动态语言吗,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
首先要理解什么是动态语言:通俗地说:能够在运行时修改自身程序结构的语言,就属于动态语言。那怎样才算是“运行时修改自身程序结构”呢?比如下面这几个例子都算:在运行时给某个类增加成员函数及成员变量;在运行时改变某个类的父类;在运行时创建出某个函数.。
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(类名, 父类的元组(针对继承的情况,可以为空),包含属性的字典(名称和值))
看完上述内容,你们对python是动态语言吗有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。