首页 > 编程语言 >python如何创建类

python如何创建类

时间:2024-10-21 19:46:24浏览次数:3  
标签:__ name python 创建 self 如何 type class

python里,类是面向对象的基础。

第一种创建类的方法:class关键字

#第一种方法创建类
class A(object):
 
    def __init__(self, name):
        self.name = name
 
f = A("lkk")

这样就简单完成了一个A类的创建,我们尝试打印一下f的类型:

print(type(f))  #打印f的类型,结果是A(我们写的class A)

结果为:

<class '_main_.A'>

我们不妨在打印一下A的类型:

print(type(A))    #不妨再打印一下A的类型,居然是type

会发现结果是:

<class 'type'>

总结一下:type就是类的类

类的类,也就是元类。元类就是用来创建类的“东西”。你创建类就是为了创建类的实例对象,不是吗?Python中的类也是对象。元类就是用来创建这些类(对象)的,元类就是类的类。

第二种创建类的方法:type动态创建类

type有一个方法:type(类名,父类名,方法名(字典形式))用来动态创建类

三个参数具体内容:

·第一个参数:要创建的class的名称;

·第二个参数:继承的父类集合,Python支持多重继承,如果只有一个父类,写(obj,);

·第三个参数:class的方法名字典,字典内容为‘类里面方法名称’:‘写好的函数名称’,创建之后使用类方法名称调用。

举个例子:

#第二种方法创建类
 
def func(self):    #第一个方法
    print('hello %s'%self.name)
 
def __init__(self,name,age):    #初始化方法
    self.name = name
    self.age = age
 
#type('叫什么的类','继承谁','它里面有哪些方法')
 
Foo = type('Foo', (object,), {'talk':func,
                              '__init__':__init__})
 
 
f = Foo('lkh','20')
f.talk()
print(type(Foo))

等同于:

class Foo(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age
 
    def func(self):
        print('hello %s' % self.name)

标签:__,name,python,创建,self,如何,type,class
From: https://blog.csdn.net/hakesashou/article/details/143128255

相关文章

  • python基于深度学习算法的手写汉字识别-带UI界面-包环境配置运行
    1)项目基本介绍网络:深度学习CNN网络简单搭建的CNN网络环境:python>=3.5tensorflow2opencvpyqt5文件:训练预测全部源代码、训练好的模型、数据集可对20个汉字进行识别检测,配置好环境即可使用。......
  • 深度学习CNN算法狗类识别系统01-python带pyqt5界面数据集包配置
    项目基本介绍:【算法】深度学习CNN网络xception算法网络【环境】python=3.8pytorchopencvpyqt5matplotlib(含详细环境配置教程视频)【文件】训练、预测全部源代码、训练好的型、数据集、模型评价指标:训练acc/loss曲线图和混淆矩阵图、UI界面源码及源文件、环境配置教程视......
  • 云渲染与3D视觉效果如何影响珠宝行业!
    3D渲染技术在珠宝行业的应用正迅速增长,2023年已带来数亿元收益,预计2024年将继续保持增长态势。珠宝品牌正越来越多地采用3D可视化技术来提升产品展示,以在激烈的市场竞争中占据优势。云渲染技术不仅提升了渲染效率,还降低了成本,同时保持输出质量。这种技术尤其在珠宝设计领域表现出......
  • 如何远程备份Android :保护您的数据
    为了方便工作和生活,许多创新方案不断涌现。如今,许多用户希望远程备份他们的Android手机,但并非所有Android手机都支持这一功能。简单来说,Android设备中的编码是决定用户能否进行远程备份的关键因素之一。同时,这也决定了用户是否可以利用第三方软件来实现远程备份。 本文将介......
  • 内网穿透:如何借助Cloudflare连接没有公网的电脑的远程桌面(RDP)
    内网穿透:如何借助Cloudflare连接没有公网的电脑的远程桌面(RDP)-含详细原理配置说明介绍前言远程桌面协议(RDP,RemoteDesktopProtocol)可用于远程桌面连接,Windows系统(家庭版除外)也是支持这种协议的,无需安装额外客户端即可实现类似向日葵、toDesk等的远程桌面访问与控......
  • GPT+Python)近红外光谱数据分析与定性/定量建模技巧
    2022年11月30日,可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT3.5,将人工智能的发展推向了一个新的高度。2023年4月,更强版本的ChatGPT4.0上线,文本、语音、图像等多模态交互方式使其在各行各业的应用呈现了更多的可能性。2023年11月7日......
  • python中.py文件读取except的封装方法
    #coding:utf-8importxlrdclassExcelUtil():def__init__(self,excelPath,sheetName):self.data=xlrd.open_workbook(excelPath)self.table=self.data.sheet_by_name(sheetName)#获取第一行作为key的值self.keys=self.table......
  • 国标GB28181视频平台EasyCVR私有化部署视频平台偏远地区如何解决视频监控的需求
    一、背景需求在一些偏远地区,也具有视频监控的需求。但是这类场景中,一般无法就近获取市电,如果要长距离拉取市电,建设的成本非常高且长距离传输有安全隐患,因此风光互补远程视频监控方案的需求也较多。利用风光电转化原理为偏远或无电区域的视频监控设备提供电力供应,从而满足偏远地区......
  • CANoe_C#如何调用CANoe的诊断
    官网说明书位置1.引言CANoe的简介CANoe是由VectorInformatikGmbH开发的一款强大工具,广泛应用于汽车网络的开发和测试。它支持多种协议,包括CAN、LIN、FlexRay和Ethernet(如SOME/IP和DoIP)。CANoe不仅提供了图形用户界面(GUI)来配置和监控网络,还支持通过脚本和自动化API进行扩......
  • 安全生产标准化综合管理平台是什么样的?如何做好安全生产标准化?
    我国安全生产标准化体系由国家一系列详尽而全面的规定构成,旨在全方位提升企业的安全生产管理水平,确保生产活动在安全的环境下进行。核心在于《企业安全生产标准化基本规范》(GB/T33000-2016),该规范明确了企业建立、保持与评定安全生产标准化管理体系的原则、一般要求以及八个......