博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python类(八)-类的起源
阅读量:2259 次
发布时间:2019-05-09

本文共 987 字,大约阅读时间需要 3 分钟。

首先用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 = nameif __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

你可能感兴趣的文章
在SCSS文件中导入常规CSS文件?
查看>>
File.separator或File.pathSeparator
查看>>
Android更改浮动操作按钮颜色
查看>>
媒体查询中“屏幕”和“仅屏幕”之间有什么区别?
查看>>
四舍五入到小数点后两位[重复]
查看>>
你如何检查选择器是否匹配jQuery中的内容? [重复]
查看>>
获取当前正在执行的方法的名称
查看>>
在node.js中复制文件的最快方法
查看>>
升级pip后出错:无法导入名称“ main”
查看>>
为什么CSS使用假元素?
查看>>
在Java中哪里可以获得“UTF-8”字符串文字?
查看>>
如何让Git克隆到当前目录
查看>>
从Java 8中的java.util.stream.Stream检索列表
查看>>
如果我针对大小而不是速度进行优化,为什么GCC会生成15-20%的更快代码?
查看>>
在Java中使用分隔符(拆分的对立面)连接数组元素的快速简便方法
查看>>
如何使用CSS更改SVG图像的颜色(jQuery SVG图像替换)?
查看>>
JQuery .each()向后
查看>>
如何从Java中打印XML?
查看>>
Amazon SNS和Amazon SQS有什么区别?
查看>>
在MySQL中的特定列之后添加多个列
查看>>