如何在Python3中使用* args

时间:2017-08-02 09:35:01

标签: python-3.x

我是python3的新手,我有一个学习Python的硬拷贝版本1.0并且我在第45页(python2的代码)中有这个代码但是当我运行它时我得到这个错误:期望一个缩进的块。有人可以解释它是怎么出错的。

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

2 个答案:

答案 0 :(得分:2)

你必须缩进你的功能主体:

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

Python函数没有明确的beginend(就像Pascal一样),并且没有花括号来标记函数代码的起始和停止位置(如C所示)。唯一的分隔符是冒号(:)和代码本身的缩进。

答案 1 :(得分:1)

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

所以你需要:

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

缩进告诉python“def”行后面的两行是函数体。

你得到的错误告诉你没有定义函数体的缩进线 - 在“def”行之后,预计至少有一条缩进线。

据我所知,错误不是与“args”的使用有关。