python给变量设置默认值_Python默认值,并根据其他变量设置该值。到,否则。

At times I have a variable that I want to default to something and if something else is set change it to something else.

The question is. What is preferred? Setting the default value and then changing it if the condition is met or setting the condition only once depending on the initial check with an added else?

Example in code.

if x:

y = '%s-other' % x

else:

y = 'some_default'

The other option would be.

y = 'some_default'

if x:

y = '%s-other' % x

This isn't always an argument passed in to a function so kwargs is not something I want to rely on here.

Personally, the second one seems to be a lot more clear to me but what I have yet to find any sort of opinion by anyone on this.

解决方案

How about this:

y = '%s-other' % x if x else 'some_default'

恢复全局变量默认值可以通过重新赋值的方式实现。在Python中,函数参数的默认值是在函数定义时计算并绑定到函数对象的属性上的。如果默认值是一个全局变量,那么这个变量在函数定义时就会被解析并绑定到函数对象上,之后每次调用函数时都会使用这个默认值。如果要恢复全局变量默认值,可以重新对全局变量赋予默认的初始值。例如,如果有一个全局变量x,作为函数参数的默认值,可以通过重新赋值x为初始值来恢复全局变量默认值。这样,在之后的函数调用中,函数会使用重新赋值后的默认值作为参数的初始值。123 #### 引用[.reference_title] - *1* *3* [python 函数参数的默认值是一个全局变量会导致默认值不能动态变换吗](https://blog.csdn.net/qq_37887537/article/details/129056297)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *2* [python参数默认值](https://blog.csdn.net/ACBC12345/article/details/122284835)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值