-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、何らかの形でプログラムの他の値が長くなったことです。

edit : 具体的には、プログラム内の他の値が、使用しているライブラリによって返されている可能性があります。

于 2012-07-12T04:24:41.413 に答える