一:Python简介
1:诞生
Python产生于20世纪90年代,早期主要用于科学计算的研究机构,随着近年来web技术、大数据技术和人工智能的发展,已经成为最受欢迎的程序设计语言之一。
Python有C语言开发而成,但是对C语言进行了大幅的改进,去掉了负责的数据类型以及指针等内容。
2:Python的特点
简单
易学
免费
高层语言
可移植
解释性语言
面向对象
可扩展
可嵌入式
丰富的库
3:Python的应用领域
系统编程
图形处理
文本处理
数据库编程
网络编程
web编程
多媒体应用
二:Pthon的版本和安装
1:版本
目前Python有版本2和版本3,但他们并不兼容,语法存在差别
2:安装
本案例选择在windows server 2008 R2的系统上安装Python2.7的版本,想要安装其他版本可以在官网下载:
(1)安装python2.7
双击python-2.7.8.amd64.msi
安装完后点击开始菜单--所有程序--Python2.7--IDLE(Python GUI)
打开Python的编程界面即可写代码了
例1:
>>> import os
>>> os.mkdir('d:\qqq')
如图所示:
也可以写成脚本的形式:
打开编辑文件后输入
import os
os.mkdir('d:\www')
如图:
然后保存成脚本,如下图
保存时给脚本起个名字,并双击这个脚本文件,就可以运行代码了。
(2)将python写入到系统环境变量,这样就可以在cmd中执行pythn命令了
编辑Path变量,在变量值末尾加入 ;c:\Python27,如下图所示,保存后重启系统即可
(2)安装绘图工具
安装matplotlib
双击matplotlib-1.4.3.win-amd64-py2.7.exe
安装numpy
双击numpy-MKL-1.8.0.win-amd64-py2.7.exe
安装setuptools
解压setuptools-38.5.1.zip,打开cmd,进入setuptools目录,执行python setup.py install
安装pyparsing
解压pyparsing-2.2.0.tar.gz,打开cmd,进入pyparsing目录,执行python setup.py install
安装python-dateutil
解压python-dateutil-2.2.tar.gz,打开cmd,进入python-dateutil目录,执行python setup.py install
安装six
解压six-1.7.3.tar.gz,打开cmd,进入six目录,执行python setup.py install
安装后打开Python编辑模式,输入:
import matplotlib.pyplot as plt
plt.bar(left=(1,6),height=(6,10),width=4)
plt.show()
保存后运行,运行结果如下:
三:变量
变量时计算机内存中的一块区域,变量可以存储任何值,而且可以改变,变量由字母、数字、下划线组成,注意第一个字符必须时字母或下划线,不能是数字,也不能使用Python关键字,而且区分大小写。
例:
import matplotlib.pyplot as plt
left_1=1
left_2=6
height_1=6
height_2=10
width_all=4
plt.bar(left=(left_1,left_2),height=(height_1,height_2),width=width_all)
plt.show()
注释:left_1和left_2分别为两个柱状图的左边距
运行的结果为:
四:Python常用的数据类型
python内置的数据类型由数字、字符串、元组、列表和字典
1:数字
数字表阔整型、浮点型、布尔型等
(1) 整型和浮点型
例:
>>> x=123
>>> print x
123
>>> x=1.98
>>> print x
1.98
在python中变量有一个标识(id),给一个已经存在的变量再次赋值时,其实是声明了一个新的变量,而不是给它设置新的值;可以用print (id(x))命令查看变量的id号
(2) 布尔型
布尔型用于逻辑运算,由两个值true和false,标识真或假(对或错)
例:
>>> 3>4
False
>>> 3<4
True
(3) Python运算符
python中使用的段数运算符和数学运算中使用的符号基本相同,由+、-、*、/(加减乘除)和小括号组成,运算顺序是先算乘除,再算加减,小括号有先。还有两个运算符%和**,其中%是求模运算,**是求幂运算
例1:
>>> x,y=10,2
>>> print x+y,x*y,x/y
12 20 5
>>> print 5+8*3
29
>>> print 5+8*3/4
11
>>> print (5+8)*3
39
例2
>>> 8%5
3
>>> 2**3
8
2:字符串
python中的字符串是一组包含数字、字母和符号的集合,作为一个整体使用。
(1) 字符串的使用
再python中有三种标识字符串的方式:单引号、双引号、三引号,三种引号都可以定义字符串,不同的是,三引号(三个单引号)可以定义的字符串可以是多行的,其他方面都相同,可根据习惯选择。
例
>>> name='王俊卿'
>>> print name
王俊卿
>>> content='''你好,
王俊卿'''
>>> print content
你好,
王俊卿
(2) 使用字符串的注意事项
引号的使用是成对出现的,前后要使用相同的引号,不能混用
如果要在引号中嵌套引号,可以用另一对引号去嵌套中间的一对引号
想要把引号当成字符串定义时,要用转义符“\”,标识原样输出
例:
>>> title="Let\' Go"
>>> print title
Let' Go
(3)字符串的其他应用
字符串的乘法:连续输出相同的字符串。
例:
>>> print 3*'a'
aaa
3:列表(list)
列表(list)是python中非常重要的数据类型,通常作为函数的返回类型。由一组元素组成,列表可以实现添加、删除和查找操作,元素的值可以被修改。
(1) 列表的定义
列表用中括号定义,元素之间用逗号隔开。
语法:列表名=[元素1,元素2,元素3,.........]
(2) 列表的取值
列表按定义时的顺序排好,可以单独取出某一个位置元素的值,也可以取出指定范围内的值。如果要取出指定范围内的值,需要在中括号中定义起始位置和终止位置,需要注意这里的值是终止位置之前的数值,不包含终止位置上的值。所以他是起始位置到终止位置之前的数值。但如果是指定的位置,那就是该位置了。
例:
>>> num=['001','002','003']
>>> print num
['001', '002', '003']
>>> print num[2]
003
>>> print num[0:1]
['001']
>>> print num[0:2]
['001', '002']
(3) 修改列表元素值
>>> num=['001','002','003']
>>> print num
['001', '002', '003']
>>> num[0]='004'
>>> print num
['004', '002', '003']
(4) 添加元素
例1:在末尾添加:列表名.append(元素值)
>>> num=['001','002','003']
>>> print num
['001', '002', '003']
>>> num.append('004')
>>> print num
['001', '002', '003', '004']
例2:在指定位置添加:列表名.insert(列表名,元素值)
>>> num=['001','002','003']
>>> print num
['001', '002', '003']
>>> num.insert(1,'004')
>>> print num
['001', '004', '002', '003']
(5) 删除列表元素:del 列表名[索引位置]
>>> num=['001','002','003']
>>> print num
['001', '002', '003']
>>> del num[1]
>>> print num
['001', '003']
(6) 查找列表元素:元素值 in 列表名
>>> num=['001','002','003']
>>> print num
['001', '002', '003']
>>> '001' in num
True
>>> '004' in num
False
(7) 合并列表和重复列表
>>> num1=['001','002']
>>> num2=['003','004']
>>> numall=num1+num2
>>> print numall
['001', '002', '003', '004']
>>> numall2=num2+num1
>>> print numall2
['003', '004', '001', '002']
>>> numall3=num1+num1
>>> print numall3
['001', '002', '001', '002']
>>> numall4=num1*4
>>> print numall4
['001', '002', '001', '002', '001', '002', '001', '002']
(8) 列表常见问题
- 索引越界问题,如果列表有3个值,列表就从0开始,到2结束所以在取值时不能取超出在的索引
- 如果要取出指定范围的列表元素,此时索引可以越界
- 单独取一个值时,列表中索引可以时负数,标识倒数第几个数
- 取一个范围时,索引值也可以是负数,表示倒数第几个数左边的那个值
- 列表元素也可以是列表num[2][1]表示第二个列表中的第一个元素
例:1
>>> num=['001','002','003','004','005']
>>> print num[-2]
004
>>> print num[1:-2]
['002', '003']
例:2
>>> num=[['001','002','003'],['101','102','103'],['201','202','203']]
>>> print num
[['001', '002', '003'], ['101', '102', '103'], ['201', '202', '203']]
>>> print num[0]
['001', '002', '003']
>>> print num[2][1]
202
4:元组(tuple)
元组和列表类似,也是python的一种数据结构,由不同的元组组成,每个元素可以存储不同类型的数据,如字符串、数字、甚至元组,但元组是不可以修改的。元组创建后不能做任何的修改操作,元组通常表示一行数据,元组章的元素表示不同的数据项。
元组和列表的区别:
|
列表 |
元组 |
元素 |
方括号 |
圆括号 |
可变性 |
可变 |
不可变 |
操作 |
可以添加、删除、修改、搜索 |
搜索 |
(1)元组的创建
元组名=(元素1,元素2,元素3,.........)
例:
>>> num=('001','002','003')
>>> print num
('001', '002', '003')
>>> print num[0]
001
(3) 元组和列表的转换:
元组转换成列表:list(元组名)
>>> num=('001','002','003')
>>> print num
('001', '002', '003')
>>> listnum=list(num)
>>> print listnum
['001', '002', '003']
列表转换成元组:tuple(列表名)
>>> num=['001','002','003']
>>> print num
['001', '002', '003']
>>> tuplenum=tuple(num)
>>> print tuplenum
('001', '002', '003')
>>> print type(num)
<type 'list'>
>>> print type(tuplenum)
<type 'tuple'>
5:字典
字典是由“键--值”对组成的集合,字典中的值通过键来引用。
(1) 字典的创建
字典名={键1:值1,键2:值2,........}
例:
>>> mobil={'Tom':'13938512162','Bob':'17760718662','Alice':''}
>>> print type(mobil)
<type 'dict'>
>>> print mobil
{'Bob': '17760718662', 'Alice': '', 'Tom': '13938512162'}
>>> print mobil['Tom']
13938512162
(2) 字典的添加:可以直接输入不存在的字典
>>> mobil={'Tom':'13938512162','Bob':'17760718662','Alice':''}
>>> print mobil
{'Bob': '17760718662', 'Alice': '', 'Tom': '13938512162'}
>>> mobil ['zhangsan']='18888888888'
>>> print mobil['zhangsan']
18888888888
(3) 字典的修改:直接修改相应的字典
>>> mobil={'Tom':'13938512162','Bob':'17760718662','Alice':''}
>>> print mobil
{'Bob': '17760718662', 'Alice': '', 'Tom': '13938512162'}
>>> mobil['Bob']='19999999999'
>>> print mobil['Bob']
19999999999
(4) 字典的删除:del 字典名[键]
>>> mobil={'Tom':'13938512162','Bob':'17760718662','Alice':'15555555555'}
>>> print mobil
{'Bob': '17760718662', 'Alice': '15555555555', 'Tom': '13938512162'}
>>> del mobil['Tom']
>>> print mobil
{'Bob': '17760718662', 'Alice': '15555555555'}