你是不是总是觉得学了python好久,蓦然回首,总是感觉写的代码不是那么有pythonic的味道.看看别人的代码(django,webpy),再看看自己的代码,觉得就是一java-python的混合体.鉴于这种问题,我准备要多学习别人的一些技术和方式,这不,在网上看到一本不错的书:[writing idiomatic python ebook] .告诉怎么写出python风格的代码.本来想共享到网盘的,但是一想,这样不好吧,人家的书是挂在上面付费卖的,也不贵,10刀.所以就不共享了.这里把里面的…
对多个变量设置相同的值时,用连等号一起赋值 x = 10 y = 10 z = 10 改成: x = y = z = 10 交换变量值时,可以避免定义新的临时变量 x = 10 y = 5 temp = x x = y y = temp 改成: x = 10 y = 5 x, y = y, x 多次调用字符对象方法时,可以用链式调用方法,避免中间产生过多变量 str1 = 'i am a bug!' str2 = str1.strip() str3 = str2.upper() str4 = s…
汇总了一下这本小书前两部分的内容: 翻译<Writing Idiomatic Python>(一):if语句.for循环 翻译<Writing Idiomatic Python>(二):函数.异常 翻译<Writing Idiomatic Python>(三):变量.字符串.列表 翻译<Writing Idiomatic Python>(四):字典.集合.元组 翻译<Writing Idiomatic Python>(五):类.上下文管理器.生成…
原书参考:http://www.jeffknupp.com/blog/2012/10/04/writing-idiomatic-python/ 上一篇:翻译<Writing Idiomatic Python>(四):字典.集合.元组 2.7 类 2.7.1 用isinstance函数检查一个对象的类型 许多新手在接触Python之后会产生一种“Python中没有类型”的错觉.当然Python的对象是有类型的,并且还会发生类型错误.比如,对一个int型对象和一个string型的对象使用+操作就会…
原书参考:http://www.jeffknupp.com/blog/2012/10/04/writing-idiomatic-python/ 上一篇:翻译<Writing Idiomatic Python>(三):变量.字符串.列表 下一篇:翻译<Writing Idiomatic Python>(五):类.上下文管理器.生成器 2.4 字典 2.4.1 用字典实现switch...case 和其他许多语言不一样,Python不支持switch...case.switch通常用来…
原书参考:http://www.jeffknupp.com/blog/2012/10/04/writing-idiomatic-python/ 上一篇:翻译<Writing Idiomatic Python>(二):函数.异常 下一篇:翻译<Writing Idiomatic Python>(四):字典.集合.元组 2.1 变量 2.1.1 对多个变量要赋同一个值时,使用链式赋值让语句变得简明 Python支持链式赋值使多个变量可以在一次链式赋值中被设置为同一个值,这使得语句更加简…
开篇废话 这是在美国Amazon上评价很不错的一本书,其实严格来说这可能不算书,而是一本小册子.就像书名一样,里面的内容主要是用一些例子讲述地道的Python的代码是怎样写的.书中把很多例子用不良风格和地道Python写法作对比,内容覆盖谈不上很全,但是每一条都很有代表性.总体而言非常适合新手,同时里面有些条目老手看了或许也会有豁然开朗的感觉.作者Jeff Knupp曾在全球最牛B的高盛和其他银行里做过金融系统开发,在北美Python社区里也很有活跃度. 自己用Python也有些年头了,做过一年…
原书参考:http://www.jeffknupp.com/blog/2012/10/04/writing-idiomatic-python/ 上一篇:翻译<Writing Idiomatic Python>(一):if语句.for循环 下一篇:翻译<Writing Idiomatic Python>(三):变量.字符串.列表 1.3 函数 1.3.1 避免使用可变对象作为函数参数的默认值 当Python解释器遇到一个函数定义的时 候,如果参数里有默认值,会求值来决定默认的参数值.…
Code Like a Pythonista: Idiomatic Python 如果你有C++基础,那学习另一门语言会相对容易.因为C++即面向过程,又面向对象.它很底层,能像C一样访问机器:它也很高级,有模板.STL 等.如果认真读过<深入C++对象模型>,我想其它语言不会比这个更复杂.你对C++了解的越深,你用其它语言写出的代码就越像C++,这样就体现不出新 语言的价值了.所以,学习新语言要抛弃原有的潜意识,包括代码风格. 1. The Zen of Python (1) 漂亮比丑陋好…
目录INF-qa Python 编码规范................................................................................................................... 11. 介绍 ...........................................................................................................…