【问题标题】:Assigning module function returns分配模块函数返回
【发布时间】:2013-12-03 06:55:42
【问题描述】:

我对 Python 比较陌生。我正在编写一个脚本,它将在字符串中找到的数字的数字表示重新分配给它的字母对应部分。因为函数比较大,所以我把它作为一个模块添加到脚本中。

我在从导入的函数中取回对象时遇到了一些问题。我想使用返回的对象,但它似乎返回为无。我研究了全局变量,但我不知道这是否是正确的方向。

这是我一直在使用的:

...
import numassign
for i in CharacterKey: # i is '0'
    if i.isdigit():        
        FoundInt = numassign.NumberAssignment(input = i)
        CharacterKeyList.append(FoundInt)
        raw_input('{} reassigned to {}'.format(FoundInt, i))
    else:
        CharacterKeyList.append(i)
...

这里是引用的模块(numassign):

...
def NumberAssignment(input):
    if input == 0:
        FoundInt = 'Zero'
        return FoundInt
...

当前将 FoundInt 返回为 None。

None reassigned to 0

如何从模块函数中交叉引用对象?如果我可以从引用的模块中导入它们,我宁愿不要用函数将代码弄乱。

【问题讨论】:

  • 不要编辑您的问题以包含解决方案。只需接受答案即可表明问题已解决。
  • 直到现在我都无法接受答案。从现在开始我会的。

标签: python function global-variables python-module


【解决方案1】:

你正在测试一个整数,输入一个字符串。

它们可能打印相同,但整数和字符串在 Python 中永远不会测试为相等。改为测试字符串:

if input == '0':

因为您的if input == 0input = '0' 失败,所以您的函数永远不会到达return 语句,而是让Python 返回默认的None

【讨论】:

  • 当然。这就是为什么它返回无。我会正确测试它。
  • 感谢您打破纪录的回应。正确返回对象。在原始帖子中添加了代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-30
  • 2014-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多