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()
原文地址:https://www.cnblogs.com/kangwenju/p/12866477.html