python类定义默认值为none_python非None默认值

程序员A编写以下函数:def compute_value(threshold = sys.float_info.max):

...

return value

它有可选参数threshold,以自然的方式将最大浮点值作为默认值来表示“无阈值”。在

程序员B也有一个阈值的表示,但没有使用表示没有阈值。不幸的是,如果threshold=None,compute_value函数不会引发任何异常,而是给出了错误的答案。因此,当程序员B将None作为阈值时,就会出现一个bug。在

我认为最好的解决方案是改变

^{pr2}$

因为这个函数比以前更通用,因为它以一种有意义的方式处理None值。在

这就提出了一个问题:是否总是最好只使用“无”作为默认值?在

这不是第一次函数有不同于无的默认参数给我带来麻烦。在其他情况下,我发现自己没有从夸格斯字典中删除任何值。。。在

另一个相关的(也许很傻)问题。实际修改后的B函数如下:def compute_value(threshold = sys.float_info.max):

if threshold is None:

threshold = sys.float_info.max

...

return value

这是完全正确的,但在我看来很糟糕。不好,因为系统浮动信息.max重复两次。。。但是:这是否违反了干燥原则?因为,严格地说,在第一次执行中也没有重复两次,而且都没有和系统浮动信息.max是常量。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python的ttk模块中,ttk Combobox的默认值可以通过设置textvariable参数来实现。以下是几个示例代码,演示了如何设置ttk Combobox的默认值: 1. 使用变量设置默认值: ```python import tkinter as tk from tkinter import ttk root = tk.Tk() value = tk.StringVar(value="默认值") box = ttk.Combobox(root, textvariable=value, state='readonly') box.pack() root.mainloop() ``` 在这个例子中,我们使用了tkinter模块中的StringVar()函数创建了一个变量value,并将其赋值为"默认值"。然后,我们在ttk Combobox的初始化中使用了textvariable参数将变量value与Combobox绑定在一起,从而设置了默认值为"默认值"。 2. 通过values和current设置默认值: ```python import tkinter as tk from tkinter import ttk root = tk.Tk() comvalue = tk.StringVar() comboxlist = ttk.Combobox(root, textvariable=comvalue) comboxlist["values"] = ("1", "2", "3", "4") comboxlist.current(0) # 设置默认值为第一个选项 comboxlist.pack() root.mainloop() ``` 在这个例子中,我们创建了一个字符串变量comvalue,并将其绑定到ttk Combobox的textvariable参数中。然后,我们使用values参数设置了Combobox的选项列表为("1", "2", "3", "4"),并使用current方法将默认值设置为索引为0的选项,即第一个选项。 所以,Python ttk Combobox的默认值可以通过设置textvariable参数或使用values和current方法来实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [python – 设置ttk Combobox的默认值](https://blog.csdn.net/weixin_39900023/article/details/117273868)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Python 窗体(tkinter)下拉列表框(Combobox)实例](https://download.csdn.net/download/weixin_38562492/13735680)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值