博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习python
阅读量:6180 次
发布时间:2019-06-21

本文共 2878 字,大约阅读时间需要 9 分钟。

接触的语言越多,对语言的偏执就越少,越来越明白语言只是一种解决问题的工具 - 核心永远是问题与解决问题的思路。

我的体验,从简练程度上来讲,shell脚本优于perl/python/lua,perl/python优于java/C++,所以能用前者解决的问题,就别用后者。

项目中用到python,前段时间就“系统”的学了下python - 主要也就是把官方的tutorial过了一遍,从学习python的资料来看,我的评价是:

  • Python Tutorial(), 简洁而重点突出,绝对是上品,把这个快速的过一篇,例子全部敲一遍,想说没入门都难。另外这里()download下来的,还有关于函数式编程,网络编程,argparse的专题,都是10来页的,读读挺不错
  • Learn python the hard way,这个去年过年的时候拷到ipad上读过几页,绝对是给没有编程经验的人看的,如果你是个程序员,相信全篇读下来你会被啰嗦死的 - 别降格去读这个了。
  • Learn Python,上千页的大部头,看着就有压力,要是没事就别浪费时间读了,边做边查reference吧。

另外,python提供了绝佳的交互式环境:

$ pythonPython 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> import os>>> dir(os)['F_OK', 'O_APPEND', 'O_BINARY', 'O_CREAT', 'O_EXCL', 'O_NOINHERIT', 'O_RANDOM', 'O_RDONLY', 'O_RDWR', 'O_SEQUENTIAL', 'O_SHORT_LIVED', 'O_TEMPORARY', 'O_TEXT', 'O_TRUNC', 'O_WRONLY', 'P_DETACH', 'P_NOWAIT', 'P_NOWAITO', 'P_OVERLAY', 'P_WAIT', 'R_OK', 'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'UserDict', 'W_OK', 'X_OK', '_Environ', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '_copy_reg', '_execvpe', '_exists', '_exit', '_get_exports_list', '_make_stat_result', '_make_statvfs_result', '_pickle_stat_result', '_pickle_statvfs_result', 'abort', 'access', 'altsep', 'chdir', 'chmod', 'close', 'closerange', 'curdir', 'defpath', 'devnull', 'dup', 'dup2', 'environ', 'errno', 'error', 'execl', 'execle', 'execlp', 'execlpe', 'execv', 'execve', 'execvp', 'execvpe', 'extsep', 'fdopen', 'fstat', 'fsync', 'getcwd', 'getcwdu', 'getenv', 'getpid', 'isatty', 'kill', 'linesep', 'listdir', 'lseek', 'lstat', 'makedirs', 'mkdir', 'name', 'open', 'pardir', 'path', 'pathsep', 'pipe', 'popen', 'popen2', 'popen3', 'popen4', 'putenv', 'read', 'remove', 'removedirs', 'rename', 'renames', 'rmdir', 'sep', 'spawnl', 'spawnle', 'spawnv', 'spawnve', 'startfile', 'stat', 'stat_float_times', 'stat_result', 'statvfs_result', 'strerror', 'sys', 'system', 'tempnam', 'times', 'tmpfile', 'tmpnam', 'umask', 'unlink', 'unsetenv', 'urandom', 'utime', 'waitpid', 'walk', 'write']>>> help(os.tmpfile)Help on built-in function tmpfile in module nt:tmpfile(...)    tmpfile() -> file object    Create a temporary file with no directory entries.>>> print os.tmpfile()
', mode 'w+b' at 0x02580CD8>

在python交互环境中,dir查找成员,help看成员的帮助文档,然是直接在命令行测试这个api ---- 一气呵成!

下面谈谈就根据我对python粗浅的了解,所感受到的其亮点:

  • 极佳的命令行交互体验,实时测试:见上
  • 函数式编程的工具:filter + map + reduce: filter(lambda x: x > 10, range(1,20))
  • list comprehension:[x for x in range(1,10) if x % 2 == 0]
  • 多变量赋值:a, b = b, a
  • lambda: lambda x: x > 10
  • for和try的else支持 - 在其他语言里这个都得另外加flag实现,相当不便。
  • 内置的documentation strings支持: """ This is a documentation string """
  • generator-pull模式:需要时才产生: xrange()
  • chained comparation: a < b == c
  • 模块机制:module - package
  • 标准的异常机制:try-except-finally; with statement
  • 内置的强大集合类:list, tuple, set, dict
  • 完善的标准库

转载地址:http://uubda.baihongyu.com/

你可能感兴趣的文章
独家 | 一文读懂推荐系统知识体系-下(评估、实战、学习资料)
查看>>
UIEvent&amp;nbsp;UIResponder&amp;nbsp;UI_04
查看>>
从非GP到GP
查看>>
云计算助力CDN加速
查看>>
iphone开发之多线程NSThread和NSInvocationOperation
查看>>
MFMailComposeViewController 发邮件
查看>>
velocity 模板解析类
查看>>
HTTP以及HTTPS协议
查看>>
Browser:浏览器版本判断类
查看>>
MyEclipse Servers视窗出现“Could not create the view: An unexpected exception was thrown”错误解决办法...
查看>>
伪类和伪元素
查看>>
jquery
查看>>
Day 3:模块结构和布局
查看>>
PWP+Nginx 集成环境下载
查看>>
【整理】RabbitMQ publish方法中的immediate和mandatory属性
查看>>
JAVA CAS原理深度分析
查看>>
权限模型
查看>>
如何配置 Log4J 只保留最近七天的日志文件
查看>>
Python 类与元类的深度挖掘 II
查看>>
prometheus收集springboot指标
查看>>