How to become a proficient Python programmer - 如何成为Python高手

http://blog.csdn.net/pipisorry/article/details/44801859

How
to become a proficient(熟练的) Python programmer如何成为Python高手

Spoiler: This post is primarily gonna be an
excerpt(摘录) of my bookmarks collection. That’s because more intelligent men than me have already written great articles on the topic of how to become a great Python programmer.

I will focus on four primary topics: Functional programming, performance, testing and code guidelines. When those four aspectsmerge(合并) in one programmer,
he or she will gaingreatness(伟大) no matter what.

Functional programming函数式编程

Writing code in an imperative(必要的) style has become the defacto(事实上的)
standard. Imperative programs consist of statements that describe change of state. While this might sometimes be a performant way of coding, it sometimes isn’t (for example for sake of
complexity(复杂)) – also, it probably is not the mostintuitive(直觉的)
way when compared withdeclarative(宣言的) programming.

If you don’t know what I’m talking about, that’s great. Here are some starter articles to get your mind running. Butbeware(当心), it’s a little like
the red pill

– once you tasted functional programming, you don’t want to go back.

Performance性能

There’s so much talk going on about how
inefficient(无效率的) these ‘scripting languages’ (Python, Ruby, …) are, that it’s easy to forget that very often it’s the algorithm chosen by the programmer that leads to horrible runtime behaviour.

Those articles are a great place to get a feel for the ins and outs of Python’s runtime behaviour, so you can get your high performing application writting in a language that isconcise(简明的)
and fun to write. And if your manager asks about Python’s performance, don’t forget to mention that the second largest search engine in the world is run by Python – namely Youtube(see
Python quotes).

Testing测试

Testing is probably one the most misjudged topics in computer science these days. Some programmers really got it andemphasize(强调) TDD(test driven
development) and it’s successor BDD(behaviour driven development) whereever possible. Others simply don’t feel it yet and think it’s a waste of time. Well, I’m gonna be that guy and tell you: If you haven’t started out on TDD/BDD yet, you have missed out greatly!

It’s not about introducing a technology to replace that release management
automaton(自动机) in your company that mindlessly clicks through the application once in a while, it is about giving you a tool to deeply understand your own problem domain – to reallyconquer(战胜),manipulate(操纵)
and twist it the way you want and need it to be. If you haven’t yet, give it a shot. These articles will give you someimpulses(冲动):

Code guidelines编码规范

Not all code is created equal. Some can be read and changed by any great programmer out there. But some can only be read and only sometimes changed by the original author – and that maybe only a couple of hours after he or she wrote it. Why is that? Because
of missing test coverage (see above) and the lack of proper usage of coding guidelines.

These articles establish an absolute minimum to
adhere(坚持) to. When you follow these, you will write more consise and beautiful code. As a side effect it will be more readable andadaptable(适合的)
by you or anyone else.

from:http://blog.csdn.net/pipisorry/article/details/44801859

ref:http://blog.dispatched.ch/2011/06/12/how-to-become-a-proficient-python-programmer/

StarterLearningPython/n001.md

时间: 2024-10-06 10:23:03

How to become a proficient Python programmer - 如何成为Python高手的相关文章

Lynda.com学习体验之Become a Python Programmer

本人最近正好在学习http://Lynda.com的Python课程.Lynda上面确实有Python系列课程的,以我的学习经验,Lynda的课程质量惊艳,对于刚入门或者工作一段时间的同学来说,绝对是绝佳的材料.但是http://lynda.com是收费的,每月34.99美金的,本人在淘宝上买了一个lynda永久会员 (网址:Lynda会员账号 永久免费 离线下载观看 永久有效 一人一号) ,目前来看用着很爽,下面就Lynda上面针对Python的Learning Path做个简单介绍. Pyt

Python代写,Python作业代写,代写Python,代做Python(微信leechanx)

Python代写,Python作业代写,代写Python,代做Python(微信leechanx) Redis:Cannot assign requested address的解决办法 客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT,以至于用光了可用的端口号,所以新的连接没办法绑定端口,即"Cannot assign requestedaddress".是客户端的问题不是服务器端的问题.通过netstat,的确看到很多TIME_WAIT状态的连接.

代写Python、代做Python、Python作业代写、Python代写(微信leechanx)

代写Python.代做Python.Python作业代写.Python代写(微信leechanx) i++ VS ++i性能区别 i++ 为 function () { tmp = i; i = tmp + 1; return tmp; } ++i 为 function () { i = i + 1; return i; }

python基础教程:python的环境搭建

Python编程语言可应用于多平台包括 Linux 和 Mac OS X.一般的 Linux 发行版本都自带 Python,Mac OS X 最新版也自带了 Python,也就是已经安装好了,不需要再配置. Windows 下直接下载最新版的 Python 2.7.9,安装的时候注意选择 你可以通过终端窗口输入 "python" 命令来查看本地是否已经安装Python以及Python的安装版本. Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, Su

python全栈和python自动化课程的区别在哪?

老男孩算是国内组早的做python培训的机构了,下面小编对于python自动化课程及全栈课程做了一个总结,希望能帮到你们: python全栈开发: 适合人群:应届本科生,专科,及零基础学员学习基础:0基础上课形式:脱产5个月,周一至周五上课课程内容:linux基础知识,python基础知识,网络编程,数据库应用,web开发,算法设计模式项目实战:博客系统开发,CRM系统开发,CMDB开发,主机开发管理,爬虫开发,金融量化交易项目开发未来发展方向:python全栈开发工程师就业方向:python爬

python之simplejson,Python版的简单、 快速、 可扩展 JSON 编码器/解码器

python之simplejson,Python版的简单. 快速. 可扩展 JSON 编码器/解码器 simplejson Python版的简单. 快速. 可扩展 JSON 编码器/解码器 编码基本的 Python 对象层次结构: import simplejson as json print json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]) print json.dumps("\"foo\bar") print json

一入python深似海--python之道

python社区不乏幽默.先来看"python之道"这首诗. 导入this包: import this 输出是一首诗,这首诗总结了Python的风格,能够指导Python程序猿的编程. 以下是译文: The Zen of Python, by Tim Peters Python之道 Beautiful is better than ugly. 美观胜于丑陋. Explicit is better than implicit. 显示胜于隐式. Simple is better than

python扩展实现方法--python与c混和编程

Reference: http://www.cnblogs.com/btchenguang/archive/2012/09/04/2670849.html python 头文件在的位置:/usr/include/python2.7                                  /usr/local/include/python2.7 前言(更新:更方便易用的方式在http://www.swig.org/tutorial.html) 大部分的Python的扩展都是用C语言写的,

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件