在运行时代码可以根据某些条件改变自身结构
可以在运行时引进新的函数、对象、甚至代码,可以删除已有的函数等其他结构上的变化
常见的动态语言:Object-C、C#、JavaScript、PHP、Python、Erlang
1.2 动态类型语言在运行期间检查数据类型的语言
数据类型不是在编译阶段决定的,而是把类型绑定延后到了运行阶段
常见的动态类型语言:Python、Ruby、Erlang、JavaScript、swift、PHP、Perl
1.3 强类型语言一旦一个变量被指定了某个数据类型,如果不经过强制类型转换,那么它就永远是这个数据类型
常见的强类型语言:Java、C#、Python、Object-C、Ruby
Python是动态语言,动态类型语言,也是强类型语言。所以Python可以在运行时改变自身结构,动态添加/删除属性和方法。接下来将介绍Python如何动态添加属性和方法。
二、动态添加属性 2.1 添加对象属性
class Person(object): def __init__(self, newName, newAge): self.name = newName self.age = newAge zhangsan = Person("张三", 18) zhangsan.addr = "北京" # 类对象zhangsan动态添加对象属性addr print(zhangsan.name) # 张三 print(zhangsan.age) # 18 print(zhangsan.addr) # 北京 lisi = Person("李四", 28) print(lisi.name) # 李四 print(lisi.age) # 28 print(lisi.addr) # 'Person' object has no attribute 'addr'