首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何添加内置函数?

如何添加内置函数?
EN

Stack Overflow用户
提问于 2011-08-06 13:55:58
回答 3查看 12.3K关注 0票数 18

我是python编程的新手。如何使用C或C++向python解释器添加新的内置函数和关键字?

EN

回答 3

Stack Overflow用户

发布于 2019-12-17 17:12:29

对于Python3.6及更高版本,请使用import builtins

代码语言:javascript
运行
复制
# example 1

import builtins

def f():
    print('f is called')

builtins.g = f

g() # output = f is called

####################################
# example 2

import builtins

k = print

def f(s):
    k('new print called : ' + s)

builtins.print = f

print('abc') # output = new print is called abc
票数 4
EN

Stack Overflow用户

发布于 2021-06-10 00:30:56

虽然David Wolever的答案是完美的,但需要再次注意的是,发问者是Python的新手。基本上,他想要的是一个全局函数,这可以通过两种不同的方式来完成……

  1. 在模块中定义函数并使用它。
  2. 在不同的模块中定义函数并使用"from module import *“语句导入它。

我认为发问者的解决方案是第二种选择,任何刚接触Python的人都应该考虑同样的问题。

对于高级用户,我同意Wolever的建议,即在内置模块中插入新函数不是一个好主意。然而,用户可能正在寻找一种方法来避免在项目中的每个脚本中导入经常使用的模块。这是一个有效的用例。当然,这些代码对于不是项目一部分的人来说是没有意义的,但这不应该是一个问题。无论如何,这些用户应该查看PYTHONSTARTUP环境变量。我建议在Python文档的索引中查找它,并查看与此环境变量相关的所有链接,看看哪个页面适合您的目的。然而,此解决方案仅适用于交互模式,而不适用于子主脚本。

对于一个全面的解决方案,请查看我已经实现的这个函数:https://drive.google.com/file/d/19lpWd_h9ipiZgycjpZW01E34hbIWEbpa/view

还有另一种方式是扩展嵌入 Python,这是一个相对复杂的主题。最好在上面阅读Python文档。对于基本用户,我想说的是...

Python扩展意味着向interpreter.

  • Embedding中添加新的内置模块,即在application.

中插入

  • 解释器

而且高级用户已经知道他们在做什么了!

票数 0
EN

Stack Overflow用户

发布于 2021-12-10 13:22:30

您可以使用builtins模块。

示例1:

代码语言:javascript
运行
复制
import builtins

def write(x):
    print(x)

builtins.write = write

write("hello")

# output:
# Hello

示例2:

代码语言:javascript
运行
复制
import builtins

def hello(*name):
    print(f"Hello, {' '.join(name)}!")

builtins.hello = hello

hello("Clark", "Kent")

# output:
# Hello, Clark Kent!
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6965090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档