Python使用type关键字创建类步骤详解

yipeiwu_com6年前Python基础

Python使用type关键字创建类

打开命令行窗口,输入python,进入python交互环境

python

一般创建类使用class关键字即可,测试命令如下:

class Coo:

  pass

obj1 = Coo()

print (obj1)

c = Coo

obj2 = c()

print (obj2)

type关键字可以动态的创建类,接收参数(类名,父类元组,属性的字典),如创建一个类,没有父类,没有属性,命令如下:

Test = type('Test',(),{})

print (Test)

t = Test()

print (t)

接收type函数返回的变量可以是任意命令,传入type的才是类名,变量只是类的引用

使用type创建有属性的类,命令如下:

Test = type('Test2',(),{'hi':True})

print (Test)

print (Test.hi)

t = Test()

print (t.hi)

使用type创建并继承的类

Test3 = type('Test3',(Test,),{})

t = Test3()

print (t.hi)

使用type创建带实例方法的类,命令如下:

def echo(self):

  print (self.hi)

Test4 = type('Test4',(Test,),{'echo':echo})

hasattr(Test,'echo')

hasattr(Test4,'echo')

使用type创建带静态方法,命令如下:

@staticmethod

def staticm():

  print ('staticm')

Test5 = type('Test5',(Test,),{'echo':echo,'staticm':staticm})

t = Test5()

t.staticm()

使用type创建带类方法的类,命令如下:

@classmethod

def classm(cls):

  print (cls.hi)

Test6 = type('Test6',(Test,),{'echo':echo,'staticm':staticm,'classm':classm})

Test6.classm()

以上就是相关Python如何使用type关键字创建类的全部内容,感谢大家对【听图阁-专注于Python设计】的支持。

相关文章

python读取.mat文件的数据及实例代码

首先导入scipy的包 from scipy.io import loadmat 然后读取 m = loadmat("F:/__identity/activity/论文/data/D00...

解决新django中的path不能使用正则表达式的问题

新版的path 虽然 取代了 之前的url,但是在写路由的时候不能在路由中直接写正则表达式,不然会找不到页面。 解决方法 使用re_path from django.urls imp...

Python中GeoJson和bokeh-1的使用讲解

Python中GeoJson和bokeh-1的使用讲解

GeoJson 文档 { "type": "FeatureCollection", "features": [ { "geometry": { "type":...

Python多线程实例教程

本文以实例形式较为详细的讲解了Python的多线程,是Python程序设计中非常重要的知识点。分享给大家供大家参考之用。具体方法如下: 用过Python的人都会觉得Python的多线程很...

Django ORM 自定义 char 类型字段解析

Django ORM 自定义 char 类型字段解析

用 CharField 定义的字段在数据库中存放为 verchar 类型 自定义 char 类型字段需要下面的代码: class FixedCharField(models.Fie...