繁体   English   中英

分配全局变量V分配Python中的函数属性

[英]Assigning global variables V assigning function attributes in Python

我想出了两种分配全局变量的方法。

第一种方法将属性分配给函数。

第二种方法更改全局变量名称。

我将在基于文本的冒险游戏中实现这一点。

哪种方法最适合我的任务,为什么?

这是代码。

# Method 1. Assigning attributes to function.

def coin():
    print "You see a coin. Pick it up?"

    choice = raw_input("> ")

    if choice == "yes":
        coin.amount = coin.amount + 1
        print coin.amount
    elif choice == "no":
        print "No monies for you."


# Method 2. Assigning global name within function. 

def coin2():
    global purse
    print "You see a coin. Pick it up?"

    choice = raw_input("> ")

    if choice == "yes":
        purse = purse + 1
        print purse
    elif choice == "no":
        print "No monies for you."

coin.amount = 0
coin()

purse = 0
coin2() 

都不行 将硬币金额作为参数传递,然后返回修改后的值。 现在,您根本不需要全局变量或函数属性。

def coin3(amount):
    print "You see a coin. Pick it up?"

    choice = raw_input("> ")

    if choice == "yes":
        amount += 1
        print amount
    elif choice == "no":
        print "No monies for you."
    return amount

x = 0
x = coin3(x)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM