阅读更多

2顶
0踩

编程语言

转载新闻 如何成为Python高手

2011-06-23 11:24 by 见习记者 lihuapi 评论(1) 有5164人浏览
这篇文章主要是对我收集的一些文章的摘要。因为已经有很多比我有才华的人写出了大量关于如何成为优秀Python程序员的好文章。

我的总结主要集中在四个基本题目上:函数式编程,性能,测试,编码规范。如果一个程序员能将这四个方面的内容知识都吸收消化,那他/她不管怎样都会有巨大的收获。

函数式编程

命令式的编程风格已经成为事实上的标准。命令式编程的程序是由一些描述状态转变的语句组成。虽然有时候这种编程方式十分的有效,但有时也不尽如此(比如复杂性) —— 而且,相对于声明式编程方式,它可能会显得不是很直观。

如果你不明白我究竟是在说什么,这很正常。这里有一些文章能让你脑袋开窍。但你要注意,这些文章有点像《骇客帝国》里的红色药丸 —— 一旦你尝试过了函数式编程,你就永远不会回头了。


性能

你会看到有如此多的讨论都在批评这些“脚本语言”(Python,Ruby)是如何的性能低下,可是你却经常的容易忽略这样的事实:是程序员使用的算法导致了程序这样拙劣的表现。

这里有一些非常好的文章,能让你知道Python的运行时性能表现的细节详情,你会发现,通过这些精炼而且有趣的语言,你也能写出高性能的应用程序。而且,当你的老板质疑Python的性能时,你别忘了告诉他,这世界上第二大的搜索引擎就是用Python写成的 —— 它叫做Youtube(参考Python摘录)


测试

如今在计算机科学界,测试可能是一个最让人不知所措的主题了。有些程序员能真正的理解它,十分重视TDD(测试驱动开发)和它的后继者BDD(行为驱动开发)。而另外一些根本不接受,认为这是浪费时间。那么,我现在将告诉你:如果你不曾开始使用TDD/BDD,那你错过了很多最好的东西!

这并不只是说引入了一种技术,可以替换你的公司里那种通过愚蠢的手工点击测试应用程序的原始发布管理制度,更重要的是,它是一种能够让你深入理解你自己的业务领域的工具 —— 真正的你需要的、你想要的攻克问题、处理问题的方式。如果你还没有这样做,请试一下。下面的这些文章将会给你一些提示:


编码规范

并非所有的代码生来平等。有些代码可以被另外的任何一个好的程序员读懂和修改。但有些却只能被读,而且只能被代码的原始作者修改 —— 而且这也只是在他或她写出了这代码的几小时内可以。为什么会这样?因为没有经过代码测试(上面说的)和缺乏正确的编程规范。

下面的文章给你描述了一个最小的应该遵守的规范合集。如果按照这些指导原则,你将能编写出更简洁和漂亮的代码。作为附加效应,你的程序会变得可读性更好,更容易的被你和任何其他人修改。


那就去传阅这这些资料吧。从坐在你身边的人开始。也许在下一次程序员沙龙或编程大会的时候,也已经成为一名Python编程高手了!

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

