文章目录
一 Python中的对象
在Python中定义什么是对象,拿球做例子。可以操作一个球,比如捡球、踢球、抛球等。我们把这些操作称为动作。还可以通过颜色、重量和大小来描述一个球。这些就是球的属性。在Python中,一个对象的特征也称为属性,动作称为方法。
如果要建立一个球的Python版本或者模型,球就是一个对象,它要有属性和方法。
球的属性可能是 (这些都是关于球的描述):
ball.color
ball.size
ball.weight
球的方法可能有 (这些都是可能对球做的操作):
ball.kick()
ball.throw()
ball.inflate()
二 对象=属性+方法
什么是属性:
属性就是你所知道的关于球的所有方面,球的属性就是一些信息(数字、字符串等),没错,它们就是变量,只不过是包含在对象中的变量。
可以显示:
print ball.size
可以给它们赋值:
ball.color = "green"
可以把它们赋值给常规的、不是对象的变量:
mycolor = ball.color
还可以把它们赋给其他对象的属性:
myball.color = yourball.color
什么是方法:
方法就是可以对对象做的操作,它们是一些代码块。可以调用这些代码来完成某个工作,是不是很熟悉?方法其实就是在对象中的函数。函数能做到的,方法都能做到,包括传递参数和返回值。
所以利用对象,可以把一个东西的属性和方法收集到一起。
三 创建对象
Python中创建对象包括两步:
第一步是描述对象。Python中对象的描述或蓝图称为一个类。
第二步是使用类建立一个对象。这个对象称为这个类的一个实例。
class Ball:
def bounce(self):
if self.direction == "down":
self.direction == "up"
上例是一个球的类定义,其中一个方法bounce( )。属性并不属于类,它们属于各个实例。因为每个实例可以有不同的属性。
(1) 创建一个对象实例
前边说过,类定义并不是一个对象,只是一个蓝图。现在来真正的“盖房子”。
class Ball:
def bounce(self):
if self.direction == "down":
self.direction = "up"
myball = Ball()
myball.direction = "down"
myball.color = "red"
myball.size = "small"
print "I just created a ball."
print "My ball is",myball.size
print "My ball is",myball.color
print "My ball's direction is",myball.direction
print "Now I'm going to bounce the ball."
print
myball.bounce()
print "Now the ball's direction is",myball.direction
调用bounce( ) 方法会把球的方向从 down 改为 up,这正是bounce( )方法中要做的。
(2) 初始化对象
创建球对象时,并没有在size、color、或direction中填入任何内容,必须在创建对象后填充这些内容。而初始化对象就是可以在创建对象时设置属性。
class Ball:
def __init__(self, color,size,direction):
self.color = color
self.size = size
self.dir