首页 > 代码库 > python学习日记-面向对象编程(一)
python学习日记-面向对象编程(一)
python的类(class)和实例(instance)
假设一种鞋子(shoe)有尺码(size)和颜色(color)两种属性,以此为例。
类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的__init__
方法,在创建实例的时候,就把size,color属性绑到shoe上去,例如:
1 class Shoe(object): 2 3 def __int__(self, size, color): 4 self.size = size 5 self.color = color
其中,(object)表示继承自哪个类,如果没有合适的继承类,就用object;
self表示实例本身,所以使用__int__方法添加属性,可以把属性添加到self;
数据的封装
从类的内部定义访问数据的函数,这样就可以把数据封装起来。例如:
1 class Shoe(object): 2 3 def __init__(self, size, color): 4 self.size = size 5 self.color = color 6 7 def get_color(self): 8 print(‘%s: %s‘ % (self.size, self.color))
要定义一个方法,除了第一个参数是self
外,其他和普通函数一样。
要调用一个方法,只需要在实例变量上直接调用,除了self
不用传递,其他参数正常传入:
>>> bart.get_color()
32: black
封装的另一个好处是可以给Student
类增加新的方法,比如get_grade
:
1 class Shoe(object): 2 ... 3 4 def get_level(self): 5 if self.size >= 40: 6 return ‘A‘ 7 elif self.size >= 32: 8 return ‘B‘ 9 else: 10 return ‘C‘
可以简单的调用get_level,例如:
>>>46.get_level() ‘A‘
注:参考廖雪峰老师的网站http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431864715651c99511036d884cf1b399e65ae0d27f7e000
python学习日记-面向对象编程(一)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。