- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在编写一个 python 扩展来提供对 Solaris kstat 数据的访问(本着与运输 perl 库 Sun::Solaris::Kstat 相同的精神),我有一个关于有条件地返回列表或单个对象的问题。 python 用例看起来像:
cpu_stats = cKstats.lookup(module='cpu_stat') cpu_stat0 = cKstats.lookup('cpu_stat',0,'cpu_stat0')
按照目前的实现方式,lookup() 返回所有匹配的 kstat 对象的列表。第一种情况会产生对象列表(与 CPU 一样多),第二种调用完全指定单个 kstat 并返回包含一个 kstat 的列表。
我的问题是当只有一个匹配项时返回单个对象,而当有多个匹配项时返回列表是一种糟糕的形式吗?
感谢您的周到解答!我的 python-fu 很弱,但由于像你这样的人而变得更强。
最佳答案
“我的问题是,当只有一个匹配项时返回单个对象,而当有多个匹配项时返回列表,这是一种糟糕的形式吗?”
返回不一致的类型是一种糟糕的形式。
返回一个一致的类型:kstat列表。
大多数 Pythonista 不喜欢使用 type(result)
来确定它是一个 kstat 还是一个 kstat 列表。
我们宁愿以一种简单、一致的方式检查列表的长度。
此外,如果长度取决于一条系统信息,也许 API 方法可以提供此元数据。
看DB-API PEP有关如何处理类似查询的事情的建议和想法。
关于Python 扩展返回对象礼仪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/940563/
情况:我正在实现一个类似列表的容器,该容器支持 Pop() 函数,该函数应向用户返回存储在容器前端的 const char*。但是,作为实现者,我不确定我是否应该返回原始的 const char*(从
我只是想以非常好的面向对象方式编写一个 Pong 游戏。在我的第三堂课上,我已经面临第一个问题。 到目前为止,这是我的代码: Pong.java package PongOO; import java
假设我有两个 Python 模块: module1.py: import module2 def myFunct(): print "called from module1" module2.py:
我有一张 table 。例如: apple big pickle small 经过一些花哨的 jQuery... apple big 10kg -----
我可以想到我的代码允许 ViewController 交互的四种方式: 1. 如果我将一个新的 VC 调用到堆栈上,我会向它传递准备转场所需的数据,如下所示: 2. 当我倒退并返回 VC 时,Unwi
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 6年前关闭。 Improve t
我是一名优秀的程序员,十分优秀!