Python 3.x 如何在Python3中使用*args

Python 3.x 如何在Python3中使用*args,python-3.x,Python 3.x,我是python3新手,我有一个学习Python1.0版的副本,我在第45页有这段代码python2的代码,但是当我运行它时,我得到了这个错误:应该是缩进块。有人能解释一下它是怎么出错的吗 def print_two(*args): arg1, arg2 = args print("arg1: %r, arg2: %r" % (arg1, arg2)) python中定义的函数体由缩进确定 因此,您需要: def print_two(*args): arg1, arg2 = args

我是python3新手,我有一个学习Python1.0版的副本,我在第45页有这段代码python2的代码,但是当我运行它时,我得到了这个错误:应该是缩进块。有人能解释一下它是怎么出错的吗

def print_two(*args):
arg1, arg2 = args
print("arg1: %r, arg2: %r" % (arg1, arg2))

python中定义的函数体由缩进确定

因此,您需要:

def print_two(*args):
    arg1, arg2 = args
    print("arg1: %r, arg2: %r" % (arg1, arg2))
缩进告诉python,def行之后的两行是函数体

您得到的错误是告诉您没有定义函数体的缩进行-在def行之后,至少应该有一个缩进行


据我所知,错误与args的使用无关。

您必须缩进函数体:

def print_two(*args):
    arg1, arg2 = args
    print("arg1: %r, arg2: %r" % (arg1, arg2))
Python函数没有Pascal那样的显式开始或结束,也没有C那样的花括号来标记函数代码开始和停止的位置。唯一的分隔符是冒号:以及代码本身的缩进