在没有函数参数的情况下获取函数值 python
Getting values to function without function arguments python
这有点难以解释,所以我感谢你的耐心等待。这就是我进入调试日志 API 得到的结果。我想从一个 444 行长的程序中获取值。问题是,他们都结束了,所以我不能就这样走了:
def func(foo, goo, hoo, joo):
我需要将一个字典、两个整数和一个字符串放入一个名为 strlogger() 的函数中。我需要从另一个名为 ifelogger() 的函数中获取的整数之一。我该怎么做?示例:
import random
def strlogger():
# Get Dictionary, int1, int2, and string
print('Dict: ' + dict,
'int1: ' + int1,
'int2: ' + int2,
'str : ' + string)
def ifelogger():
random.randint(0, 999999999)
函数的调用方式如下:ifelogger()
。如果对我遇到的这个问题有任何简单的(或困难的,我不在乎,只要它有效)解决方案,我将不胜感激。如果您有任何问题,请发表评论。谢谢!
使有趣的变量具有 file-level 范围,而不是隐藏在 function-level 范围内 ...
dict = {}
int1 = 1
int2 = 2
string = 'foo'
def strlogger():
# Get Dictionary, int1, int2, and string
print('Dict: ' + dict,
'int1: ' + int1,
'int2: ' + int2,
'str : ' + string)
def ifelogger():
global int1
int1 = random.randint(0, 999999999)
请注意,如果您在函数内更改全局变量的值(不仅仅是读取它),则必须将其声明为 global
否则 Python 将创建函数的局部变量.
在ifelogger
中设置int1
时,是file-level范围内的int1
变量。这与 strlogger
在打印出值时将看到的相同 int1
。
这有点难以解释,所以我感谢你的耐心等待。这就是我进入调试日志 API 得到的结果。我想从一个 444 行长的程序中获取值。问题是,他们都结束了,所以我不能就这样走了:
def func(foo, goo, hoo, joo):
我需要将一个字典、两个整数和一个字符串放入一个名为 strlogger() 的函数中。我需要从另一个名为 ifelogger() 的函数中获取的整数之一。我该怎么做?示例:
import random
def strlogger():
# Get Dictionary, int1, int2, and string
print('Dict: ' + dict,
'int1: ' + int1,
'int2: ' + int2,
'str : ' + string)
def ifelogger():
random.randint(0, 999999999)
函数的调用方式如下:ifelogger()
。如果对我遇到的这个问题有任何简单的(或困难的,我不在乎,只要它有效)解决方案,我将不胜感激。如果您有任何问题,请发表评论。谢谢!
使有趣的变量具有 file-level 范围,而不是隐藏在 function-level 范围内 ...
dict = {}
int1 = 1
int2 = 2
string = 'foo'
def strlogger():
# Get Dictionary, int1, int2, and string
print('Dict: ' + dict,
'int1: ' + int1,
'int2: ' + int2,
'str : ' + string)
def ifelogger():
global int1
int1 = random.randint(0, 999999999)
请注意,如果您在函数内更改全局变量的值(不仅仅是读取它),则必须将其声明为 global
否则 Python 将创建函数的局部变量.
在ifelogger
中设置int1
时,是file-level范围内的int1
变量。这与 strlogger
在打印出值时将看到的相同 int1
。