Python入门二三事

feilniu 2010-08-04 02:28:17
加精
关于Python的赞誉比比皆是,不再赘述。CSDN的赖永浩有一阵子的博客签名很是精辟,引用一下:
Life is short, you need Python.

下文中,如果提到Python,指的是这一种语言;如果写作python,则是指Python语言的解释程序。

1. 选择版本
Python目前存在一个很大的问题,是新版本3.X与旧版本2.X不兼容带来的混乱。这种混乱状态大概会持续若干年。等到从混乱中浴火重生之后,甩掉历史包袱后的Python 3+应该可以更加步履轻盈地前进。就当下而言,新手选择学习Python,第一步就面临选择版本的问题。
* 如果只是Python的基本应用(事实上Python的官方标准库已经非常强大了),不需要使用第三方库,可以选择直接从3.X开始学习;Python 3+的语言结构更简明一致,便于学习和使用,而且这也是Python的未来趋势。
* 如果需要使用第三方库,那只能根据各个需要的库所支持的版本来选择。
更多信息可参考官方建议:http://wiki.python.org/moin/Python2orPython3

2. 安装和配置
在Windows平台,Python安装是独立的,下载对应的安装文件按提示步骤安装即可,而且安装后的文件包含一个打包为CHM的官方帮助文件,非常有用。安装完成后,记得把安装路径(即包含python.exe文件的目录)加入到环境变量Path中。
打开命令提示符:
[code=BatchFile]
C:\>python -V
Python 3.0.1
[/code]
注意:-V是大写。许多从Linux移植到Windows命令行的程序,参数都是大小写敏感的。

3. Python的运行
Python支持交互式的(就像一个命令提示符或Shell一样)方式来执行命令,我认为这是Python迷人特色之一(进行尝试和摸索非常方便)。直接输入python命令而不加参数,则可进入交互模式(图形界面下还可以使用IDLE。我用AutoHotKey将Ctrl+Alt+P设定为打开IDLE,省却了去开始菜单找。):

C:\>python
Python 3.0.1 (r301:69561, Feb 13 2009, 20:04:18) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> s = 'Unicode字符串,支持多国文字。' # Python3的字符串统一为Unicode
>>> s
'Unicode字符串,支持多国文字。'
>>> s.encode('gbk') # 通过encode方法,将字符串(str类型)按指定编码方案转换为字节流(bytes类型)。逆过程为bytes类型的decode方法。
b'Unicode\xd7\xd6\xb7\xfb\xb4\xae\xa3\xac\xd6\xa7\xb3\xd6\xb6\xe0\xb9\xfa\xce\xc4\xd7\xd6\xa1\xa3'
>>> s.encode('utf_8')
b'Unicode\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2\xef\xbc\x8c\xe6\x94\xaf\xe6\x8c\x81\xe5\xa4\x9a\xe5\x9b\xbd\xe6\x96\x87\xe5\xad\x97\xe3\x80\x82'
>>> 2 ** 32 # 表示2的32次方
4294967296 # IPv4支持的地址个数
>>> 2 ** 128 # Python支持无限长的整数类型
340282366920938463463374607431768211456 # IPv6支持的地址个数,应该是够用了。
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 's']
>>> exit()

在交互模式下只输入一个变量s,将显示该变量的值,而print(s)表示将变量s输出,二者略有区别。

编写好的Python脚本,如Helloworld.py,可以通过命令python Helloworld.py或直接输入Helloworld.py(直接输入文件名和双击运行的原理是一样的)来执行。如果是GUI程序,可以把脚本扩展名改为.pyw,不显示命令提示符窗口。
在Windows平台直接输入文件名和双击运行文件,原理是系统将文件类型(由脚本文件扩展名识别)关联到了python解释器,可通过如下命令查看:
[code=BatchFile]
::查看.py扩展名关联的文件类型
C:\>assoc .py
.py=Python.File
::查看Python.File文件的运行方式
C:\>ftype Python.File
Python.File="C:\Python30\python.exe" "%1" %*
::查看所有Python相关的文件扩展名
C:\>assoc | find "Python"
.py=Python.File
.pyc=Python.CompiledFile
.pyo=Python.CompiledFile
.pyw=Python.NoConFile
[/code]
如果文件关联失效或错误(比如安装Python的多个版本,文件关联会以最后一个安装的版本为准),可以用这两个命令来查看和修复问题。

4. Python Booklist
学习Python最方便的参考书莫过于官方文档。Windows的安装文件里自带一个CHM格式的官方打包文档,内容非常完整。初学的话,把Tutorial浏览一遍,然后结合着Language Reference和Standard Library写程序即可入门。
如果想要找Python相关的书,以下是一些经典书目:
* A Byte of Python:入门书
* Learning Python:入门书
* Programming Python:较为全面的介绍
* Python Cookbook:Hack with Python技巧大全
* Dive Into Python:一本知名度很高但比较有争议的书,建议入门后再看。
* Python源码剖析:剖析Python的内部机制;也是国内原创技术图书中不错的一本。
这里还有一个Python的书单:http://book.douban.com/doulist/63694/
...全文
33454 478 打赏 收藏 转发到动态 举报
写回复
用AI写文章
478 条回复
切换为时间正序
请发表友善的回复…
发表回复
y-u-i酱 2013-04-21
  • 打赏
  • 举报
回复
不错,最近刚好在入门阶段中
夏之冰雪 2012-09-28
  • 打赏
  • 举报
回复
刚开始学,希望常来这里能学点东西。
张在兴 2012-09-28
  • 打赏
  • 举报
回复
为啥 python 突然这么火了呢
  • 打赏
  • 举报
回复
《python参考手册(第四版)》也不错。
HAN-Kai 2012-09-20
  • 打赏
  • 举报
回复
这个贴太好了
Soul322fish 2012-09-09
  • 打赏
  • 举报
回复
python 2.6+django 用起来不错
plaeks 2012-09-04
  • 打赏
  • 举报
回复
最近正好想看看python,多谢入门提点
o0xiejin0o 2012-09-03
  • 打赏
  • 举报
回复
好帖啊,适合刚入门的我~
chenai_xiao 2012-08-07
  • 打赏
  • 举报
回复
还在学习,看来还要多努力
yangyang0326 2012-08-03
  • 打赏
  • 举报
回复
我一直在学习python核心编程
sias_peiqiang 2012-07-22
  • 打赏
  • 举报
回复
hao
llgengye 2012-07-07
  • 打赏
  • 举报
回复
文章不错,值得学习
llgengye 2012-07-07
  • 打赏
  • 举报
回复
学习中
ringboow2012 2012-07-04
  • 打赏
  • 举报
回复
收藏了先。
jomenxiao 2012-06-08
  • 打赏
  • 举报
回复
谢谢,知道
薛定谔之死猫 2012-06-08
  • 打赏
  • 举报
回复
两年前的帖子哦,那几本书都海大,用作入门战线太长,个人认为篇幅超出300页的书基本上就可以当做字典查了,开始还是得找本薄的,日后应用过程中自己不断扩充~
DotNet 2012-06-08
  • 打赏
  • 举报
回复
诺诺的问下,python能做些什么事,
zfen12x 2012-04-22
  • 打赏
  • 举报
回复
谢谢,顶起!
L传ov心e 2012-04-21
  • 打赏
  • 举报
回复
刚学安装的是3+版本,在图书馆借的是2001年出的书,我了个去,差点断送了我学习Python的路!!!
qq751557996 2012-04-15
  • 打赏
  • 举报
回复
不错 有没有linux环境下把 毕竟一般linux管理员都用!!!
加载更多回复(401)

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