社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

在python中重命名命名参数以避免命名与import语句冲突

romeovs • 5 年前 • 1497 次点击  

假设我有一个函数 foo 在具有命名参数的大型python项目中 bar 以下内容:

def foo(bar=42):
  do_something_with_bar(bar)

在代码库中,在使用或省略 酒吧 参数。

现在假设我正在更改这个函数,因为它有一个bug,并且希望开始使用某个包中的函数,这个包碰巧也被调用 酒吧 是的。我不能用 酒吧 当我像这样导入时的函数:

from package import bar

def foo(bar=42):
  # how can I use the package.bar function here?
  do_something_with_bar(bar)

我可以用这样的东西:

from package import bar as package_bar

但是这个文件也包含了很多调用 酒吧 所以这是不允许的。

我能看到这个工作的唯一方法是将 酒吧 方法来自 package 以下内容:

from package import bar
package_bar = bar

def foo(bar=42):
  do_something_with_bar(package_bar(bar))

或者多次导入(未测试):

from package import bar, bar as package_bar

def foo(bar=42):
  do_something_with_bar(package_bar(bar))

有什么办法我可以重新命名 酒吧 中的参数 函数,而不调用 整个代码库中的函数中断?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/47116
 
1497 次点击  
文章 [ 5 ]  |  最新文章 5 年前