当前位置:  开发笔记 > 编程语言 > 正文

你最unpythonic的代码片段

如何解决《你最unpythonic的代码片段》经验,为你挑选了2个好方法。

我是一名经验丰富的python开发人员,仍然会自己编写正确但非语音的代码.我认为看到人们编写的python代码的小例子在某种程度上与普遍优先的做事方式发生冲突可能具有启发性和娱乐性.

我对您实际编写的代码感兴趣而不是发明示例.这是我的一个:在代码中期望一个可能为空的序列或我没有的序列

if data is not None and len(data) > 0:

我后来把它减少到了

if data:

更简单的版本允许额外的真值,如True或10,但这没关系,因为调用者犯了一个错误,并将从if中的语句中获得异常.



1> 小智..:

我发现手动类型检查最"unpythonic"(虽然通常也很糟糕).有两种常见的情况被滥用.第一种是当函数的逻辑根据参数的类型而不同时.例如:

def doStuff (myVar):
    if isinstance (myVar, str):
        # do stuff
        pass
    elif isinstance (myVar, int):
        # do other stuff
        pass

第二个是当程序员尝试创建一个强类型函数,就像你期望在静态类型语言中找到的一样.

def doStuff (myVar):
    if not isinstance (myVar, int):
        raise TypeError ('myVar must be of type int')



2> Federico A. ..:

一些可以从类C语言继承的非语言习惯:

1)不必要的分号:

printf "Hello world";

2)不必要的指数:

# Bad
for i in range(len(myList)):
    print myList[i]

# Good
for item in myList:
    print item

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有