
正文
python函数没有输出,python中没有返回值的函数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
为什么Python中使用math中的sqrt模块没有输出结果?
答: 是这样的呢,你自己再看一下你的代码,相当于你只是调用了开二次方的这个函数,确实会得到一个运算结果,但是你并没有把它显示出来呢。所以你应该在你的第2行语句下面加一行打印语句print。然后将整个第2行放在print函数里面。
希望对你有帮助~
相关问答
Q1: python无法输出结果?
python函数参数为None的时候,比如 def req(self, b=None),是因为这个函数是一个封装函数,在没有调用他的时候他的参数需要加上None。如果不加None值,不调用函数他会报错。 一般会用在封装类或者框架里。比如说框架一般会有一个总的调用函数,总的调用函数启动,这次没有获取到值,执行到req函数时无法给req函数参数,那如果没有参数req函数就会报错。一般会报:‘req() missing 1 required positional argument: 'b'’但是如果参数为None就不会报错。如果程序执行到req参数传递成功的话,参数就不会是None了。 所以None是一个防止报错的机制。
Q2: python这个代码没输出,没报错,怎么改?
要使用线程:
要么定义一个类继承threading.Thread,重写run方法;
要么创建一个threading.Thread类的对象,将你要线程执行的函数指定为target参数。
你这里定义了类ThreadClass,但没继承threading.Thread类,又指定了target,但指定的是一个类不是一个函数,所以没输出。
非要这样搞,可以改成这样:
import threading
class ThreadClass:
def __init__(self,num): self.num = num
def run(self):
print("this is def ",self.num)
n=['a','b','c','d','e']
lis=[]
for i in n:
th = threading.Thread(target=ThreadClass.run,args=(ThreadClass(i),))
lis.append(th)
for t in lis:
t.start()
for t in lis:
t.join()
缩进格式见图:
运行结果如下:







