人生与戏

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

效果图:

代码:

# 定义一个表示人的类
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.行为(方法)

  - 在类的代码块中,我们可以定义变量和函数,
    变量会成为该类实例的公共属性,所有的该类实例都可以通过     对象.属性名      的形式访问
    函数会成为该类实例的公共方法,所有该类实例都可以通过        对象.方法名()    的形式调用方法

  - 注意:
    方法调用时,第一个参数由解析器自动传递,所以定义方法时,至少要定义一个形参!

  - 实例为什么能访问到类中的属性和方法
    类中定义的属性和方法都是公共的,任何该类实例都可以访问

  - 属性和方法查找的流程
    当我们调用一个对象的属性时,解析器会先在当前对象中寻找是否含有该属性,
    如果有,则直接返回当前的对象的属性值,
    如果没有,则去当前对象的类对象中去寻找,如果有则返回类对象的属性值,
    如果类对象中依然没有,则报错!

  - 类对象和实例对象中都可以保存属性(方法)
    - 如果这个属性(方法)是所有的实例共享的,则应该将其保存到类对象中
    - 如果这个属性(方法)是某个实例独有,则应该保存到实例对象中

  - 一般情况下,属性保存到实例对象中
    而方法需要保存到类对象中

posted on 2019-08-05 23:53  人生与戏  阅读(475)  评论(0编辑  收藏  举报