Python中文
首页
教程
问答
标签
搜索
登录
注册
Python中处理不同类型的规范方法是什么?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个函数,我需要为我调用的另一个程序生成不同的输出字符串,这取决于它想要的类型。在</p> <p>基本上,被调用的程序需要一个命令行参数,告诉它是用哪种类型调用的。在</p> <p>很高兴我找到了<a href="https://stackoverflow.com/questions/152580/whats-the-canonical-way-to-check-for-type-in-python">this answer</a>等如何检查变量的类型。但我注意到人们也提出了反对意见,即检查类型会暴露“非面向对象”的设计。那么,有没有其他方法,假设更“面向对象”的方式来处理这个问题,而不显式地检查类型?在</p> <p>我现在的代码是这样的:</p> <pre><code>def myfunc(val): cmd_type = 'i' if instance(val, str): cmd_type = 's' cmdline = 'magicprogram ' + cmd_type + ' ' + val Popen(cmdline, ... blah blah) ... </code></pre> <p>这很好用,但我只是想知道是否有我不知道的技巧。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可以使用<a href="http://en.wikipedia.org/wiki/Double_dispatch" rel="nofollow">Double Dispatch</a>或{a2}。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何提高Djang的410误差
6 回答
如何提高doc2vec模型中两个文档(句子)的余弦相似度?
9 回答
如何提高Docker的日志限制?|[输出已剪裁,达到日志限制100KiB/s]
2 回答
如何提高DQN的性能?
4 回答
如何提高EasyOCR的准确性/预测?
9 回答
如何提高Euler#39项目解决方案的效率?
7 回答
如何提高F1成绩进行分类
2 回答
如何提高FaceNet的准确性
5 回答
如何提高fft处理的精度?
3 回答
如何提高Fibonacci实现对大n的精度?
3 回答
如何提高Flask与psycopg2的连接时间
7 回答
如何提高FosterCauer变换的scipy.signal.invres()的数值稳定性?
10 回答
如何提高gae查询的性能?
9 回答
如何提高GANs用于时间序列预测/异常检测的结果
4 回答
如何提高gevent和tornado组合的性能?
8 回答
如何提高googleappengin请求日志的吞吐量
10 回答
如何提高googlevision文本识别的准确性
10 回答
如何提高groupby/apply效率
9 回答
如何提高Gunicorn中的请求率
7 回答
如何提高G中的文件编码转换
6 回答