首页 > 编程语言 >python中的反射

python中的反射

时间:2024-12-11 21:32:53浏览次数:12  
标签:反射 python self Instance https print method

cProfile.run('re.compile("foo|bar")', 'restats')

https://docs.python.org/3/library/profile.html

import cProfile
import re
cProfile.run('re.compile("foo|bar")')

 

这段python的闪耀点是环境感知能力

 

exec

查看实现, 其调用的是python的built-in 接口 exec

https://docs.python.org/3/library/functions.html#exec

 

Python's exec(): Execute Dynamically Generated Code

https://realpython.com/python-exec/

 

Java 反射(Reflection)

类似java中的发射机制

https://www.runoob.com/java/java-reflection.html

 

python中也有发射

https://www.cnblogs.com/vipchenwei/p/6991209.html

 

class A: 
def __init__(self): 
self.name = 'zhangjing'
#self.age='24'
def method(self): 
print"method print"
  
Instance = A() 
print getattr(Instance , 'name, 'not find') #如果Instance 对象中有属性name则打印self.name的值,否则打印'not find'
print getattr(Instance , 'age', 'not find') #如果Instance 对象中有属性age则打印self.age的值,否则打印'not find'
print getattr(a, 'method', 'default') #如果有方法method,否则打印其地址,否则打印default 
print getattr(a, 'method', 'default')() #如果有方法method,运行函数并打印None否则打印default 

 

标签:反射,python,self,Instance,https,print,method
From: https://www.cnblogs.com/lightsong/p/18600766

相关文章

  • Python单元测试:构建稳健代码的关键
    引言在软件开发中,测试是确保代码质量和可靠性的必要环节。单元测试是验证单个组件或模块是否按预期工作的测试方法。它通过自动化测试来检验每个功能模块的正确性,帮助团队及早发现和修复潜在的问题。本文将深入探讨Python中的单元测试,包括如何编写和运行测试、常用的测试框架......
  • Python社区邻里互助便民平台 16gm(Pycharm Flask Django Vue mysql)
    文章目录项目介绍具体实现截图开发技术设计思路开发与测试:核心代码部分展示文章目录/协作提纲源码/演示视频获取方式项目介绍社区互助平台的功能分为管理员和用户两个部分,系统的主要功能包括首页,个人中心,用户管理,租房信息管理,失物招领管理,宠物代遛管理,停车位出租管......
  • 基于yolov8的车牌检测与识别系统,支持图像、视频和摄像实时检测【pytorch框架、python
       更多目标检测、图像分类识别、目标追踪等项目可看我主页其他文章功能演示:基于yolov8的车牌检测与识别系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】_哔哩哔哩_bilibili(一)简介基于yolov8的车牌检测与识别系统在pytorch框架下实现的,这是一个完整的项目......
  • VSCode中Python文件的自动格式化
    Python文件的自动格式化首先随便打开一个项目,创建一个[[Python]]文件按Shift+Alt+F,会进行格式化,不出意外会出现下图:那么就去安装坑点就在这,会出现很长一串,然后发现都不是是一个叫BlackFormatter的插件,装完之后再Shift+Alt+F会出现下面这个点击配置出现这个,选就OK了如果......
  • 【最新原创毕设】基于SpringBoot的学生选课管理系统+56695(免费领源码)可做计算机毕业设
    基于Springboot和Vue的学生选课管理系统的设计与实现摘 要本文介绍了一种基于SpringBoot和Vue的学生选课管理系统的设计与实现。该系统旨在提供一个高效、可靠的选课平台,使学生和教职工能够方便地进行课程选择和管理。在系统设计上,我们采用了SpringBoot作为后端框架,利用......
  • (2024最新毕设合集)基于的同城学校二手交易平台|可做计算机毕业设计JAVA、PHP、爬虫、AP
    同城学校二手交易平台设计与实现摘 要利用SpringBoot框架和相关Uni-app技术,设计和实现一个高效、可靠的同城学校二手交易平台。该系统将提供闲置、发布、求购等主要功能,旨在促进二手交易平台的便捷和透明化。本研究首先介绍了同城学校二手交易平台的研究背景和现状,包括同城......
  • 浅谈Python+requests+pytest接口自动化测试框架的搭建
    框架的设计思路首先要明确进行接口自动化需要的步骤,如下图所示: 然后逐步拆解需要完成的工作:1)了解分析需求:了解接口要实现的功能2)数据准备:根据开发文档确定接口的基本情况,知晓接口的url、请求方式、入参等信息,然后根据业务逻辑以及入参来预期接口的输出需要有一个配置文件来......
  • Python使用Selenium库获取 网页节点元素、名称、内容的方法
    我们要用到一些网页源码信息,例如获取一些节点的class内容,除了使用Beautifulsoup来解析,还可以直接用Selenium库打印节点(元素)名称,用来获取元素的文本内容或者标签名。例如获取下面的class的内容:以下是几种常用的方法:1.获取元素的属性值:使用元素的.get_attribute('attri......
  • 记录一种校验方式-crc16(python+C语言)
    此篇文章在2023年3月24日被记录最近在写boot升级代码时,需要上位机发送固件包到下位机,因为固件包太大,因此需要分包发送,分包发送涉及到校验问题,特意对crc16校验方法进行记录计算方法预置1个16位的寄存器为十六进制FFFF(即全为1,我称为种子);称此寄存器为CRC寄存器;把第一个8位二......
  • 计算机毕业设计必看必学!90676,基于协同过滤推荐的流媒体电影推荐系统~原创定制程序单片
    基于协同过滤推荐的流媒体电影推荐系统摘 要本文介绍了一个基于Django的流媒体电影推荐系统的设计与实现。该系统旨在提供一个高效、个性化的电影推荐平台,满足用户对电影观看的需求。通过收集用户的观影历史、喜好和评价等数据,系统使用协同过滤算法分析用户的行为模式,并......