【发布时间】:2014-06-20 15:46:41
【问题描述】:
在我的 python 程序中,函数内有函数,我注意到在前一个函数结束的位置和第一个函数开始的位置之间存在不同数量的线。
输出:
end of previous function
start of first function
但是,如果不使用 return() 语句,则在函数末尾打印“None”。
有没有办法让程序在函数结束后只打印一行,或者这是python不可避免的一部分?
(可能与this有关,但你不能用这个作为回报我不认为)
示例代码:
def function1():
...stuff
def function2():
function1()
....morestuff
while True:
function2()
这将返回 2 行“无”。如果 return("") 被添加到每个函数的末尾,则只有空格,新行也是如此。有没有办法拥有一定数量的线条,或者完全摆脱它们?
实际代码示例:
def stop():
print("stop")
def login():
print("login")
def list():
print("list")
def runscript():
answer=raw_input("input")
if answer == "stop":
print(stop())
elif answer == "login":
print(login())
elif answer == "list":
print(list())
while True:
print(runscript())
这将返回“无”以及指定的输出。如果在每个函数的末尾添加一个 return(""),它仍然会输出不同的行
【问题讨论】:
-
return()不是函数。这是一个声明。 -
什么?您需要显示更多信息。
None仅在您实际打印函数结果时才会打印。如果您不想打印任何内容,请不要调用 print! -
你的问题不清楚,考虑提供一个简短的代码示例
-
而函数的默认返回值是
None。如果您没有返回任何不同的内容,则会返回None。如果你不想打印None,不要打印返回值。 -
我不想要换行符。有什么办法可以不换行吗?
标签: python python-2.5