当前位置: 首页 > article >正文

Python - 获取当前函数中的所有参数信息(名称和值)

代码

import inspect
import random


class P:
    def start(self, p1, p2, p3=None, p4=None):
        arg_info = inspect.getargvalues(inspect.currentframe())
        kwargs = arg_info.locals  # 获取到所有参数
        print(kwargs)
        del kwargs["self"]

        try:
            self._start(**kwargs)
        except Exception as e:
            print("Failed:", e)

    def _start(self, p1, p2, p3=None, p4=None):
        assert random.randint(1, 10) > 5, "~_~"
        print("Success:", [p1, p2, p3, p4])


if __name__ == '__main__':
    p = P()
    p.start(1, 2)


http://www.kler.cn/a/454108.html

相关文章:

  • yolov5及其算法改进
  • uniapp使用live-pusher实现模拟人脸识别效果
  • 文档解析丨高效准确的PDF解析工具,赋能企业非结构化数据治理
  • 机器人C++开源库The Robotics Library (RL)使用手册(三)
  • STM32-笔记17-PWM波型
  • Blender真实灰尘粒子动画资产预设 Dust Particles Pro V1.2
  • 【Rust自学】7.3. 路径(Path)Pt.2:访问父级模块、pub关键字在结构体和枚举类型上的使用
  • Redis基础知识分享(含5种数据类型介绍+增删改查操作)
  • c#自定义事件
  • 2023年软件产业报告|2023年我国软件业经济运行情况及未来发展趋势预期
  • 【论文阅读笔记】Scalable, Detailed and Mask-Free Universal Photometric Stereo
  • 数据库系统概论
  • ctfshow-web入门-文件包含(web82-web86)条件竞争实现session会话文件包含
  • Llama3.370B超越GPT-4o和Claude3.5 Sonnet
  • 从随机生成到深度学习:使用DCGAN和CycleGAN生成图像的实战教程
  • Android 开发中自定义Toast
  • Metricbeat安装教程——Linux——Metricbeat监控ES集群
  • 从安全角度看 SEH 和 VEH
  • 软件测试之Android-sdk环境搭建
  • 网络安全top国际会议
  • C#数学相关开发性能优化方法
  • [计算机网络]RIP协议
  • CMake 构建项目并整理头文件和库文件
  • 设计一个监控摄像头物联网IOT(webRTC、音视频、文件存储)
  • ios按键精灵自动化的脚本教程:自动点赞功能的实现
  • 几个网络故障排除案例