首页 > 其他分享 >10月17日元类回顾

10月17日元类回顾

时间:2023-10-17 14:47:42浏览次数:31  
标签:10 17 exec Python 代码 except 日元 元类 type

目录

元类回顾

1.什么是元类?

​ 能够实例化产生类的类,就叫元类

​ 所有类的元类是type

​ 自己定义一个类就需要让这个类继承type

2.class关键字底层原理

​ 底层的原理:调用type这个类里面的初始化方式来生成一个类对象(这体现了一切皆对象这个思想)

3.exec方法

exec 是 Python 中的一个内置函数,它用于执行动态生成的 Python 代码。它的作用是在运行时执行字符串中包含的 Python 代码

格式为:

exec(code, globals=None, locals=None)
  • code 是包含要执行的 Python 代码的字符串。
  • globalslocals 是可选的命名空间参数,用于指定全局和局部命名空间。通常情况下,你可以传递 globals()locals() 函数的返回值,分别表示当前的全局和局部命名空间。

举一个简单的例子我的用户输入一个函数然后执行它

这里要用到try和except的组合

try关键字开启一个异常处理块。代码中出现了异常,例如语法错误或其他运行时错误,Python会引发异常。这时,控制权会转移到except块。except块中,我们可以处理异常,通常是打印出错误信息。

#这里定义要被执行的代码
def read():
    print('看书学习')
# 用户输入一段Python代码
stu = input("请输入一段Python代码: ")

try:
    # 使用exec来执行用户输入的代码
    exec(stu)
except Exception as e:
    # 如果有异常,打印错误信息
    print(f"出现错误: {e}")

结果如图

上面我输入函数的名然后它就执行了和解释器的差不多所以也可以当成python解释器

自定义元类

如何自己定义一个元类呢?

让类继承type即可

class Mytype(type):
    pass

此时Mytype就是元类了,同时类在生成对象时它的初始化方法都来着元类,也就是说我用自己的定义的元类去生成类对象时,没有设计初始化这个方法,这个类对象就会使用type里面的初始化方法

标签:10,17,exec,Python,代码,except,日元,元类,type
From: https://www.cnblogs.com/slzjb/p/17769615.html

相关文章

  • 10-16 NOIP模拟赛
    10-16NOIP模拟赛这周末就要去考CSP-S啦!!!所以改变答题策略,放弃之前死磕第一题正解的做题方法,以暴力为主,得分为主,思考出正解认为能得分后才写。然后发现把第一题暴力打了以后,正解也浮出水面了。明天继续尝试,然后注意休息,一定要保持良好睡眠。T1购买饮料(buy)题目描述你要......
  • [910] Copy a file to another directory with a new name in Python
    TocopyafiletoanotherdirectorywithanewnameinPython,youcanusetheshutillibrary.Here'showyoucandoit:importshutil#Specifythesourcefilepathsource_file='path/to/source/file.txt'#Specifythedestinationdirect......
  • MBR20100CT-ASEMI肖特基MBR20100CT参数、规格、尺寸
    编辑:llMBR20100CT-ASEMI肖特基MBR20100CT参数、规格、尺寸型号:MBR20100CT品牌:ASEMI芯片个数:2封装:TO-220恢复时间:>50ns工作温度:-65°C~175°C浪涌电流:150A正向电流:10A反向耐压:100V正向压降:0.8V引脚数量:3MBR20100CT特性:ASEMI品牌MBR20100CT是采用工艺芯片,该芯片具有良好的稳定性及抗冲......
  • centos 6.10 安装 python3.10.5 和 openssl1.1.1
    centos6.10安装python3.10.5和openssl1.1.1安装opensslcentos6.10自带的openssl版本太老了,要安装1.0.2以上的版本。如果不安装openssl,python的pip无法联网。下载wgethttps://link.juejin.cn/?target=https%3A%2F%2Fwww.openssl.org%2Fsource%2Fopenssl-1.1.1......
  • Eplan P8 2.7 Win10 x64 安装小结
     一、软件安装准备及过程为免版权纠纷,此处不提供下载链接,请自行查找资源。  1、打开“ElectricP82.7.3.11418”目录,以管理员身份运行“setup.exe”开始安装步骤执行。  2、弹出程序变量选择界面,鼠标左键单击“继续”按钮,进入下一步操作。 3、弹出许可协议界......
  • MBR20100CT-ASEMI肖特基MBR20100CT参数、规格、尺寸
    编辑:llMBR20100CT-ASEMI肖特基MBR20100CT参数、规格、尺寸型号:MBR20100CT品牌:ASEMI芯片个数:2封装:TO-220恢复时间:>50ns工作温度:-65°C~175°C浪涌电流:150A正向电流:10A反向耐压:100V正向压降:0.8V引脚数量:3MBR20100CT特性:ASEMI品牌MBR20100CT是采用工艺芯片,该芯片具有良......
  • 【2023潇湘夜雨】WIN11_Pro_Dev_23565.1000软件选装纯净版10.16
    【系统简介】=============================================================1.本次更新母盘来自WIN11_Pro_Dev_23565.1000。2.增加部分优化方案,手工精简部分较多。3.OS版本号为23565.1000。精简系统只是为部分用户安装,个别要求高的去MSDN下。4.集成《DrvCeo-2.13.0.8》网卡版、运......
  • FX110网:最新警示名单公布!远离无牌克隆黑户
    为了保护投资者的资金安全,除了日常警惕诈骗团伙的各种圈套,外汇110网每周会将全球各大监管机构发布的各类警告和处罚信息进行梳理整理,方便大家查阅。法国AMF警告名单10月12日,法国金融市场管理局(AMF)更新了外汇交易商警告名单,共有5个交易商的网址被列入黑名单。英国FCA上周对64家未......
  • 叮!你有一份1024程序员节的通关秘籍待查收!
    突破性的变革往往源自一瞬间面对大模型的挑战你,或许也能成为下一个关键人物值此1024程序员节之际文心大模型携手飞桨以“超级码力碰撞未来”为主题,发起4大活动准备了一场专属于开发者们的惊喜盛会带你通关,碰撞未来!一起度过一个快乐而又充实的程序员节!AIShow·碰撞出创意10......
  • 2023年10月DAMA-CDGP数据治理专家认证报名来这
    DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业竞争能力。DAMA是数据管理方面的认证,帮助数据从业者提升......