12月15日学习笔记—面向对象
来源:互联网 发布:可惜没如果知乎 编辑:程序博客网 时间:2024/06/07 19:33
对象和类的区别:
对象是特指的某个事物或者某件特指的事情,他是具体的
类是指的大概形象,他是粗略的
所以根本的区别就是一个是精细的,一个是粗放的
类的三个组成部分:
1、有一个特指的名称
2、有一组数据形容他
3、允许对其进行操作的。
特别注意的是如果进行多重调用,一定要注意使用self进行调用,这样就会智能识别需要调用的内容,例子:
#name:leonclass Cat(): def eat(self): print("猫在吃鱼") def drink(self): print("猫在喝水") def indexing(self): print("%s今年已经有%s了" % (self.name, self.age))Tom = Cat()Tom.eat()Tom.drink()Tom.name ="汤姆"Tom.age = '40岁'Tom.indexing()lanmao = Cat()lanmao.eat()lanmao.drink()lanmao.name ="蓝猫"lanmao.age = '10岁'lanmao.indexing()'''调用结果如下:猫在吃鱼猫在喝水汤姆今年已经有40岁了猫在吃鱼猫在喝水蓝猫今年已经有10岁了'''
进一步改变该代码,可得到新的代码:
class Cat: def __init__(self,new_name,new_age): self.name = new_name self.age = new_age def __str__(self): return "%s的年龄是%s"%(self.name,self.age) def eat(self): print("猫在吃鱼") def drink(self): print("猫在喝水") def introduce(self): print("%s的年龄是%s"%(self.name,self.age))tom = Cat("汤姆",40)tom.eat()tom.drink()# tom.name="汤姆"# tom.age = 10print(tom)lanmao = Cat("蓝猫",10)lanmao.eat()lanmao.drink()# lanmao.name = "蓝猫"# lanmao.age = 20print(lanmao)'''可以得到新的结果是:猫在吃鱼猫在喝水汤姆的年龄是40猫在吃鱼猫在喝水蓝猫的年龄是10'''方法虽然不同,但是效果相同
但是有一个地方需要注意,就是局部变量的数据不能作用于全局,但是为什么用__init__的方法
修改了数据之后,可以调用__str__的方法调用呢?其实原因很简单,就是因为python的指向性
新的代码指向了__init__生成的值
阅读全文
0 0
- 12月15日学习笔记—面向对象
- 12月29日:面向对象01
- 2011年1月23日,学习笔记,面向对象(下)。
- 黒马程序员--8月1日学习笔记C#面向对象总结
- 12月30日 面向对象05------内部类
- 2月15日,学习笔记
- 2月15日,学习笔记
- 2月15日,学习笔记
- 2月15日,学习笔记
- 2月15日,学习笔记
- 2月15日,学习笔记
- 2月15日,学习笔记
- 2月15日,学习笔记
- 2月15日,学习笔记
- 2月15日,学习笔记
- 2月15日,学习笔记
- 2月15日,学习笔记
- 2月15日,学习笔记
- 图论入门
- centerOS7下配置Tomcat7环境
- This function or variable may be unsafe(vs 错误)
- Eclipse在windows下的MinGW
- Nodejs爬虫实战项目之链家
- 12月15日学习笔记—面向对象
- java生成随机验证码完整源码分享
- unity中四种读取txt文件的方法和一种写入txt方法
- [操作系统] 文件系统管理和优化
- tomcat配置以及eclipse插件配置
- 74HC595
- 创建Archives遇到问题
- UE4开发交流群,欢迎加入493523372
- coursera-斯坦福-机器学习-吴恩达-第7周笔记-支持向量机SVM