系统运维
博文结构
Python的安装
Python开发工具IDLE
Python字符串与列表
Python字符串与列表
一.Python概述
Python语言诞生于20世纪90年代初,早期主要应用于做科学计算的研究机构.近些年由于Web,大数据、人工智能的发展,它已被逐渐广泛应用于系统管理任务的处理和Web编程方面,成为较受欢迎的程序设计语言之一。
Python的语言特点
Python使用C语言开发,但是Python不再有C语言中的指针等复杂数据类型. Python 的简洁性使得软件的代码大幅度地减少,开发任务进一步简化。 程序员关注的重点不再是语法特性,而是程序所要实现的任务。Python 语言的主要特点如下。
序所要实现的任务。Python 语言的主要特点如下。
(1) 简单: Python 语言的关键字比较少, 它没有分号.代码块使用空格或制表键缩进的方式来分隔,简化了循环语句。Python的代码简洁、短小,易于阅读。
(2)易学: Python极其容易上手,因为Python有极其简单的说明文档。
(3)免费、开源:使用者可以自由地发布这个软件的复制、阅读它的源代码
(4)高层语言:无须考虑诸如如何管理内存一类的底层细节。
(5) 可移植性: Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)
(6)解释性: Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。
(7)面向对象:Python既支持面向过程的编程也支持面向对象的编程。
(8) 可扩展性: Python是采用C语言开发的,因此可以使用C语言扩展Python。
(9) 可嵌入性:可以把Python嵌入C/C++程序,从而使程序向用户提供脚本功能。
(10) 丰富的库: Python标准库很庞大,可以帮助处理各种工作,包括正则表达式、文档生成.单元测试、线程.数据库.网页浏览器、CGI.FTP.电子邮件.
Python语言的应用场景
(1)系统编程:能方便进行系统维护和管理,是很多Linux系统管理员理想的编程工具。
(2) 图形处理:有PIL. Tkinter 等图形库支持,能方便进行图形处理。
(3) 数学处理: NumPy扩展提供大量与标准数学库的接口。
(4)文本处理: Python提供的re模块能支持正则表达式,还提供SGML. XML分析模块。
(5) 数据库编程,Python可以操作Microsoft SQL Server、 Oracle. mysql等数据库。
(6)网络编程:提供丰富的模块,支持sockets编程,能方便快速地开发分布式应用程序。
(7) Web编程:可以作为Web应用程序的开发语言。
(8)多媒体应用: Python的PyOpenGL模块封装了“ OpenGL 应用程序编程接口’
二.Python的版本和安装
目前Python有版本2和版本3这两个版本,它们并不兼容,语法存在差别。许多Python初学者都会问:我应该学习哪个版本的Python? 对于这个问题,较好的回答通常是、先选择一 个最适合你的Python课程,课程中使用哪个版本的Python,就用哪个版本,等学得差不多了,再来研究不同版本之间的差别”。
下载Python
http:/ /www . python.org
安装Python
一直默认就可以
三.Python开发工具IDLE
学习Python语言,首先要掌握开发工具 IDLE,它可以方便地运行代码和做相关的调试,实现了代码的语法加亮.代码提示和代码补全等智能化的功能.
安装Python后,我们可以从“开始”→“IDLE (Python GUI)”菜单来启动IDLE. 启动后默认是Shell模块,每输入-行代码按Enter键后,代码会马上执行。
IDLE参数设置
更改字体
更改能够上下翻出命令
利用IDLE编写代码
>>> import os
>>> os.mkdir (\'d:\\www\') \\\\在本地D盘创建一个目录
IDLE的编辑模式
可以编写脚本(编写一个在C盘创建aaa并保存运行)
四.Python的变量
对Python的模块和使用有了初步的了解后,下面就是对 Python语法的学习,首先就是Python变量的使用。
案例;
>>> xws=1 \\\\创建变量
>>> print xws \\\\输出变量
1
注:不能使用#,数字开头
>>> a,b,c=1,2,3 \\\\创建连续变量
>>> print a,b,c
1 2 3
a,b,c=1,2,3同时给3个变量进行了赋值操作,简化了多个变量赋值的代码。
五.Python常用的数据类型
Python内置的数据类型有数字、字符串,元组、列表和字典。
数字
1.整型和浮点型
数字类型包括整型、浮点型、 布尔型等,声明时由Python内置的基本数据类型来管理变量,在程序的后台实现数值与类型的关联.以及转换等操作。根据变量的值自动判断变量的类型,程序员不需要关心变量空间是什么类型,只要知道创建的变量中存放了一个数,程序只是对这个数值进行操作。
>>> x=123
>>> print x
123
>>> x=1.1
>>> print x
1.1
以上代码首先定义了变量x=123.此时的x值是整数. x即是整型变量.当x=1 .98时, x又成为了浮点型变量,由此可以看出,变量的类型是能改变的,这点与Java. C#语言等是有区别的。这是因为当Python给已经存在的变量再次赋值时,实际上是创建了一个新的变量. 即使变量名相同,但标识并不相同,变量的标识可以使用id函数输出。
2.布尔型
布尔型用于逻辑运算,有两个值True. False, 表示真和假。
>>> f = True
>>> print f
True
>>> if(f):
print 1
1
>>>
代码定义了变量 f=True, if 是判断语句.为真则执行print语句,最后输出的是1, 说明语 句执行成功。
Python运算符
Python中使用的算术运算符和数学运算中使用的符号基本相同,由+.-.*./(加、减、乘.除)和小括号组成,运算顺序也是先乘除后加减、小括号优先。下面演示几个示例说明它们的使用方法:
>>> x,y=1,2
>>> print x+y,x*y
3 2
>>>
字符串
Python中的字符串类型是一组包含数字. 字母和符号的集合,作为一个整体使用。
在Python中有3种表示字符串的方式,单引号、 双引号.三引号,示例如下:
>>> name = \'aaa\'
>>> address = bbb
>>> xws = \'\'\'a
b
c
\'\'\'
>>> print xws
a
b
c
(1) 单引号、双引号、三引号它们是成对出现的,如以单引号开头就要以单引号结尾,不能混合使用表示字符串。代码就会报错
字符串的其他用法
Python的字符串可以进行乘法的操作,可以用- -个整型数字和字符串相乘,如用数字3乘字符串‘a”,结果是字符串aaa”, 相同于字符串"a” 连接了3遍,代码如下:
>>> print 3*\'a\'
aaa
>>>
六.列表
列表(list) 是Python 中非常重要的数据类型,通常作为函数的返回类型。由一组元素组成, 列表可以实现添加、删除和查找操作,元素值可以被修改。
列表的定义
列表是Python内置的一种数据结构,由中括号定义,元素以逗号分开,语法如下:
列表名= [元素1,元素2..]
列表的取值
(1) 列表中的数据是有序的.按定义时的顺序排好,可以单独取出某一 位置元素的数值.语法如下:
列表名[索引位置]
案例:
>>> num = [\'01\',\'02\',\'03\']
>>> print num[0]
01
>>> print num[1]
02
>>> print num[2]
03
>>>
定义了列表num,存储了3个字符串顺序是001\’. “002”. \’003\’ .取值时用列表名num加上中括号,数字表示索引位置,需要注意位置是由0开始依次递增。
可以获取列表指定范围的一组元素,语法如下:
列表名[起始位置:终止位置
可以输出起始位置到终止位置前的元素,不包括终止位置
>>> num = [\'01\',\'02\',\'03\']
>>> print num[0:1]
[\'01\']
>>> print num[0:2]
[\'01\', \'02\']
>>> print num[0:3]
[\'01\', \'02\', \'03\']
>>>
修改列表元素值
语法如下:
列表名[索引位置] =值
>>> num=[\'01\',\'02\',\'03\']
>>> num[0]=\'04\'
>>> print num
[\'04\', \'02\', \'03\']
>>>
定义列表时,索引位置0的元素是“001”,修改它的值为“004"后,索引位置0元素变为了“004"
添加列表元素
可以把一个元素添加到列表的最后.语法如下:
列表名. append (元素值)
>>> num=[\'01\',\'02\',\'03\']
>>> print num
[\'01\', \'02\', \'03\']
>>> num.append(\'04\')
>>> print num
[\'01\', \'02\', \'03\', \'04\']
>>>
在列表指定位置前插入新的元素,语法如下:
列表名. insert (索引位置,元素值)
>>> num=[\'01\',\'02\',\'03\']
>>> num.insert(1,\'004\')
>>> print num
[\'01\', \'004\', \'02\', \'03\']
>>>
删除列表元素
>>> num = [\'1\',\'2\']
>>> del num[1]
>>> print num
[\'1\']
>>> del num \\\\删除整个列表
>>> print num
Traceback (most recent call last):
File <pyshell#108>, line 1, in <module>
print num
NameError: name \'num\' is not defined
>>>
查找列表元素
语法如下:
元素值in列表名
>>> num=[\'1\',\'2\',\'3\']
>>> \'1\' in num
True \\\\存在
>>> \'4\' in num
False \\\\不存在
>>>
合并列表
多个列表可以使用加号进行合并.
>>> a=[\'1\',\'2\']
>>> b=[\'3\',\'4\']
>>> c=a+b
>>> print c
[\'1\', \'2\', \'3\', \'4\']
>>>
列表常见问题
(1) 索引越界是使用列表时经常犯的一个错误,如列表中有3个元素.因为索引位置是从0开始计算,所以最大的索引值是2.如果索引值大于2.表示索引是越界的,程序无法执行,示例代码如下:
>>> bun=[\'01\',\'02\',\'03\']
>>> print bun
[\'01\', \'02\', \'03\']
>>> print bun[5]
Traceback (most recent call last):
File <pyshell#142>, line 1, in <module>
print bun[5]
IndexError: list index out of range
>>>
七.元组
元组(uple) 和列表类似,也是Python的一种数据结构, 由不同的元素组成,每个元素可以存储不同类型的数据,如字符串.数字、甚至元组。 但元组是不可以修改的,即元组创建后不能做任何的修改操作,元组通常表示一-行数据 ,而元组中的元素表示不同的数据项。
元组的创建
元组由关键字小括号定义,一旦创建后就不能修改元组的内容,定义的语法如下:
元组名= (元素1,元素...)
>>> num=(\'01\',\'02\',\'03\')
>>> num[0]=\'04\'
Traceback (most recent call last):
File <pyshell#146>, line 1, in <module>
num[0]=\'04\'
TypeError: \'tuple\' object does not support item assignment
>>>
可以看到不能修改
元素与列表的区别
元组的操作
元组也可对其元素执行一系列的操作。
元组不允许删除元组中的元素值,但是可以删除整个元组,语法如下:
del元组名
元组和列表可以做互相转换操作,元组转换为列表的语法如下,
list (列表名)
>>> num = (\'1\',\'2\',\'3\') \\\\元组
>>> listnum = list(num) \\\\转换为列表
>>> print listnum
[\'1\', \'2\', \'3\']
>>> listnum[0]=\'4\' \\\\修改列表
>>> print listnum
[\'4\', \'2\', \'3\']
>>> print type(num) \\\\输出元组类型
<type \'tuple\'>
>>> print type(listnum) \\\\输出列表类型
<type \'list\'>
>>>
列表转换为元组的语法如下:
tuple(列表名)
>>> num=[\'3\',\'4\']
>>> tuplenum = tuple(num)
>>> print type(num)
<type \'list\'>
>>> print type(tuplenum)
<type \'tuple\'>
>>>
八.字典
字典(dict) 是Python中重要的数据类型,字典是由‘键- -值”对组成的集合, 字典中的值通过键来引用。
字典的创建
字典的每个元素是由”键一值” 对(key-value) 组成的,键值之间使用冒号分隔,“键-值”对之间用逗号隔开,并且被包含在一对花括号中。键是唯- -的,不能存在多个,且它的值是无序的,键可以是数字、字符串、元组,-般用字符串作为键。定义的语法如下:
字典名= {键1:值1,键2:值2,…)
>>> a={\'zhangsan\',\'111\',:\'lisi\',\'222\'}
SyntaxError: invalid syntax
3
>>> a={\'zhangsan\':\'111\',\'lisi\':\'222\'}
>>> print a
{\'lisi\': \'222\', \'zhangsan\': \'111\'}
>>>
字典的取值操作
字典的取值与元组和列表有所不同,元组和列表都是通过数字索引获取对应位置的值,而字典是通过键获取对应的值。取值的语法如下:
字典[键]
>>> a={\'zhangsan\':\'111\',\'lisi\':\'222\'}
>>> print a[zhangsan]
111
>>>
字典的添加、修改、删除操作
字典添加新元素只需要对新键进行赋值即可,字典中不存在的键,会自动进行添加。示例如下:
>>> a={\'zhangsan\':\'123\',\'lisi\':\'456\'}
>>> a[\'zhangsan\']=\'321\'
>>> print a
{\'lisi\': \'456\', \'zhangsan\': \'321\'}
>>>
删除字典中的元素,使用del 函数,语法如下:
>>> del a[\'zhangsan\']
>>> a={\'zhangsan\':\'1\',\'lisi\':\'2\'}
>>> del a[\'zhangsan\']
>>> print a
{\'lisi\': \'2\'}
>>>