[英]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.