编写高质量代码改善python程序91个建议学习

第一章

建议1:理解pythonic的相关概念

狭隘的理解:它是高级动态的脚本编程语言,拥有很多强大的库,是解释从上往下执行的

特点:

美胜丑,显胜隐,简胜杂,杂胜乱,平胜陡,疏胜密

python定义

#python排序

def quicksort(arr):

less=[];greater=[]

if len(arr)<=1:

return arr

pivot=arr.pop()

for x in arr:

if x<=pivot:

less.append(x)

else:

greater.append(x)

return quicksort(less)+[pivot]+quicksort(greater)

arr=[9,8,4,5,32,64,2,1,0,10,19,27]

print (quicksort(arr))

#结果:[0, 1, 2, 4, 5, 8, 9, 10, 19, 27, 32, 64]

代码风格

多个变量之间的交换方式,基本语法

a,b=b,a

原理

对于多变量之间的转换

采用的是异或方式实现多个变量之间的转换,如下

a ^=b;

b^=a;

a^=b;

请看这里面的解释 :http://blog.csdn.net/magictong/article/details/3321232

http://www.cnblogs.com/haoshine/p/5117433.html

http://lionelliu.com/?p=970

异或的解释

&按位与            二进制中两个数,二进位都为1时,结果为1,否则为0.

|按位或             二进制中两个数,二进位有1时,结果都为1,否则为0.

^按位异或         二进位中两个数,二进位想异时,结果为1.

~翻转        x的翻转是-(x+1),即正数变负数,负数变正数

#遍历

def fo_r(d):

#第一种遍历

for i in range(len(d)):

return #语句体

#第二种遍历

for i in d:

return

关闭文件

with它是一种含有迭代器的风格方式

with open() as f:

pass

切片

s=[1,2,3,4]

s[::-1]

推荐使用

list(reversed(s))

连接字符串:%s,+

推荐.format(*args,**kw)

使用python的框架或者库来提升你的工作效率

框架如:django,tornado,flask等

库:time,requests

如果需要可以去pipy官方下载,

pipy地址如下:https://pypi.python.org/pypi

编写pythonic代码

规则

1:要避免劣化代码

(1):避免只用大小写来区分不同对象

(2):避免使用容易引起混淆的名称,包括重复使用上下文中已经存在的变量名来表示不同的类

型,误用内建方法或者函数

(3)不要害怕使用过长的变量名

编写高质量代码改善python程序91个建议学习01的更多相关文章

  1. 编写高质量代码--改善python程序的建议(六)

    原文发表在我的博客主页,转载请注明出处! 建议二十八:区别对待可变对象和不可变对象 python中一切皆对象,每一个对象都有一个唯一的标识符(id()).类型(type())以及值,对象根据其值能否修 ...

  2. 编写高质量代码--改善python程序的建议(八)

    原文发表在我的博客主页,转载请注明出处! 建议四十一:一般情况下使用ElementTree解析XML python中解析XML文件最广为人知的两个模块是xml.dom.minidom和xml.sax, ...

  3. 编写高质量代码--改善python程序的建议(七)

    原文发表在我的博客主页,转载请注明出处! 建议三十四:掌握字符串的基本用法 编程有两件事,一件是处理数值,另一件是处理字符串,在商业应用编程来说,处理字符串的代码超过八成,所以需要重点掌握. 首先有个 ...

  4. 编写高质量代码–改善python程序的建议(五)

    原文发表在我的博客主页,转载请注明出处! 建议二十三:遵循异常处理的几点基本原则 python中常用的异常处理语法是try.except.else.finally,它们可以有多种组合,语法形式如下: ...

  5. 编写高质量代码--改善python程序的建议(四)

    原文发表在我的博客主页,转载请注明出处! 建议十八:有节制的使用from...import语句 python提供了三种方式引入外部模块: import语句 from...import... __imp ...

  6. 编写高质量代码--改善python程序的建议(三)

    原文发表在我的博客主页,转载请注明出处! 建议十三:警惕eval()的安全漏洞 相信经常处理文本数据的同学对eval()一定是欲罢不能,他的使用非常简单: eval("1+1==2" ...

  7. 编写高质量代码–改善python程序的建议(二)

    原文发表在我的博客主页,转载请注明出处! 建议七:利用assert语句来发现问题断言(assert)在很多语言中都存在,它主要为调试程序服务,能够快速方便地检查程序的异常或者发现不恰当的输入等,可防止 ...

  8. 编写高质量代码--改善python程序的建议(一)

    原文发表在我的博客主页,转载请注明出处! 初衷 python是一个入门十分容易的编程语言,但是想要写好python却是一件不容易的事情,如果不是专业使用python的人,只是将python作为一个脚本 ...

  9. 编写高质量代码 改善Python程序的91个建议 (读后 小记)

    此书是自己好久之前买的,当时总觉得Python语言中有各种trick, 总是要自己猝不及防的掉入到陷阱之中, 看了一些资料后发现了这本书,感觉很是不错,不过可惜自己平时总是杂事太多,总是找不到整块的时 ...

随机推荐

  1. XMPP通讯开发-好友获取界面设计

    在XMPP通讯开发-服务器连接 中我们成功连接到服务器上面,然后进入到主界面,接下来就是获取好友列表,这里我们分段开发,首先就是界面的设计,这里仿照QQ好友界面,里面的数据先是用模拟的,下一章获取服务 ...

  2. 移动web开发框架研究

    纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架.jQuery Mobile出自于jQuery家族 ...

  3. Java JDBC连接SQL Server2005错误:通过port 1433 连接到主机 localhost 的 TCP/IP 连接失败

    错误原因例如以下: Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cann ...

  4. Linux驱动开发常用头文件

    头文件目录中总共有32个.h头文件.其中主目录下有13个,asm子目录中有4个,linux子目录中有10个,sys子目录中有5个.这些头文件各自的功能如下: 1.主目录 <a.out.h> ...

  5. jQuery中DOM操作

    1 定义:jquery中对DOM的操作就是对DOM元素进行增删查改操作 2 分类:      1)DOM Core(核心):用途广泛 支持多种编程语言 2)HTML DOM:代码简短 只用于处理web ...

  6. IE9的window.showmodaldialog显示问题

    <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat=&quo ...

  7. MySQL学习笔记(5) - 修改和删除数据库

    1.完整语句 ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACHER SET [=] charset_name; 2.修改数据库的编码方式 al ...

  8. JavaScript 高级程序设计 第5章引用类型 笔记

    第五章 引用类型 一.object类型 1.创建方法: 1.使用new 操作符创建 var person=new object() Person.name=”Nicholasa” Porson.age ...

  9. AjaxPro.2.dll使用方法简介

    1.添加对 AjaxPro.2.dll 的引用 2.在 webconfig 中 system.web 节点下 进行如下配置 <httpHandlers> <add verb=&quo ...

  10. 将含有父ID的列表转成树

    我们知道数据库一般是以一个列表(id,pid)的形式保存树的.如何提取这棵树呢?最简单的方法就是根据pid循环查表.但是毫无疑问,这会产生巨大的数据库查询开销. 那么一般建议的方法是一次性将全部相关数 ...