面向对象
Posted Joseph Peng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象相关的知识,希望对你有一定的参考价值。
摘自:http://www.cnblogs.com/Eva-J/articles/7293890.html
python中一切皆为对象,类型的本质就是类,所以,不管你信不信,你已经使用了很长时间的类了
>>> dict #类型dict就是类dict
<class \'dict\'>
>>> d=dict(name=\'eva\') #实例化
>>> d.pop(\'name\') #向d发一条消息,执行d的方法pop
\'eva\'
从上面的例子来看,字典就是一类数据结构,我一说字典你就知道是那个用{}表示,里面由k-v键值对的东西,它还具有一些增删改查的方法。但是我一说字典你能知道字典里具体存了哪些内容么?不能,所以我们说对于一个类来说,它具有相同的特征属性和方法。
而具体的{\'name\':\'eva\'}这个字典,它是一个字典,可以使用字典的所有方法,并且里面有了具体的值,它就是字典的一个对象。对象就是已经实实在在存在的某一个具体的个体。
在python中,用变量表示特征,用函数表示技能,因而具有相同特征和技能的一类事物就是‘类’,对象是则是这一类事物中具体的一个。
类
1 class Person: #定义一个人类 2 role = \'person\' #人的角色属性都是人 3 def walk(self): #人都可以走路,也就是有一个走路方法,也叫动态属性 4 print("person is walking...")
类的两种作用:属性引用和实例化
属性的引用
1 class Person: #定义一个人类 2 role = \'person\' #人的角色属性都是人 3 def walk(self): #人都可以走路,也就是有一个走路方法 4 print("person is walking...") 5 6 print(Person.role) #查看人的role属性 7 print(Person.walk) #引用人的走路方法,注意,这里不是在调用
实例化的过程就是类——>对象的过程
原本我们只有一个Person类,在这个过程中,产生了一个egg对象,有自己具体的名字、攻击力和生命值。
语法:对象名 = 类名(参数)
egg = Person(\'egon\',10,1000) print(egg.name) print(egg.aggressivity) print(egg.life_value)
以上是关于面向对象的主要内容,如果未能解决你的问题,请参考以下文章