首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

Python进阶(3)——Python语法

2012-09-09 
Python进阶(三)——Python语法近几年来,随着Google、YouTube、IRobot等大公司对Python语言的广泛使用,Python公

Python进阶(三)——Python语法

近几年来,随着Google、YouTube、IRobot等大公司对Python语言的广泛使用,Python公司的身影经常出现与我们的视线,Python语言也在软件质量、开发效率、程序的可移植性、标准库的支持等方面成为了一个优秀的程序开发语言,可以完成网站、游戏开发到航空航天控制等领域的各种任务。本栏目希望通过学习《Python学习手册》和网站上的相关指导,从零学习Python,希望对大家有一些帮助。

本栏目开发环境:Windows 7 + Python 2.7.2 + VS2008(以后集成)


Python进阶(三)—— Python语法




之前在第二章,Python对象类型时,我们已经讲过了python中基本类型,并用一些例子说明,大家应该已经对Python的语法有了基本了解,本章就不多讲赋值、表达式和打印的语法了,针对if测试、while和for循环、以及文档三部分做出具体讲解。





第一节、if测试

    if测试的一般形式:

Python进阶(3)——Python语法

if-elif-else语法举例(Python中的多路分支):








第二节、while和for循环

1.  while循环

while循环的一般格式:

Python进阶(3)——Python语法


for example:


Python进阶(3)——Python语法


break,continue,pass,else:break:跳出循环;continue:跳到循环的首行;pass:什么都不做,空占位(比如现在只占个位子,以后再写内容);else:循环正常离开后执行;

举个例子:


example1:



for循环进行文件迭代:

Python进阶(3)——Python语法


这就是传说中的文件迭代器,当然还存在其他的迭代器,比如字典有字典的迭代器,如上一节中所讲:


Python进阶(3)——Python语法


循环计数器:range

range常用在for循环中产生索引,也可以用在需要整数列表的任何地方:

>>> range(5),range(2,5),range(0,10,2)
([0, 1, 2, 3, 4], [2, 3, 4], [0, 2, 4, 6, 8])


非完全遍历:



map与zip的唯一不同是,map用类似的方法把序列的元素配对后,为较短的序列以None补齐。

另外还可以用zip构造字典:



enumerate函数返回一个生成器对象,该对象有一个next方法,每次列表遍历时,会返回一个(index,value)的元组。






第三节、文档


之前有朋友一直在问,Python的语法即便非常清晰,其预置功能数量依然惊人:内置函数和异常、预定义对象属性和方法、标准库模块等。我们之前只谈到了皮毛而已,那么困扰初学者的问题来了:怎样找到这些内置工具呢?本节提供了一些python可用的文档资源。


Python进阶(3)——Python语法

表1. python文档资源


#注释、dir函数和help函数之前我们已讲过,不予赘述,这里我们来看看其他几项。



__doc__是自动附加在对象上的文档,而且在运行时还可保存查看(类似#),从语法上来说,这类注释是写成字符串,放在模块文件、函数积累语句的顶端,在任何可执行代码前的。python会自动封装这个字符串。PyDoc:HTML报表:PyDoc提供的GUI接口可以将报表通过HTML网页格式来呈现。标准手册集:ActivePython27.chm(不同版本有不同名称)






最后呢,还要给大家奉送上一些常见陷阱:

不要忘记冒号从第一行开始写程序空白行在交互模式提示符下非常significant模块文件中的空白行都会被忽略,但是交互模式下输入空白行会结束语句。同一模块内缩进一致不要尝试在Python中写C代码,比如if (x==1):其实语法上没关系,但是是多余的,另外语句后不要打分号推荐使用简单的for循环,而不是while和range。因为for循环速度比较快,有时比等效的while快两倍


=====================================================小结本章讲述了Python语法,主要是if条件判定,while/for循环和一些帮助文档,希望大家有所收获,下一张将针对Python函数进行讲解。后面将更加注重Python的科学计算方面。



关于Python更多的学习资料将继续更新,敬请关注本博客和新浪微博Sophia_qing。






4楼pl___昨天 14:05
为什么是python2 不是python3 ?
Re: lhdgriver昨天 21:43
回复pl___n目前大多数的包啊什么的都是python2.x的~
3楼okgoood昨天 13:54
对PYTHON没兴趣,过来看美女的。是LZ本人吗?
2楼iLife_bmy昨天 09:52
>>> L1=[1,2,3,4]n>>> L2=[5,6,7,8]n>>> zip(L1,L2)nnTraceback (most recent call last):n File "<pyshell#54>", line 1, in <module>n zip(L1,L2)nTypeError: 'tuple' object is not callable
Re: abcjennifer昨天 12:21
回复iLife_bmyn元祖不可用?没碰到过,map行么?
1楼iLife_bmy昨天 09:47
已拜读!呵呵!n谢谢分享!

热点排行