有没有更好的方法来避免冗余代码?在这种情况下,如果storage
为0,那么我不想将它传递给函数并保持代码整洁,但我不得不做一个if-else。
if storage == 0:
response_lc = asg_client.create_launch_configuration(
ImageId=ami,
InstanceType=instance_type,
KeyName=keypair
)
else:
response_lc = asg_client.create_launch_configuration(
VolumeSize=storage,
ImageId=ami,
InstanceType=instance_type,
KeyName=keypair
)
答案 0 :(得分:1)
如果没有出路,你可以这样做:
kwargs = {
"ImageId": ami,
"InstanceType": instance_type,
"KeyName": keypair
}
if storage:
kwargs["VolumeSize"] = storage
response_lc = asg_client.create_launch_configuration(**kwargs)
但我会建议你深入研究asg_client.create_launch_configuration
方法,看看是否可以在所有情况下传递所有四个参数。