开发者学堂课程【Python 语言基础 3:函数、面向对象、异常处理:属性和方法】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/601/detail/8755
属性和方法
内容简介:
一、类的分类
二、例子
一、类的分类
-类和对象都是对现实生活中的事物或程序中的内容的抽象
-实际上所有的事物都由两部分构成:
1.数据(属性)
2.行为(方法)
-在类的代码块中,我们可以定义变量和函数,
变量会成为该类实例的公共属性,所有的该类实例都可以通过 对象.属性名 的形式访问
函数会成为该类实例的公共方法,所有的该类实例都可以通过 对象.方法名()的形式调用方法
-注意:
方法调用时,第一个参数由解析器自动传递,所以定义方法时,至少要定义一个形参!
-实例为什么竜访问到类中的属性和方法
类中定义的属性和方法都是公共的,任何该类实例都可以访问
-属性和方法查找的流程
当我们调用一个对象的属性时,解析器会先在当前对象中寻找是否含有该属性,
如果有,则直接返回当前的对象的属性值,
如果没有,则去当前对象的类对象中去寻找,如果有则返回类对象的属性值,
如果没有则报错!
-类对象和实例对象中都可以保存属性(方法)
-如果这个属性(方法)是所有的实例共享的,则应该将其保存到类对象中
-如果这个属性(方法)是某个实例独有,则应该保存到实例对象中
-一般情况下,属性保存到实例对象中,而方法需要保存到类对象中
二、例子
class Person
在类的代码块中,我们可以定义变量和函数
在类中我们所定义的变量,将会成为所有的实例的公共属性,所有实例都可以访问这些变量。
name=’swk’
公共属性,所有实例都可以访问
在类中也可以定义函数,类中的定义的函数,我们称为方法
这些方法也可以通过该类的所有实例来访问。
def say_hello(self);
方法每次被调用时,解析器都会自动传递的一个实参, 第一个参数,就是调用方法的对象本身,
如果是 p1 调的,则第一个参数就是 p1 对象
如果是 p2 调的,则第一个参数就是 p2 对象
一般我们都会将这个参数命名为 self
say_hello() 这个方法,可以显示如下格式的数据:
你好!我是xxx
在方法中不能直接方法类中的属性
print(’你好!我是%s‘%self,name)
创建 person 的实例
P1=person()
P2=person()
Print(p2.name)
调用方法,对象。方法名()
方法调用和函数调用的区别
如果是函数调用,则调用时几个参数,就会有几个实参
但是如果是方法调用,默认传递一个参数,所以方法中至少要定义一个形参
修改 p1 的 name 属性
p1.name=’猪八戒‘
P2.name=’沙和尚‘
p1.say_hello() ‘你好!我是猪八戒’
p1【variable】
p1.name
p1.name
del p2.name删除p2的name属性
print(p1.name)
print(p2.name)