Python类(八)-类的起源

首先用type()看一下类和实例化对象的类型

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR"

class Person(object):
    def __init__(self, name):
        self.name = name

    def eat(self):
        print('%s is eating'%self.name)

if __name__ == '__main__':
    p = Person('John')
    print(type(p))
    print(type(Person))

运行结果

Person类是一个类,也是一个实例化的对象,是type类的一个实例化对象

定义类有两个方法

一个是常见的

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR"

class Person(object):
    def __init__(self, name):
        self.name = name

    def eat(self):
        print('%s is eating'%self.name)

if __name__ == '__main__':
    p = Person('John')
    p.eat()

还有一个是很少见到的方法

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR"

def eat(self):
    print('%s is eating'%self.name)

def init(self, name):
    self.name = name

if __name__ == '__main__':
    Person_1 = type("Person_1",(object,),{'__init__':init,'eat':eat})
    p1 = Person_1('Jack')
    p1.eat()

直接通过type类实例化生成一个对象,同时也是一个类

第一个参数为类名,第二个参数为当前类的基类,第三个参数为类的方法

原文地址:https://www.cnblogs.com/sch01ar/p/8372401.html