标签:自动 没有 孙悟空 共享 情况 抽象 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