28-类和实例

类是抽象的模板,用来描述具有相同属性和方法的对象的集合,比如Animal类。 类名通常采用驼峰式命名方式,尽量让字面意思体现出类的作用。

Python使用class关键字来定义类,其基本结构如下:

class 类名(父类列表):
    pass

类的构成

类(class)由3个部分构成

类的名称:类名

类的属性:一组数据

类的方法:允许对进行操作的方法

人类的设计:

事物名称(类名):人(Person)

属性:身高(height)、年龄(age)

方法:跑(run)、吃(eat)

定义一个类

class People:
    # 属性
    # 方法
    def eat(self): 
        print("人在吃....")
    def drink(self):
        print("人在喝.....")

定义类时有2种:新式类和经典类,上面的People为经典类,如果是People(object)则为新式类

类名 的命名规则按照"大驼峰"

创建对象

tom = People()

调用对象的方法

class Cat:
    # 属性
    # 方法
    def eat(self):
        print("猫在吃....")
    def drink(self):
        print("猫在喝")
tom = Cat() 
# 调用tom指向的对象中的方法
tom.eat()
tom.drink()

给对象添加属性

属性简单来说,就是变量。

# 给tom指向的对象添加2个属性
tom.name = "汤姆"
tom.age = 18

获取属性的方法

class Cat:
    # 属性
    # 方法
    def eat(self):
        print("猫在吃....")
    def drink(self):
        print("猫在喝")
    def info(self):
        print("%s的年龄是:%d"%(tom.name,tom.age))
        
tom = Cat()
tom.name = "汤姆"
tom.age = 18

# print("%s的年龄是:%d"%(tom.name,tom.age))
tom.info()
lanmao = Cat()
lanmao.name = "蓝猫"
lanmao.age = 20
lanmao.info()

__init__方法

调用对象时自动执行的一个方法。也称之为魔法方法

class Cat:
    # 初始化对象
    def __init__(self,new_name,new_age):
        self.name = new_name
        self.age = new_age
    # 方法
    def eat(self):
        print("猫在吃....")
    def drink(self):
        print("猫在喝")
    def info(self):
        print("%s的年龄是:%d"%(self.name,self.age))
tom = Cat("汤姆",18)
# tom.name = "汤姆"
# tom.age = 18
tom.info()      

lanmao = Cat()
# lanmao.name = "蓝猫"
# lanmao.age = 20
lanmao.info()

__str__方法

class Cat:
    # 初始化对象
    def __init__(self,new_name,new_age):
        self.name = new_name
        self.age = new_age
        
    def __str__(self):
        return "%s的年龄是:%d"%(self.name,self.age)

    # 方法
    def eat(self):
        print("猫在吃....")
    def drink(self):
        print("猫在喝")
    def info(self):
        print("%s的年龄是:%d"%(self.name,self.age))
tom = Cat("汤姆",18)
print(tom)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 12,296评论 6 13
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,769评论 1 45
  • 1.1面向对象 面向对象(object-oriented ;简称: OO)至今还没有统一的概念 我这里把它定义为:...
    TENG书阅读 633评论 0 0
  • 自己什么时候开始有了面具?什么时候开始有了戴面具的感觉?现在的自己有几副面具?今天倒是很奇怪,莫名情绪使我...
    李_01e2阅读 993评论 0 0
  • 不操作不常看盘,坚持一个星期先
    fengenius阅读 198评论 0 0

友情链接更多精彩内容