提问人:Cube_Cube_Cube_Cube 提问时间:10/23/2023 更新时间:10/23/2023 访问量:51
Python print return null [关闭]
Python print return null [closed]
问:
当我执行此代码时,它返回 None,但我想像在循环中一样打印整数,有人知道为什么吗?
import boto3
client = boto3.client('autoscaling')
clearesponse = client.describe_auto_scaling_groups(
AutoScalingGroupNames=[
'XXXX',
])
for reservation in clearesponse ['AutoScalingGroups']:
test=print(reservation['DesiredCapacity'])
nb_desired_cap = test
print (nb_desired_cap)
print (test)
跑:
Python describe_instances.py
4
没有
没有
运行代码并希望在其他变量中捕获结果 4,以便在代码的其他部分中使用
答:
3赞
Tim
10/23/2023
#1
这是因为该函数返回 .在下面的示例中,不返回“Hello, World!”,而只是打印到屏幕上,返回的是 .print
None
None
>>> result = print("Hello, World!")
Hello, World!
>>> result is None
True
您可以将其与不打印任何内容,仅返回输入的函数进行对比。如果您在脚本中使用它,它不会在屏幕上打印任何内容。在 REPL 中,这并不是不言而喻的,但是对于字符串,您可以注意到引号。
>>> def identity(x):
... return x
...
>>> result = identity("Hello, World!")
>>> result == "Hello, World!"
True
最后,您可以同时执行以下两项操作:
>>> def myprint(string):
... print(string)
... return string
...
>>> myprint("Hello, World!")
Hello, World!
'Hello, World!'
如果您在 REPL 中运行上述函数,它将显示输入两次,从脚本中它只会显示一次(打印值)。
我不确定您希望代码做什么,但您可能希望为变量分配除 返回的结果以外的其他内容。print
评论
print
test=print(reservation['DesiredCapacity'])
毫无意义。要么在循环内打印,要么将结果附加到列表中以供以后打印