自学Python5.3-类和对象的简单操作
自学Python5.3-类和对象的简单操作
1. 定义一个类
定义一个类的格式如下:
class 类名: 方法列表
举例1 :
class Cat: #定义一个Cat类 #属性 #方法 def eat(self): print("猫在吃鱼....") def drink(self): print("猫正在喝kele.....")
举例2:
class Car: # 定义一个Car类 # 属性 # 方法 def getCarInfo(self): print('车轮子个数:%d, 颜色%s'%(self.wheelNum, self.color)) # 稍后介绍 def move(self): print("车正在移动...")
说明:
- 定义类时有2种:新式类和经典类,上面的Car为经典类,如果是Car(object)则为新式类
- 类名 的命名规则按照"大驼峰"
2. 创建对象
类不会自动执行,于是需要创建对象。
创建对象的格式为:
对象名 = 类()
举例1:
class Cat: #属性 #方法 def eat(self): print("猫在吃鱼....") def drink(self): print("猫正在喝kele.....") #创建一个对象 tom = Cat()
举例2:
class Car: # 定义一个Car类 # 属性 # 方法 def getCarInfo(self): print('车轮子个数:%d, 颜色%s'%(self.wheelNum, self.color)) # 稍后介绍 def move(self): print("车正在移动...") #创建一个对象 BWM = Car()
3. 调用对象的方法
举例1 :
class Cat: #属性 #方法 def eat(self): print("猫在吃鱼....") def drink(self): print("猫正在喝kele.....") #创建一个对象 tom = Cat() #调用tom指向的对象中的方法 tom.eat() tom.drink()
4. 获取对象添加属性
举例1 :
class Cat: #属性 #方法 def eat(self): print("猫在吃鱼....") def drink(self): print("猫正在喝kele.....") #创建一个对象 tom = Cat() #调用tom指向的对象中的方法 tom.eat() tom.drink() # 给tom指向的对象添加两个属性 tom.name = “汤姆” tom.age = 40
print("%的年龄是:%d"%(tom.name,tom.age))
class Cat: #属性 #方法 def eat(self): print("猫在吃鱼....") def drink(self): print("猫正在喝kele.....") def introduce(self): print("%的年龄是:%d"%(tom.name,tom.age)) #创建一个对象 tom = Cat() #调用tom指向的对象中的方法 tom.eat() tom.drink() # 给tom指向的对象添加两个属性 tom.name = “汤姆” tom.age = 40 #获取属性 tom.introduce()
5. 创建多个对象
class Cat: #属性 #方法 def eat(self): print("猫在吃鱼....") def drink(self): print("猫正在喝kele.....") def introduce(self): print("%的年龄是:%d"%(tom.name,tom.age)) #创建一个对象 tom = Cat() #调用tom指向的对象中的方法 tom.eat() tom.drink() # 给tom指向的对象添加两个属性 tom.name = “汤姆” tom.age = 40 #获取属性 tom.introduce() #创建另一个对象 lanmao = Cat() #调用lanmao指向的对象中的方法 lanmao.eat() lanmao.drink() # 给lanmao指向的对象添加两个属性 lanmao.name = “蓝猫” lanmao.age = 12 #获取属性 tom.introduce() lanmao.introduce()
这样的结果肯定不对,那是因为lanmao.introduce()调用内存的时候对应的是print("%的年龄是:%d"%(tom.name,tom.age)) ,那么如何解决此问题???
class Cat: #属性 #方法 def eat(self): print("猫在吃鱼....") def drink(self): print("猫正在喝kele.....") def introduce(self): print("%的年龄是:%d"%(self.name,self.age)) #创建一个对象 tom = Cat() #调用tom指向的对象中的方法 tom.eat() tom.drink() # 给tom指向的对象添加两个属性 tom.name = “汤姆” tom.age = 40 #获取属性 tom.introduce() #创建另一个对象 lanmao = Cat() #调用lanmao指向的对象中的方法 lanmao.eat() lanmao.drink() # 给lanmao指向的对象添加两个属性 lanmao.name = “蓝猫” lanmao.age = 12 #获取属性 tom.introduce() lanmao.introduce()
self总结:
- 所谓的self,可以理解为自己
- self就相当于一个变量, 可以换成任何一个字符
- 可以把self当做C++中类里面的this指针一样理解,就是对象自身的意思
- 某个对象调用其方法时,python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递后面的参数即可
......
作者:CARLOS_CHIANG
出处:http://www.cnblogs.com/yaoyaojcy/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
posted on 2018-10-26 09:46 CARLOS_KONG 阅读(237) 评论(0) 编辑 收藏 举报