Python中文
首页
教程
问答
标签
搜索
登录
注册
Python在if块或vice中定义函数
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个函数,我想根据模式采取不同的形式。我应该将定义包含在if语句中还是应该将if放在定义中?</p> <pre><code># Case 1 if mode == 1: def f(x): return x + 5 else: def f(x): return x - 5 # Case 2 def f(x): if mode == 1: return x + 5 else: return x - 5 </code></pre> <p>我在过去做过这两件事,我的静态代码分析工具似乎没有抱怨。所以我想知道是否有一个Python的建议?</p> <p>编辑:从目前的评论来看,这两种情况似乎都可以接受。这取决于用例。如果模式是恒定的,则首选情况1。如果不是,那么第二种情况。</p> <p>EDIT2:这个问题实际上是在我写函数的时候产生的。它将输入模式作为输入,并根据模式执行类似的操作,但它使用单独在函数中为这些操作定义的不同子函数。由于子函数在函数运行期间保持不变,情况1似乎更合适。</p> <p>编辑3:更正:在过去,我认为PyLint对案例1并不满意。这些天来,我使用了PyCharm,这似乎并没有表明案例1有任何问题。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>1/2:</p> <pre><code>def f(x): try: f.static_mode except AttributeError as ae: f.static_mode = mode if f.static_mode == 1: return x + 5 else: return x - 5 </code></pre> <p>二合一:(无意义)</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django restfram生成PDF
5 回答
无法使用Django Rest框架发送压缩的gzip数据
6 回答
无法使用Django rest框架进行身份验证(请求用户=匿名用户)
4 回答
无法使用Django、Python和JavaScrip触发onclick函数
1 回答
无法使用Django.views.generic.View保存表单
7 回答
无法使用Django(python 2.7,OS X 10.11.1)
7 回答
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
10 回答
无法使用Django\u mssql\u后端迁移到外部hos
6 回答
无法使用Django&Python3.4连接到MySql
5 回答
无法使用Django+nginx上载媒体文件
5 回答
无法使用Django1.6导入名称模式
3 回答
无法使用Django1.7和mongodb登录管理站点
9 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
6 回答
无法使用Djangockedi验证CBV中的字段
6 回答
无法使用Djangocketditor上载图像(错误400)
10 回答
无法使用Djangocron进行函数调用
6 回答
无法使用Djangofiler djang上载文件
5 回答
无法使用Djangokronos
2 回答
无法使用Djangomssql provid
6 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
5 回答