zoukankan      html  css  js  c++  java
  • 使用对象在方法间共享属性

    假设我们有两个函数都需要用到一个公共变量name,一种做法就是把这个变量放到类中,大家一起使用。
    一个最简单的类的定义和使用如下。

    1. 定义类
    class Person(object):
        def hi(self):  # 方法中的self指代具体对象,这是一个具体对象的方法。
             print('hi')
        def hello(self):
             print('hello')
    
    1. 创建并使用对象(也称实例)
      类是一个我们设计的一个模型,一般需要生成具体的对象进行使用。
    kevin = Person()  # 创建对象
    kevin.hi()  # 调用对象方法
    kevin.hello()
    

    如果这个对象只需要使用一次,也可以不赋值给变量直接使用Person().hi()

    注意调用Person和调用Person()是不一样的操作,Person指使用这个类,Person()则表示创建一个新对象。

    有时候,我们想要在创建对象时为其传入一些参数,比如name,这个可以通过类的__init__方法来接收并将其变为对象的熟悉。

    class Person(object):
        def __init__(self, name):  # self指代对象,默认参数新建对象时不用传,name则在新建对象时传入
            self.name = name  # 将接收到name绑定给self(即对象)的name属性
    

    这样类中的所有方法都可以使用self.name来获取到这个属性。

    class Person(object):
        def __init__(self, name): 
            self.name = name
        def hi(self): 
             print(f'hi, {self.name}')
        def hello(self):
             print(f'hello, {self.name}')
    

    在创建对象时需要传入__init__方法中self以外的参数。

    kevin = Person('凯文')
    kevin.hi()
    kevin.hello()
    

    另外,类的熟悉会自动绑定给对象,即在方法中可以使用self.来访问,如。

    class Person(object):
        place = 'earth'
        def __init__(self, name): 
            self.name = name
        def hi(self): 
             print(f'hi, {self.name}, I'm on {self.place}') # 使用self.place访问从类继承来的属性
        def hello(self):
             print(f'hello, {self.name}')
    
  • 相关阅读:
    基于Python自动生成小学四则运算题目的命令行程序(软工第二次作业)
    第一次个人编程作业
    自我介绍+软工五问
    如何清理 Docker 占用的磁盘空间
    复审与事后分析
    团队作业5——测试与发布(Alpha版本)
    项目冲刺总结集合贴
    团队作业3:需求改进&系统设计
    团队作业2——需求规格说明书
    团队作业1——团队展示&选题
  • 原文地址:https://www.cnblogs.com/superhin/p/13841854.html
Copyright © 2011-2022 走看看