-1

我是 python 新手,我在传递参数时遇到了愚蠢的问题。

class MyClass():

    @staticmethod
    def add_group(name, parent_id):
        print "add_group method, name: %s, parent_id: %s" % (name, parent_id)

其他类方法

def task():
    print "task method, name: %s, group_id: %s" % (name, parent_id)
    MyClass.add_group(name, parent_id)

输出:

task method, name: blabla, group_id: 15

add_group method, name: blabla, parent_id: (15L,)

parent_id 参数发生了什么?任何帮助,将不胜感激!

4

1 回答 1

1

在一种情况下您传入15,在另一种情况下您传入(15L,)(即第一个值为 15L 的元组,即 long(15) 或表示 15 的任意精度数。)

当数字变成非常大的值(例如 10**20)时,数字自然会转换为 long,但在这种情况下它非常小;我能想到的唯一方法会让你得到一个你没有预料到的时间是做类似的事情10**20 - 10**20 + 15,或者你的程序中的其他一些价值是很长的。

编辑:具体来说,您正在使用的库可能会返回程序中的其他值。

于 2012-07-12T04:24:41.413 回答