Python中的多个返回值以避免全局

Python中的多个返回值以避免全局,python,return-value,Python,Return Value,我可以浏览下面的代码,通过从设置函数返回多个值,然后从main函数将它们传递给各种其他函数,避免使用全局变量 我以前从未见过这种编码风格。这是避免在Python程序中使用全局变量的好方法吗 是否存在任何潜在的不利因素?是“蟒蛇”吗 SPACE='''#为空间命名的常量 def InputMaxNumberOfSymbols(): 数字=0 当数字%2==0时: 打印(“基础有多少个符号?”) Number=int(输入(“输入奇数:”) 返回号码 def SetValues(): Symbol=

我可以浏览下面的代码,通过从设置函数返回多个值,然后从
main
函数将它们传递给各种其他函数,避免使用全局变量

我以前从未见过这种编码风格。这是避免在Python程序中使用全局变量的好方法吗

是否存在任何潜在的不利因素?是“蟒蛇”吗

SPACE='''#为空间命名的常量
def InputMaxNumberOfSymbols():
数字=0
当数字%2==0时:
打印(“基础有多少个符号?”)
Number=int(输入(“输入奇数:”)
返回号码
def SetValues():
Symbol=输入(“您想使用什么符号?”)
MaxSymbols=InputMaxNumberOfSymbols()
空格=(MaxSymbols+1)//2
符号=1
返回符号、最大符号、空格、符号
def输出字符(数字、符号):
对于范围内的计数(数字):
打印(符号,结束=“”)
def调整值角列(空格、符号):
空格=空格-1
符号=符号+2
返回空格、符号
def main():
ThisSymbol、MaxNumberOfSymbols、NumberOfSpaces、NumberOfSymbols=SetValues()

而许多符号显然是如此。在任何语言中都应该避免使用全局变量。返回多个值不仅是避免全局变量的常见做法。
SPACE = ' '  # constant to give a space a name


def InputMaxNumberOfSymbols():
    Number = 0
    while Number % 2 == 0:
        print("How many symbols make the base?")
        Number = int(input("Input an odd number: "))
    return Number


def SetValues():
    Symbol = input("What symbol do you want to use? ")
    MaxSymbols = InputMaxNumberOfSymbols()
    Spaces = (MaxSymbols + 1) // 2
    Symbols = 1
    return Symbol, MaxSymbols, Spaces, Symbols


def OutputChars(Number, Symbol):
    for Count in range(Number):
        print(Symbol, end='')


def AdjustValuesForNextRow(Spaces, Symbols):
    Spaces = Spaces - 1
    Symbols = Symbols + 2
    return Spaces, Symbols


def main():
    ThisSymbol, MaxNumberOfSymbols, NumberOfSpaces, NumberOfSymbols = SetValues()
    while NumberOfSymbols <= MaxNumberOfSymbols:
        OutputChars(NumberOfSpaces, SPACE)
        OutputChars(NumberOfSymbols, ThisSymbol)
        print()  # move to new line
        NumberOfSpaces, NumberOfSymbols = AdjustValuesForNextRow(NumberOfSpaces, NumberOfSymbols)


main()