首页 > 编程语言 >python-FunctionType动态创建函数,并改变函数名称

python-FunctionType动态创建函数,并改变函数名称

时间:2022-12-20 15:34:28浏览次数:40  
标签:__ 函数 parameters python 动态创建 print foo Parameter name

方法一

  但无法编写foo函数体里面内容

import types

def foo(x,y):
    #print(x,y)
    return 1

x = 1
y = 2
f = types.FunctionType(foo.__code__, {}, name='test_',argdefs=(x,y))
print(f.__name__) print(f(1,2))

 

方法2

from utils.create_function import create_function_from_parameters
from inspect import Parameter, Signature

def foo(arg):
    print(arg)
    return 1


x = 1
y = 2
f = create_function_from_parameters(
            func=foo,
            parameters=[Parameter('x', Parameter.POSITIONAL_OR_KEYWORD),
                        Parameter('y', Parameter.POSITIONAL_OR_KEYWORD),
                        ],
            documentation="some doc",
            func_name="test_",
            func_filename="main.py",
        )
print(f.__name__)
print(f(x,y))

 

标签:__,函数,parameters,python,动态创建,print,foo,Parameter,name
From: https://www.cnblogs.com/shuzf/p/16994251.html

相关文章

  • 解决python无法导入自定义类的问题
    问题:在自定义了类之后,想在另外一个文件导入自定义类,无法导入目录:在class_test.py中自定了类在test.py中导入类A,出现问题解决方法:test.py:importsysimportos......
  • Python3 Robot Framework CustomLibrary 封装系统关键字(使用自定义函数)
    1.创建一个python文件,确认能够执行,放入任意一个目录(如C:\CustomLibrary\helloworld.py)。#-*-coding:utf-8-*-defhi(name):u'''接收一个名字,并问候.例如|......
  • 损失函数
    损失函数-搜索https://cn.bing.com/search?q=损失函数&cvid=0075e43704464319ae9059ddd6c2d08b&aqs=edge..69i57j0l8.46476j0j1&pglt=641&FORM=ANNTA1&PC=U531损失函数......
  • 你可能不知道的 Python 技巧
    英文|​​PythonTipsandTrick,YouHaven'tAlreadySeen​​原作|MartinHeinz(​​https://martinheinz.dev​​)译者|豌豆花下猫声明:本文获得原作者授权翻译,......
  • Python 任务自动化工具 tox 教程
    在我刚翻译完的Python打包​​系列文章​​中,作者提到了一个神奇的测试工具tox,而且他本人就是tox的维护者之一。趁着话题的相关性,本文将对它做简单的介绍,说不定大家在......
  • 2019 年 stackoverflow 网站最受欢迎的 20 个 Python 问题
    在最新一期的“Python开发者周刊”(Pycoder'sweekly)里,我看到一则有意思的分享,故转出来分享给大家。该分享来自是一份”pythonweeklyreports“,统计了2019年里stackoverf......
  • Python 官方团队在打包项目中踩过的坑
    花下猫语:这是packaging系列的第三篇译文,该系列是全网关于此话题的最详尽(水平也很高)的一个系列。原作者是Python官方打包团队成员,是virtualenv和tox项目的维护者,及s......
  • Python 打包——过去、现在与未来
    英文|​​Pythonpackaging-Past,Present,Future​​【1】原作|BERNATGABOR译者|豌豆花下猫声明:本文获得原作者授权翻译,转载请保留原文出处,请勿用于商业或非法......
  • 我的 2019 年 Python 文章榜单
    现在是2020年的第一天,我相信从昨天开始,各位的信息流里肯定充斥了各式各样的年度盘点/回顾/总结/记录之类的内容。虽然来得稍晚了,但我还是想给诸位送上这一篇文章。我将在......
  • Python 3 既是激进的又是克制的,这些提议被否决了
    [译]PEP3099--Python3中不会改变的事情导语:Python3.8已经发布了,引进了不少变更点。关于3.9预计引入的修改,也披露了一些。我们之前还关注过​​GIL的移除计划​​......