来自: 外刊IT评论
2
0
评论 共 1 条 请登录后发表评论
1 楼 ruijf 2011-06-27 10:48
在函数式编程和面向对象编程上面比较纠结

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • NSIS 脚本介绍

    <br /><br />使用NSIS作为软件打包发布安装包工具<br />可使用NSIS Edit作为脚本编辑工具<br /><br />注意问题:<br />(1). 如果编译脚本提示 Icon大小不匹配,需要将安装和卸载图标的大小,色度改为一致<br /><br />论坛: http://bbs.hanzify.org/index.php?s=c615fa750d55f9b21d68f62ef32d2fa7&showforum=8 <br />登陆名: kuxun_nsis<br />Pwd: kuxu

  • nsis遍历当前目录

    demo.nsi Outfile "helloworld.exe" Section ;$0表示文件句柄, $1获得的文件名 FindFirst $0 $1 "$EXEDIR\*.py" loop: ;文件名为空结束循环 StrCmp $1 "" done ;打印 ...

  • 使用FindFirstFile和FindNextFile查找某个目录下的所有文件

    使用FindFirstFile和FindNextFile查找某个目录下的所有文件(包括子目录)   来源:网络收集  整理日期:08月25日 19:38  学新网:studynew.com

  • C/C++ 利用FindFirstFile()和FindNextFile() 历遍指定目录的所有文件

    本文利用FindFirstFile(),FindNextFile()函数历遍指定目录的所有文件,最基础的历遍所有文件。一下代码尚无法解决文件名为中文时的乱码问题,以及无法分别无后缀的文件名和文件夹名的区别。FindFirstFile()用于获得指定目录的第一个文件。其原型为:HANDLE WINAPI FindFirstFile( _In_   LPCTSTR lpFileName, _O

  • vs2015 c++ _findnext 报错

    定位_findnext(hFile,&amp;fileinfo) 报错。 错误 :0x00007FFC70CB0B2D (ntdll.dll)处(位于 Cutton_Dlg.exe 中)引发的异常: 0xC0000005: 写入位置 0xFFFFFFFFAE1B1940 时发生访问冲突。 解决方法: long hFile;改成:intptr_t hFile; 因为_findnex...

  • C语言二叉树 遍历目录树

    #include "stdio.h"#include "windows.h"#include using namespace std;unsigned long sum = 0;//////////////////////////////////////////////////////////////////////////// 目录树链表结点定义typedef struct _tFileTree

  • FindFirstFile 错误: ERROR_FILE_NOT_FOUND

    错误:hFindFile = FindFirstFile( tCurrentDirecory , &findData ); hFindFile = INVALID_HANDLE_VALUE GetLastError()得到的错误提示是2 ERROR_FILE_NOT_FOUND 无法找到要打开的文件。warning C4133: “函数”: 从“char [66]”到“LPCWSTR”的类

  • C++ 中利用 _findfirst遍历所有文件夹及文件,以及findnext win10报错解决办法

    C++中读取文件可以采用几个函数分别为,_findfirst、_findnext、_findclose。其中还要借助结构体 struct _finddata_t,_finddata_t主要用来存储各种文件的信息。struct _finddata64i32_t { unsigned attrib; __time64_t time_create; /* -...

  • NSIS 查找目录下的所有文件夹

    在制作安装包的时候,需要查看下某一目录下的所有文件夹的名称。经过查资料发现需要用到NSIS 的一个插件 Locate。下载该插件后,会在NSIS的安装目录 ...Program Files\NSIS\Plugins 下看到该插件Locate.dll ; locate 函数是用来查找文件,文件夹目录,空文件夹 的函数。参考https://nsis.sourceforge.io/Docs/Appen...

  • 使用FindFirstFile和FindNextFile递归遍历文件目录

    void PrintDir(const char *path, const char *ext = "*") { //文件信息 WIN32_FIND_DATA ffd; string dir = path; dir += "\\"; dir += ext; //打开目录,获取第一个文件/目录 HANDLE hFind = FindFirstFile(A2WString(dir.c_...

  • C/C++:遍历子目录,枚举文件,FindFirstFile + FindNextFile

      平时写程序时经常会用到的遍历子目录枚举文件的功能,用 Windows API 函数 FindFirstFile() 和 FindNextFile() 直接实现起来会相当繁琐,有许多细节需要注意和记忆,要在短时间内写出可以正常工作的、没有BUG的、能够递归遍历多层子目录并枚举其中所有文件的程序代码,不是一件轻松的事情。以下这个 doFileEnumeration() 函数,是我(liigo)在

  • C语言遍历文件目录:readdir,opendir

    环境:Linux系统 头文件: #include&amp;lt;sys/types.h&amp;gt; #include&amp;lt;dirent.h&amp;gt; 一、opendir 原型 DIR* opendir (const char * path ); 参数与功能 path为目录路径,打开一个目录,在失败的时候返回一个空的指针。 返回值 DIR*,DIR结构体类似于FILE,是一个内部结构,以下...

  • 递归搜索文件目录中的所有文件(vc)

    李国帅 于2009-07-08void FindFileInDir(char* rootDir, char* strRet) { char fname[MAC_FILENAMELENOPATH]; ZeroMemory(fname, MAC_FILENAMELENOPATH); WIN32_FIND_DATA fd; ZeroMemory(&fd, sizeof(W

  • findfile函数 部分文件名_一个简单函数的复杂故事

    魔都进入夏季,多雨闷热,坐着不动也可能汗流浃背。最近忙于项目和书稿,有点顾不上写公众号了。今日周末,忙里偷闲,把昨日遇到的一个真实问题与大家分享一下。 故事的开端是在使用一个新的样本(视频文件)测试我的识别程序时,VS报告了下面所示的运行期检查错误。点击重试进行调试,观察栈回溯,发生在Windows 10引入的ucrt库中。 默认没有加载符号,所以只显示了UC...

Global site tag (gtag.js) - Google Analytics