Python 学习报告
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。所以我学习使用的是python 2.4.3版本。该版本已经有Centos系统自带。
2如没有安装python,可以自行下载安装。下载地址/getit/。
2.Python编辑器安装:yum install python-tools。
3.安装完idle后,直接在终端输入idle即可运行。
4、熟悉python
1.python的数学计算
1打开终端,并输入idle打开python编辑器
2python的特点之一是支持数学运算,只要输入正确的算式,就能得到答案。
3python的变量无须声明,可以直接使用。
例1)>>> 1*5
            5
例2)>>> a = 5
            >>> b=3
            >>> a-b
            2
2.hello word 的编写
1编写一个简单的hello word程序
2输出字符串可以用print,同时要给字符串加上单引号或者双引号。
ignore me邮箱例1)>>> print "hello word"
            hello word
例2)>>> print 'ok'
            ok
5、生成可执行文件
1.用vim编辑器 vim hello.py
#!/usr/bin/python源代码解说
print "hello"
2.保存
3.指针变量是什么数据类型改变文件权限 chmod a+w hello.py
4../hello.py
6、学习的基本语法总结
1.在python中单引号的效用是等同于双引号,所有的字符串用单引号或者双引号。
2.在python中引入了三引号,针对特别长的文字,避免重复使用\。
3.Python是要求有强制缩进。
4.python中的变量不用声明类型,可以直接使用。
5.python程序是顺序执行,没有类似C语言的main()入口。
6.Python的函数声明实现是一起的。
7.在if 等语句的条件后面,必须有“:”。
8.函数的定义def 函数名(参数,参数) ,且必须以空行来结束函数。
9.在linux平台必须以#!/usr/bin/python开头,告诉 shell 执行时,去用/bin/python 来解释执行
10.在函数中使用全局变量时,需要用global 。
11.字符串的长度是用len。
7、程序流程控制
1.包括if... 、 for、 while 、break、continue等,此处于C语言类似。值得注意的是    python里没有switch case 语句。
1if....else
例1)>>> if x < 0:
            ...      x = 0
            ...      print 'Negative changed to zero'
              ... elif x == 0:
            ...      print 'Zero'
            ... elif x == 1:
            ...      print 'Single'
            ... else:
            ...      print 'More'
...
2for  break
例1)for n in range(2, 10):
            ...    for x in range(2, n):
            ...        if n % x == 0:
            ...            print n, 'equals', x, '*', n/x
            ...            break
            ...    else:
...          print n, 'is a prime number'
...
2.python的for与C语言中的略有不同。Python的for循环是对任意种类的序列(如列表或字符串)按出现次序遍历每一项。
8、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)
1
python入门教程编辑器4remove(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在列表中出现的次数。
例1)>>> a.count(3)
1
8filter(函数, 序列) 返回的是是一个序列,一个符合条件的元素的序列。
9map(函数,序列)对指定序列的每一项调用指定的函数,结果为返回值组成的列表。
10reduce(函数,序列)对结果和序列下一项调用函数得到一个新结果。
9、元组
    与python的列表类似,与列表不同的地方就是元组的定义方式,以及元组定义后就不能改变的特性。
10、字典
1.回车的ascii码值字典这种数据类型,也是我刚接触的一种类型。它不是用在一个范围之内的数字下标来索引,而是用键值来索引,键值可以是任何不可变类型。
2.在同一字典里,键值必须是不同的。以这样的方式来定义{“键值:值”,“键值:值”}。
3.注意:在定义后,添加新的键值时,是添加到第一位置。
例1)>>> tel = {'jack': 4098, 'sape': 4139}
            >>> tel['guido'] = 4127
                    >>> tel
                  {'sape': 4139, 'guido': 4127, 'jack': 4098}
11、对系统命令的调用
1.学习了python对shell命令的调用。主要学习了三种调用方法
1用os.system(cmd) 不过取不了返回值。
unicode ascii区别2用os.popen(cmd) 要得到命令的输出内容,只需再调用下read()或readlines()等。
3用commands模块。其实也是对popen的封装。此模块主要有如下方法statusoutput(cmd)返回(status,utput(cmd)只返回输出结果。
2.调用ping的输出结果
例1)>>> import os
            >>> cmd = 'ping 192.168.1.59 -c 3'
            >>> a = os.popen(cmd).read()
            >>> a
'PING 192.168.1.59 (192.168.1.59) 56(84) bytes of data.\n64 bytes from 192.168.1.59: icmp_seq=1 ttl=64 time=0.018 ms\n64 bytes from 192.168.1.59: icmp_seq=2 ttl=64 time=0.026 ms\n64 bytes from 192.168.1.59: icmp_seq=3 ttl=64 time=0.025 ms\n\n--- 19
2.168.1.59 ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 1999ms\nrtt min/avg/max/mdev = 0.018/0.023/0.026/0.003 ms\n'
例2)>>> statusoutput('ping 192.168.1.59 -c 3')
            >>> a
            (0, 'PING 192.168.1.59 (192.168.1.59) 56(84) bytes of data.\n64 bytes from                192.168.1.59: icmp_seq=1 ttl=64 time=0.021 ms\n64 bytes from 192.168.1.59:                icmp_seq=2 ttl=64 time=0.021 ms\n64 bytes from 192.168.1.59: icmp_seq=3                ttl=64 time=0.023 ms\n\n--- 192.168.1.59 ping statistics ---\n3 packets                    transmitted, 3 received, 0% packet loss, time 1999ms\nrtt min/avg/max/mdev =                0.021/0.021/0.023/0.005 ms')

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。