Python 参数和函数

标签 python

我刚开始学习 Python,我一直在乱敲不同的代码来练习学习,我做了这段代码:

import math
def lol():
    print (math.cos(math.pi))
    print ("I hope this works")

def print_twice(bruce):
    print bruce
    print bruce



print_twice(lol())    

当我运行它时,我的输出是:

-1.0
I hope this works
None
None

为什么它没有打印函数 lol() 两次?

最佳答案

您的代码 print_twice(lol())说要执行 lol()并将其返回值传递给 print_twice() .由于您没有为 lol() 指定返回值, 它返回 None .因此, lol() 在执行时打印一次,并且 print 都打印一次。 print_twice() 中的陈述打印 None 的传递值.

这就是你想要的:

def lol():
    print (math.cos(math.pi))
    print ("I hope this works")

def print_twice(bruce):
    bruce()
    bruce()



print_twice(lol)

而不是传递 lol()返回值 ,我们现在传递函数 lol ,然后我们在 print_twice() 中执行两次.

关于Python 参数和函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14330312/

相关文章:

java - 我正在 Java 中使用 Python 指纹传感器,

python - 在 Python 中模拟一个类以调用其方法之一

Python:如何检测调试解释器

python - mysql-python-replicator binlog 特定模式的启动位置

python - 如何安装 Mayavi Trait 后端?

python - Matplotlib 日期索引格式

python - 实现luigi动态图配置

python - 在 Python 中将 UNIX 时间戳转换为非本地时间

python - 方法参数不同时共享代码的继承最佳实践?

python - 如何将 MLP 的数据调整为 LSTM(预期 ndim=3,发现 ndim=2 错误)