本节开始介绍Python中的对象
类的定义,类首字母要大写:
class Turtle:
#声明属性
color="green"
weight=10
legs=4
shell=True
#方法
def climb(self):
print("爬行中")
def eat(self):
print("吃东西")
# 实例化对象
tt=Turtle()
# 调用方法
tt.climb()
type(Turtle) #得到"type"类型
self是什么,为什么在方法的参数中要传一个self
其实self相当于php中的$this
用对象调用某个方法,则这个方法在定义的时候必须要传self这个参数,否则对象无法调用这个方法,只能用类调用这个方法
如果是使用类直接调用这个方法,则这个方法定义时可以不传self,此时调用的时候:
类名.方法名()
如果还想传其他参数可以用,隔开继续传
如下:
class Person:
def setName(self,name):
self.name=name #相当于$this.name=name
def sayName(self):
print("我叫做{0}!".format(self.name))
zbp=Person()
zbp.setName("张小沛")
zbp.sayName()
在php中,定义一个属性,必须要先声明有哪些属性
但是在py中不用先声明,而是直接赋值,如上面的self.name=name
py允许在类之外,使用对象定义一个属性,不过这个属性就只有这个对象有,其他的由此类实例化出来的对象就没有这个属性:
class A:
pass #pass表示在这个类里面什么都不干,在函数或者循环中也可以使用pass
a=A()
a.name="zbp"
print(a.name)