繁体   English   中英

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

[英]Python function does not run on command line

我在终端中执行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.

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

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

为了使您的代码正常工作,只需缩进这些行

在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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM