码迷,mamicode.com
首页 > 编程语言 > 详细

python学习日记-面向对象编程(一)

时间:2016-11-17 00:55:29      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:...   nbsp   编程   ret   size   com   self   对象   www   

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学习日记-面向对象编程(一)

标签:...   nbsp   编程   ret   size   com   self   对象   www   

原文地址:http://www.cnblogs.com/lovechao/p/6072153.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!