标签:自动 没有 孙悟空 共享 情况 抽象 code 数据 形参
效果图:
代码:
# 定义一个表示人的类 class Person: # 定义一个所有实例可以访问的变量(这里称为:公共属性) name = "孙悟空" # 定义一个所有实例可以访问的函数(这里称为: 方法) # 一般命名基础参数为 self ,至少有一个参数 def say_hello(self): #print(‘你好!我是‘,self.name) print(‘你好!我是%s‘%self.name) # %s 就是 %self.name # 创建Person的实例 p1 = Person() # 修改p1的name属性 p1.name = ‘猪八戒‘ # 调用类中的方法 : 对象.方法名() p1.say_hello()
理论:
类的定义(参考图2)
- 类和对象都是对现实生活中的事物或程序中的内容的抽象
- 实际上所有的事物都由两部分构成:
1.数据(属性)
2.行为(方法)
- 在类的代码块中,我们可以定义变量和函数,
变量会成为该类实例的公共属性,所有的该类实例都可以通过 对象.属性名 的形式访问
函数会成为该类实例的公共方法,所有该类实例都可以通过 对象.方法名() 的形式调用方法
- 注意:
方法调用时,第一个参数由解析器自动传递,所以定义方法时,至少要定义一个形参!
- 实例为什么能访问到类中的属性和方法
类中定义的属性和方法都是公共的,任何该类实例都可以访问
- 属性和方法查找的流程
当我们调用一个对象的属性时,解析器会先在当前对象中寻找是否含有该属性,
如果有,则直接返回当前的对象的属性值,
如果没有,则去当前对象的类对象中去寻找,如果有则返回类对象的属性值,
如果类对象中依然没有,则报错!
- 类对象和实例对象中都可以保存属性(方法)
- 如果这个属性(方法)是所有的实例共享的,则应该将其保存到类对象中
- 如果这个属性(方法)是某个实例独有,则应该保存到实例对象中
- 一般情况下,属性保存到实例对象中
而方法需要保存到类对象中
标签:自动 没有 孙悟空 共享 情况 抽象 code 数据 形参
原文地址:https://www.cnblogs.com/FlyingLiao/p/11306456.html