zoukankan      html  css  js  c++  java
  • 77.创建对象

    创建对象

    python中,可以根据已经定义的类去创建出一个或多个对象。

    创建对象的格式为:

    对象名1 = 类名()
    对象名2 = 类名()
    对象名3 = 类名()

    创建对象demo:

    class Hero(object):  # 新式类定义形式
        """info 是一个实例方法,类对象可以调用实例方法,实例方法的第一个参数一定是self"""
        def info(self):
            """当对象调用实例方法时,Python会自动将对象本身的引用做为参数,
                传递到实例方法的第一个参数self里"""
            print(self) 
            print("self各不同,对象是出处。")
    
    
    # Hero这个类 实例化了一个对象  taidamier(泰达米尔)
    taidamier = Hero()
    
    # 对象调用实例方法info(),执行info()里的代码
    # . 表示选择属性或者方法
    taidamier.info()
    
    print(taidamier)  # 打印对象,则默认打印对象在内存的地址,结果等同于info里的print(self)
    print(id(taidamier))  # id(taidamier) 则是内存地址的十进制形式表示

    说明:

    • 当创建一个对象时,就是用一个模子,来制造一个实物

    问题:

    对象既然有实例方法,是否也可以有自己的属性?

    # def 用来定义一个函数 或者 方法的关键字
    
    # 悟空对象 -> 英雄类 -> 自定义英雄类
    # 格式: class 自定义类名(object):
    # object 是所有类的父类(基类)
    # 自定义类是属于object的子类(派生类)
    # 无论定义的方法 还是属性都存在于类中
    class Hero(object):
    
        # 定义一个方法(对象方法 或者 实例方法)
        def move(self):
            print("英雄会行走")
    
    # 通过类创建一个悟空对象
    # 格式: 变量名(对象名) = 类名()
    wk = Hero()
    # 对象调用其类中的方法
    wk.move()
    
    # 通过类创建一个鲁班对象
    lb = Hero()
    
    # 练习
    class Person(object):
    
        def eat(self):
            print("人在吃饭")
    
    p = Person()
    p.eat()
  • 相关阅读:
    51 nod 1181 质数中的质数(质数筛法)
    Just oj 2018 C语言程序设计竞赛(高级组)F:Star(结构体排序+最小生成树)
    欧拉函数+费马小定理拓展
    ZOJ 3785 What day is that day?(数论:费马小定理)
    Just oj 2018 C语言程序设计竞赛(高级组)H: CBT?
    树链剖分(入门学习)
    bitset用法
    链式前向星
    Nearest Common Ancestors(LCA板子)
    LCA(最近公共祖先)
  • 原文地址:https://www.cnblogs.com/kangwenju/p/12866477.html
Copyright © 2011-2022 走看看