python91个建议(记录在此)

建议1:理解pythonic的概念

python之禅

优美胜于丑陋(Python 以编写优美的代码为目标)

明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)

简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)

复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)

扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)

间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)

可读性很重要(优美的代码是可读的)

即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)

不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)

当存在多种可能,不要尝试去猜测

而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)

虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )

做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)

如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)

命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)

python实现快速排序方式

def px(px1):

  l=[];g=[]

  if len(px1)<=1:

    return px1

  pivot=px1.pop()

  for x in px1:

    if x<=pivot:l.ppaned(x)

    else:g.append(x)

  retu8rn px(l+[pivot]+px(g))

px([])

代码风格

(packaging/unpackaging)机制,如下

  a,b=b,a(变量交换)

遍历容量

for i in list:pass

迭代器使用,如下

with open(a.txt) as f:

f.read()

python的slice(切片)方式

a=[1,2,3,4]

print a[0],a[-1],a[0::],a[::-1],a[0::2]

利用python内置方法进行操作

print list(reversed(a))

字符串格式化

‘name=%s,year=%s‘%(‘01‘,‘1990‘)

字典格式

value={‘a‘:1,‘b‘:2}

print ‘%(a)s and %(b)s‘%(value)

高效格式化

‘{0} and {1} and {2}‘.format(1,2,3)

python库或者框架

from flask import Flaskapp=Flask(__name__)@app.route(‘/‘)def hello():    return ‘hello‘if __name__==‘__main__‘:    app.run()
时间: 2024-11-09 02:46:33

python91个建议(记录在此)的相关文章

转载--编写高质量代码:改善Java程序的151个建议(第1章:JAVA开发中通用的方法和准则___建议16~20)

阅读目录 建议16:易变业务使用脚本语言编写 建议17:慎用动态编译 建议18:避免instanceof非预期结果 建议19:断言绝对不是鸡肋 建议20:不要只替换一个类 回到顶部 建议16:易变业务使用脚本语言编写 Java世界一直在遭受着异种语言的入侵,比如PHP,Ruby,Groovy.Javascript等,这些入侵者都有一个共同特征:全是同一类语言-----脚本语言,它们都是在运行期解释执行的.为什么Java这种强编译型语言会需要这些脚本语言呢?那是因为脚本语言的三大特征,如下所示:

【Android】 Sqlite3 not found

调试机没有sqlite3命令文件 导入即可 sqlite3 http://pan.baidu.com/s/1bohTMiz //(使用老版sqlite3需要导入libncurses.so文件至/system/lib) 将下载好的sqlite3文件导入/system/xbin目录下然后修改sqlite3的权限 导入sqlite3时会遭遇权限问题先修改system和xbin文件夹的权限 ls –al 查看system和xbin目录权限,建议记录下system和xbin目录的权限 chmod 777

使用Flask时,如何记录日志

我们在开发基于Flask的Web应用时,往往容易忽略了对日志的使用,而在Flask的官方文档中,对日志这块的介绍也仅仅停留在如何与系统集成上.记录日志这个看似很简单的事情,在实际中很多人却不一定能做好,要么不知道何时进行日志记录,要么就是记录的日志然并卵.所以,今天就来说说记录日志这件小事,希望对大家学习flask有所帮助. 说它是件小事,因为它的确不会影响你系统的正常流程,有没有它系统都能跑起来,也正因为这样,很多人便忽略了日志的处理,或者干脆都没有配置日志输出,整个系统没有任何日志输出(Ng

用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践

转自https://zhuanlan.zhihu.com/p/25928551 近来在同时做一个应用深度学习解决淘宝商品的类目预测问题的项目,恰好硕士毕业时论文题目便是文本分类问题,趁此机会总结下文本分类领域特别是应用深度学习解决文本分类的相关的思路.做法和部分实践的经验. 业务问题描述: 淘宝商品的一个典型的例子见下图,图中商品的标题是"夏装雪纺条纹短袖t恤女春半袖衣服夏天中长款大码胖mm显瘦上衣夏".淘宝网后台是通过树形的多层的类目体系管理商品的,覆盖叶子类目数量达上万个,商品量也

java如何读写json文件

在实际项目开发中,有时会遇到一些全局的配置缓存,最好的做法是配置redis数据库作为数据缓存,而当未有配置redis服务器时,读取静态资源文件(如xml.json等)也是一种实现方式,但是这有一个弊端,因为作为静态资源存储在站内势必就导致信息的安全性很低,所以如果采用这种方式则建议记录一些安全要求很低的配置属性,当然最好的做法就是使用redis缓存技术.下面就json文件的读写进行进一步说明. 1.json通用文件读取方法,这个方法会返回map对象: /** * json读取 * * @para

转:文本分类问题

作者:西瓜军团链接:https://www.zhihu.com/question/58863937/answer/166306236来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 一.传统文本分类方法 文本分类问题算是自然语言处理领域中一个非常经典的问题了,相关研究最早可以追溯到上世纪50年代,当时是通过专家规则(Pattern)进行分类,甚至在80年代初一度发展到利用知识工程建立专家系统,这样做的好处是短平快的解决top问题,但显然天花板非常低,不仅费时费力,覆

.NET开发规范

一.命名规则 1.1 命名法说明 (1)    Pascal命名法:将标识符的首字母和后面连接的每个单词的首字母都大写. 例如:BackColor (2)    Camel命名法:标识符的首字母小写,而每个后面连接的单词的首字母都大写. 例如:backColor (3)    变量.类名.成员变量.方法等命名,禁止采用:英文和拼音组合.拼音命名.非规范的英文简写命名.汉字命名(特殊情况除外:如部分枚举采用汉字): 说明:名字定义不怕长,力求准确,并且可读性友好: 反例:decimal jiage

mysql性能优化教程(转)

Mysql 性能优化教程 目录 目录 背景及目标 Mysql 执行优化 认识数据索引 为什么使用数据索引能提高效率 如何理解数据索引的结构 如何理解影响结果集 理解执行状态 常见分析手段 分析流程 总结 Mysql 运维优化 存储引擎类型 内存使用考量 性能与安全性考量 存储压力优化 运维监控体系 Mysql 架构优化 架构优化目标 防止单点隐患 方便系统扩容 安全可控,成本可控 分布式方案 分库&拆表方案 主从架构 故障转移处理 缓存方案 缓存结合数据库的读取 缓存结合数据库的写入      

W3C理解

做网站开发有两种标准选择,支持W3C标准或是支持IE,因为IE很多地方不兼容W3C,就是说,你的网站按照W3C开发,IE显示就会有问题,你按IE开发,那么一方面IE6,7,8几个版本自己之间也不兼容,另一方面,用其它浏览器的人,如firefox,opera,chrome的人,看你的网站也会有问题,所以应该支持W3C标准. 为什么要使用W3C标准规范? 每当浏览器发布大更新的时候,我们刚建立不久的网站很可能就会发生无法预知的错误,我们只能重新建立或改版网站,使其可以应对新发布的浏览器.而当有新的网