Python函数无法在命令行上运行

时间:2019-01-06 00:53:45

标签: python python-3.x printing command-line-interface

我无法在终端中执行python。

我的文件名为ex18.py,我正在使用python 3.7。

要运行我的功能,请在终端上编写以下内容:

$ python3.7 ex18.py

这是我的代码的样子:

def print_two(*args):
    arg1, arg2 = args
    print(f"arg1: {arg1}, arg2: {arg2}")

def print_two_again(arg1, arg2):
    print(f"arg1: {arg1}, arg2: {arg2}")

def print_one(arg1):
    print(f"arg1: {arg1}")

def print_none():
    print("I got nothing.")

    print_two("Zed", "Shaw")
    print_two_again("Zed","Shaw")
    print_one("First!")
    print_none()

我希望在终端上运行它时看到以下内容:

arg1: Zed, arg2: Shaw
arg1: Zed, arg2: Shaw
arg1: First!
I got nothing.

2 个答案:

答案 0 :(得分:3)

最后四行缩进,因此它们与print("I got nothing.")行属于同一块,即它们位于print_none()函数内部。

提醒一下,python中的缩进是语法的一部分,表示代码块(但是空行只是空行)。

要使代码正常工作,只需取消缩进这些行

答案 1 :(得分:1)

在python中,您可以定义函数,这些函数一旦被调用即为代码段。最后四行似乎调用了较早定义的函数,但是当前它们是缩进的,这意味着它将作为缩进的代码块的一部分运行(因此,这些行是print_none函数的一部分)。

对于计算机,这意味着您已定义了四个功能,但尚未调用其中任何一个。结果,计算机将不会运行任何功能。尝试使用以下代码来运行上述功能。请注意最后四行的缩进。

def print_two(*args):
    arg1, arg2 = args
    print(f"arg1: {arg1}, arg2: {arg2}")

def print_two_again(arg1, arg2):
    print(f"arg1: {arg1}, arg2: {arg2}")

def print_one(arg1):
    print(f"arg1: {arg1}")

def print_none():
    print("I got nothing.")

print_two("Zed", "Shaw")
print_two_again("Zed","Shaw")
print_one("First!")
print_none()