Python1Python学习报告1、学习目标1.了解python的特性及用处。2.熟悉python的基本语法。3.能编写简单的python程序。2、Python的简单介绍1.与Perl一样,Python也是一种解释语言,它完全采用面向对象的方式,语言结构介于C语言和Perl语言之间。虽然它被视作一种高极语言,但它的内置解释器的功能却非常基本,仅有几种功能、操作符和关键词便构成了整个程序语言。它的优势可不仅如此,它还能通过一系列的模块进行扩充。它既比Perl和VB语句更快更好,又比C和C++语言更有扩充性。3、python环境的搭建1.python安装1由于python3.x与python2.x是不兼容。而目前的使用主流还是phthon。所以我学习使用的是python2.4.3版本。该版本已经有Centos系统自带。2如没有安装python,可以自行下载安装。下载地址。2.Python编辑器安装:yuminstallpython-tools。3.安装完idle后,直接在终端输入idle即可运行。4、熟悉python1.python的数学计算1打开终端,并输入idle打开python编辑器2python的特点之一是支持数学运算,只要输入正确的算式,就能得到答案。Python23python的变量无须声明,可以直接使用。例1)1*55例2)a=5b=3a-b22.helloword的编写1编写一个简单的helloword程序2输出字符串可以用print,同时要给字符串加上单引号或者双引号。例1)printhellowordhelloword例2)print'ok'ok5、生成可执行文件1.用vim编辑器vimhello.py#!/usr/bin/pythonprinthello2.保存3.改变文件权限chmoda+whello.py4../hello.py6、学习的基本语法总结1.在python中单引号的效用是等同于双引号,所有的字符串用单引号或者双引号。2.在python中引入了三引号,针对特别长的文字,避免重复使用\。3.Python是要求有强制缩进。4.python中的变量不用声明类型,可以直接使用。5.python程序是顺序执行,没有类似C语言的main()入口。Python36.Python的函数声明实现是一起的。7.在if等语句的条件后面,必须有“:”。8.函数的定义def函数名(参数,参数),且必须以空行来结束函数。9.在linux平台必须以#!/usr/bin/python开头,告诉shell执行时,去用/bin/python来解释执行10.在函数中使用全局变量时,需要用global。11.字符串的长度是用len。7、程序流程控制1.包括if...else...、for、while、break、continue等,此处于C语言类似。值得注意的是python里没有switchcase语句。1if....else例1)ifx0:...x=0...print'Negativechangedtozero'...elifx==0:...print'Zero'...elifx==1:...print'Single'...else:...print'More'...2forbreak例1)forninrange(2,10):...forxinrange(2,n):...ifn%x==0:...printn,'equals',x,'*',n/x...break...else:...printn,'isaprimenumber'...2.python的for与C语言中的略有不同。Python的for循环是对任意种类的序列(如列表或字符串)按出现次序遍历每一项。Python48、python的列表1.python的列表是我学习两天来,认为最为强大的功能之一。而且列表里的元素可以是不同类型的,这也是很大的特色。同时python已经有了对列表元素的处理方法,不用自己去实现,这一点比C语言方便很多。2.列表的一些常用函数1insert(i,x)-----在i下标处,插入字符x例1)a=[1,2,3,4]a[1,2,3,4]a.insert(1,5)a[1,5,2,3,4]2append(x)-----在列表添加元素到最后。例1)a.append(6)a[1,5,2,3,4,6]3index(x)------在列表中查找值x然后返回第一个值为x的元素的下标例1)a.index(5)14remove(x)-----在列表中删除第一个值为x的元素,找不到时出错。例1)a.remove(4)a[1,5,2,3,,6]5sort()--------在列表中排序,改变原来的列表。例1)a.sort()a[1,5,3,4,6]6reverse()----把列表元素反序。改变列表。例1)a.reverse()a[6,5,4,3,1]7count(x)----返回x在列表中出现的次数。Python5例1)a.count(3)18filter(函数,序列)返回的是是一个序列,一个符合条件的元素的序列。9map(函数,序列)对指定序列的每一项调用指定的函数,结果为返回值组成的列表。10reduce(函数,序列)对结果和序列下一项调用函数得到一个新结果。9、元组与python的列表类似,与列表不同的地方就是元组的定义方式,以及元组定义后就不能改变的特性。10、字典1.字典这种数据类型,也是我刚接触的一种类型。它不是用在一个范围之内的数字下标来索引,而是用键值来索引,键值可以是任何不可变类型。2.在同一字典里,键值必须是不同的。以这样的方式来定义{“键值:值”,“键值:值”}。3.注意:在定义后,添加新的键值时,是添加到第一位置。例1)tel={'jack':4098,'sape':4139}tel['guido']=4127tel{'sape':4139,'guido':4127,'jack':4098}11、对系统命令的调用1.学习了python对shell命令的调用。主要学习了三种调用方法1用os.system(cmd)不过取不了返回值。2用os.popen(cmd)要得到命令的输出内容,只需再调用下read()或readlines()等。3用commands模块。其实也是对popen的封装。此模块主要有如下方法commands.getstatusoutput(cmd)返回(status,output).commands.getoutput(cmd)Python6只返回输出结果。2.调用ping的输出结果例1)importoscmd='ping192.168.1.59-c3'a=os.popen(cmd).read()a'PING192.168.1.59(192.168.1.59)56(84)bytesofdata.\n64bytesfrom192.168.1.59:icmp_seq=1ttl=64time=0.018ms\n64bytesfrom192.168.1.59:icmp_seq=2ttl=64time=0.026ms\n64bytesfrom192.168.1.59:icmp_seq=3ttl=64time=0.025ms\n\n---192.168.1.59pingstatistics---\n3packetstransmitted,3received,0%packetloss,time1999ms\nrttmin/avg/max/mdev=0.018/0.023/0.026/0.003ms\n'例2)a=commands.getstatusoutput('ping192.168.1.59-c3')a(0,'PING192.168.1.59(192.168.1.59)56(84)bytesofdata.\n64bytesfrom192.168.1.59:icmp_seq=1ttl=64time=0.021ms\n64bytesfrom192.168.1.59:icmp_seq=2ttl=64time=0.021ms\n64bytesfrom192.168.1.59:icmp_seq=3ttl=64time=0.023ms\n\n---192.168.1.59pingstatistics---\n3packetstransmitted,3received,0%packetloss,time1999ms\nrttmin/avg/max/mdev=0.021/0.021/0.023/0.005ms')