在没有函数参数python的情况下获取值

时间:2018-02-21 01:44:09

标签: python function getvalue

这很难解释,所以我感谢你的耐心等待。这是我徘徊在调试日志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()。如果有任何容易(或很难,我不在乎,只要它有效)解决这个问题,我会非常感激。如果您有任何疑问,请发表评论。谢谢!

1 个答案:

答案 0 :(得分:0)

使有趣的变量具有文件级范围,而不是隐藏在函数级范围内...

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时,它是文件级范围内的int1变量。这与int1在打印出值时会看到的strlogger相同。