1,了解面向对象和面向过程的区别
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
https://blog.csdn.net/jerry11112/article/details/79027834
2,了解类和对象的区别
类:具有相似内部状态和运动规律的实体的集合(或统称为抽象)。
对象:某一个具体事物的存在 ,在现实世界中可以是看得见摸得着的。
具有同种属性的对象称为类,是个抽象的概念。比如“人”就是一类,期中有一些人名,比如小明、小红、小玲等等这些都是对象,类就相当于一个模具,他定义了它所包含的全体对象的公共特征和功能,对象就是类的一个实例化,小明就是人的一个实例化!我们在做程序的时候,经常要将一个变量实例化,就是这个原理!我们一般在做程序的时候一般都不用类名的,比如我们在叫小明的时候,不会喊“人,你干嘛呢!”而是说的是“小明,你在干嘛呢!”
3,(重点)定义一个类,创建一个对象:
定义一个类格式:
class 类名(object): # 定义一个类
def 方法名(self): # 定义一个方法
pass
注意:类名大驼峰式命名
创建对象(实例)的格式:
对象名 = 类名() 或者 类名()
Wang_cai = dog()
对象调用方法的格式:
对象名.方法名()
dog.eat()
给对象添加属性:
对象名.属性名 = 值
xiao_tian.age = 10
通过 对象名.属性名 可以访问到这个属性的值
4,(重点)self
Self是用来接收对象的
对象名.方法名()
wang_cai.say() # 在调用这个say方法的时候,python解释器帮我们传递了前面这个对象作为实参被self接收了,所以谁在调用,self就是谁
# python解释器帮我们传递了前面这个对象的引用作为实参被self接收了,所以谁在调用,self就指向谁
class Test:
def __init__(self):
self.a = "abcdef"
def test1(self, args1):
print("test1----", args1)
print("test1----", self.a)
t = Test() # 创建对象
t.test1("args1") ==>相当于test1(t,”args1”) t调用了self, self就是t。
5,(重点)掌握init方法的使用
wang_cai = Dog("旺财", 10)
到底做了哪些事情:
1、创建一个对象
2、创建对象成功之后,自动调用init()方法
3、让wang_cai去指向这个创建出来的对象
作用:
我们用init方法来设置对象初始的属性,所以这个方法一般又称为初始化方法
“魔法”方法:在python中方法名如果是xxxx()的,那么就有特殊的功能,因此叫做“魔法”方法
6,def str(self):
美化直接打印对象名的结果(直接打印对象名得到的是一个地址)
1、这个方法里面一定要有return
2、return 返回值一定是字符串
直接打印打印对象名的时候就不再是地址了,而是return后面的这个字符串
所以直接打印对象名的时候,就会来执行这里的代码
return "我叫%s,今年%s岁了" % (self.name, self.age)
7,明白如何调用对象的方法
调用方法: 调用对象的方法
对象名.方法名()
wang_cai.drink()
8,能够给对象添加属性
对象名.属性名 = 值
wang_cai.name = "旺财"
9,能够获取对象的属性
在类里面:self.属性名
在类的外面:对象名.属性名
网友评论