博文大纲python
- 1、Python介绍
- 2、Python的变量
- 3、Python经常使用的数据类型
一、数字
二、字符串
三、元组
四、列表
五、字典
Python是一种动态解释型的编程语言。Python它简单易学、功能强大、支持面向对象、函数式编程,能够在Windows、Linux等多种操做系统上使用,同时Python能够在Java、.net等开发平台上使用,所以,它也被成为“胶水语言”。web
Python使用c语言开发,可是再也不有c语言中的指针等复杂数据类型。Python的简洁性使得软件的代码大幅度地减小,开发任务进一步简化。正则表达式
Python具备丰富的库,它的标准库很庞大,能够帮助处理各类工做,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、TK和其余与系统有关的操做。shell
Python之因此成为流行的编程语言,和它普遍的应用场景是密不可分的。它能够应用在如下场景:数据库
- 系统编程:能方便进行系统维护和管理,是不少Linux系统运维人员的理想编程工具。
- 图形处理:有PIL、Tkinter等图形库支持,能方便的进行图形处理。
- 数学处理:NumPy扩展提供大量与标准数学库的接口。
- 文本处理:Python提供的re模块能支持正则表达式、还提供SGML、XML分析模块。
- 数据库编程:Python能够操做SQL server、oracle、MySQL等数据库。
- 网络编程:提供丰富的模块,支持sockets编程,能方便快速地开发分布式应用程序。
- web编程:能够做为web应用程序的开发语言。
- 多媒体应用:Python的PyOpenGL模块封装了“OpenGL 应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。
目前Python有版本2和版本3这两个版本,它们并不兼容,语法存在差异。对于初学者来讲,不用纠结要使用哪一个版本,使用某个版本进行学习,等学的差很少了,再来研究不一样版本间的区别便可(我这里使用的是版本3)。编程
能够在Python的官网下载相应平台上的版本,Windows下的Python安装比较简单,基本上就是无脑下一步,这里不过多介绍了。浏览器
Python使用的是IDLE开发工具,学习Python语言,首先要掌握开发工具IDLE,它能够方便地运行代码和作相关的调试,实现了代码的语法加亮、代码提示和代码补全等相比较智能化的功能。安全
使用IDLE工具时,能够经过单击如下打开:网络
Python的语句可使用打开后的初始界面shell模式,每输入一行按enter键代码立刻执行。以下界面:数据结构
又或者按“Ctrl+N”快捷键,能够打开IDLE的编辑模式,这种方式比较经常使用,按“Ctrl+N”快捷键后会出现如下界面(将要执行的代码,写入后保存便可,而后运行,也能够直接按“F5”键运行):
关于变量这个概念,和其余语言相似,都是计算机内存中的一块区域,变量能够存储任何值,并且值能够改变。变量名由字母、数字和下划线组成,须要注意的是,不能使用Python的关键字,英文大小写字母敏感,第一个字符必须是字母或下划线,不能是数字。
以下:
定义变量的正确示例:
>>> var_1 = 1 #定义变量1 >>> var_2 = 2 #定义变量2 >>> >>> print var_1 #输出定义的变量1 1 >>> print var_2 #输出定义的变量2 2 >>> print (var_1,var_2) #将变量1和变量2同时输出 (1, 2) #也能够同时定义三个变量,以下: >>> a,b,c = 1,2,3 >>> print a 1 >>> print b 2 >>> print c 3 >>> print (a,b,c) (1, 2, 3)
Python内置的数据类型有数字、字符串、元组、列表和字典。
数字类型包括整型、浮点型、布尔型等,声明时由Python内置的基本数据类型来管理变量,在程序的后台实现数值与类型的关联,以及转换等操做。根据变量的值自动判断变量的类型,咱们无需关心变量空间是什么类型,只要知道建立的变量中存放了一个数,程序只是对这个数值进行操做。
(1)整型和浮点型
整数使用整型表示,有小数位使用浮点型表示,代码以下:
>>> x = 123 >>> print x >>> print (x) 123 >>> x=1.98 >>> print (x) 1.98
上面代码首先定义了变量x=123,此时的x值是整数,x就是整型变量,当x=1.98时,x又成为了浮点型变量,由此能够看出,变量的类型是能改变的,这是由于当Python给已经存在的变量再次赋值时,实际上时建立了一个新的变量,即便变量名相同,但标识并不相同,变量的标识可使用id函数输出。
>>> x = 123 >>> print (id(x)) 140714328191632 >>> x = 1.98 >>> print (id(x)) 2151782266320
以上代码都是对变量x的标识进行打印,赋值先后的标识并不相同。
(2)布尔型
1)布尔型用于逻辑运算,有两个值True、False,表示真和假。
>>> f = True >>> print (f) True >>> if(f): print (1) 1
代码中定义了变量“f = True”,if是判断语句,为真则执行print语句,最后输出的是1,说明语句执行成功。
2)使用比较运算符返回的结果是布尔值,
>>> 3>4 False #假 >>> 4.115>2.1 True #真
(3)Python运算符、
Python中使用的算术运算符和数学运算中使用的符号基本相同,由+、-、*、/(加减乘除)和小括号组成,运算顺序也是先乘除后加减,小括号优先,还有两个运算符是%和**,分别是求模运算(取余数),求幂运算(求平方)。
代码示例:
>>> x,y = 10,2 #定义两个变量 >>> print (x+y,x*y,x/y) #计算这两个变量的加乘除。 12 20 5.0 >>> print (5 + 8 * 3) 29 >>> print (5 + 8 * 3 / 4) 11.0 #如下分别是求模运算和求幂运算: >>> 8%5 3 >>> 8%4 0 >>> 2**5 32 >>> 2**3 8
注意:Python不支持自增运算符++和自减运算符--。
Python中的字符串类型是一组包含数字、字母和符号的集合,做为一个总体使用。
一、字符串使用
在Python中有三种表示字符串的方式,单引号、双引号、三引号,示例以下:
>>> name = '吕建钊' #单引号示范 >>> motto = "天天进步一点点" #双引号示范 >>> content = '''命运给你一个比别人低的起点, #三引号示范 是为了让你用一辈子去奋斗一个绝地反击的故事。''' >>> print (name) 吕建钊 >>> print (motto) 天天进步一点点 >>> print (content) 命运给你一个比别人低的起点, 是为了让你用一辈子去奋斗一个绝地反击的故事。
变量name使用单引号,变量motto使用双引号,变量content使用三引号,他们都是合法的Python字符串类型,须要注意的是,单引号和双引号的做用是同样的,能够根据习惯使用,可是定义多行文字时,必需要使用三引号。
二、使用字符串注意事项
字符串的定义方式单引号、双引号、三引号大部分状况下做用是相同的,但在特殊状况下使用也有所区别,下面是须要注意的地方。
(1)单引号、双引号、三引号它们是成对出现的,如以单引号开头就要以单引号结尾,不能混合使用表示字符串。以下代码就会报错:
>>> name = "吕建钊' #开头是双引号,结尾是单引号,结果报错。 SyntaxError: EOL while scanning string literal >>> name = "吕建钊''' #开头是双引号,结尾是三引号,也会报错。 SyntaxError: EOL while scanning string literal
(2)若是字符串中单独出现单引号或双引号,可使用另外一种引号定义,以下:
>>> title ="let's Go" #双引号定义 >>> print (title) let's Go >>> title2 = 'let"s Go ' #单引号定义 >>> print (title2) let"s Go >>> title3= '''let"s Go! let 's Go''' #三引号定义 >>> print (title3) let"s Go! let 's Go
以上字符串变量title中出现了单引号,须要使用双引号定义,字符串变量title2中出现了双引号,须要使用单引号定义。当字符串中同时出现单引号和双引号,就须要使用三引号进行定义。
(3)当字符串中出现单引号、双引号等特殊字符时,还可使用转义字符定义。Python中的转移字符是“\”,只要在特殊字符前面加上“\”,就能够原样输出,而不用去管定义字符串使用的是单引号仍是双引号,代码以下:
>>> title = 'let\'s go!' #转移符单引号 >>> print (title) let's go! >>> title = "let\"s go!" #转义符双引号 >>> print (title) let"s go!
经常使用的转义符以下所示:
三、字符串的其余使用方法
Python的字符串能够进行乘法的操做,能够用一个整型数字和字符串相乘,如用数字3乘以字符串“a”,结果是字符串“aaa”,相同于字符串“a”链接了3遍。以下:
>>> print (3 * 'a') #3乘以a aaa #如下是一个Python脚本文件 space = " " print ("学习python") print ( 2 * space + "学习python") print (3 * space + "学习python") #执行结果以下: 学习python 学习python 学习python
以上脚本文件是定义了一个空格字符串变量space,在输出时使用字符串乘法决定输出的格式,很容易地实现了文件前面的空格。而且十分简洁。
列表是Python中很是重要的数据类型,一般做为函数的返回值。由一组元素组成,列表能够实现添加、删除和查找操做,元素值能够被修改。
(1)定义列表及列表的取值
>>> num = ['001','002','003'] #定义一个列表 >>> print (num) #将列表中的元素所有打印出来 ['001', '002', '003'] >>> print (num[1]) #打印列表中位置1的元素 002 >>> print (num[0]) #打印列表中位置0的元素 001 >>> print (num[2]) #打印列表中位置2的元素 003 #如下是列表的范围取值 >>> print (num[0:2]) #列出位置0到位置2以前的元素 ['001', '002'] >>> print (num[0:-1]) #也能够用负数,-1表示最后一个元素的位置,-2表示倒数第二个位置,以此类推。 ['001', '002'] >>> print (num[0:-2]) #列出从位置0到倒数第2个位置的元素 ['001'] >>> print (num[0:5]) #列出位置0到位置5的元素,因为列表中的元素只有三个,因此只列出了三个 ['001', '002', '003']
从上面能够看出,列表取值时用列表名加上中括号,数字表示索引位置,须要注意位置是由0开始依次递增的。
(2)修改列表元素值
>>> print (num) #先查看列表的元素 ['001', '002', '003'] >>> num[0] = '004' #将位置0的元素改成004 >>> print (num) #确认更改结果 ['004', '002', '003']
(3)添加列表中的元素
>>> print (num) #输出列表查看 ['004', '002', '003'] >>> num.append ('005') #添加一个元素,值为“005” >>> print (num) #确认添加成功 ['004', '002', '003', '005'] >>> num.insert(0,'001') #在位置0插入一个元素,值为“001” >>> print (num) #确认插入成功 ['001', '004', '002', '003', '005']
(4)删除列表元素
>>> print (num) #查看列表内容 ['001', '004', '002', '003', '005'] >>> del num[4] #删除列表中位置4,也就是最后一个元素 >>> print (num) #查看确认 ['001', '004', '002', '003'] >>> del num #删除整个列表 >>> print (num) #再次查看会报错“没有找到该列表” Traceback (most recent call last): File "<pyshell#19>", line 1, in <module> print (num) NameError: name 'num' is not defined
(5)查找列表元素
>>> num = ['001','002','003'] #从新定义一个列表 >>> '002' in num #查找“002”,存在,返回true True >>> '005' in num #查找“005”,不存在,返回false False
(6)合并列表
>>> num1 =['001','002'] #定义列表num1 >>> num2 =['003','004'] #定义列表num2 >>> num = num1 + num2 #定义列表num,元素为列表num1和num2 >>> print (num) #输出列表num,结果是列表num1和num2的元素整合 ['001', '002', '003', '004'] >>> print (num2 + num1) #也能够这样合并显示 ['003', '004', '001', '002']
(7)重复列表
>>> print (num) #输出列表num ['001', '002', '003', '004'] >>> print (num * 3) #将列表num乘以3后输出 ['001', '002', '003', '004', '001', '002', '003', '004', '001', '002', '003', '004']
(8)列表常见问题
1)索引越界是使用列表时常犯的一个错误,如列表中有4个元素,由于索引的位置是从0开始计算的,因此最大的索引值是3,若是索引值大于3,表示索引时越界的,程序没法执行,以下:
>>> print (num) #查看列表中的元素 ['001', '002', '003', '004'] >>> print (num[5]) #查看位置5的元素,索引越界了,因此会报错。 Traceback (most recent call last): File "<pyshell#34>", line 1, in <module> print (num[5]) IndexError: list index out of range
2)当获取列表指定范围的一组元素时,不存在列表索引越界的问题,代码以下:
>>> print (num) #查看列表 ['001', '002', '003', '004'] >>> print (num[0:5]) #输出位置0到位置5以内的元素值。 ['001', '002', '003', '004']
3)列表元素也能够是列表,代码以下:
>>> num = [['001','002'],['003','004'],['005','006']] #将列表元素定义为列表 >>> print (num) #输出查看结果 [['001', '002'], ['003', '004'], ['005', '006']] >>> print (num[0]) #查看列表num位置0的元素 ['001', '002'] >>> print (num[0][0]) #查看列表num位置0中的位置0的元素,有点绕哈! 001 >>> print (num[2][1]) #查看列表num位置2中的位置1的元素 006
(1)元组简介
元组和列表类似,也是Python中的一种数据结构,由不一样的元素组成,每一个元素能够存储不一样类型的数据,如字符串、数字、甚至元组,可是元组是不可修改的。即元组建立后不能作任何的修改操做,元组一般表示一行数据,而元组中的元素表示不一样的数据项。
元组和列表的区别以下:
在使用元组与列表区别并不大,主要是由于元组是不可变的,操做速度比列表块,并且由于它不可修改,数据要更加安全,因此要根据实际状况决定是使用元组仍是列表,使程序更加高效。
(2)元组操做
>>> print (num) #定义一个元组 ('001', '002', '003') >>> num[3] = '004' #试着更改一个元组中的元素,结果确定是报错咯! Traceback (most recent call last): File "<pyshell#48>", line 1, in <module> num[3] = '004' TypeError: 'tuple' object does not support item assignment >>> print (num[0]) #取值操做和列表彻底同样 001 >>> print (num[2]) #取值操做和列表彻底同样 003 >>> del num[0] #元组不容许删除某个元素 Traceback (most recent call last): File "<pyshell#53>", line 1, in <module> del num[0] TypeError: 'tuple' object doesn't support item deletion >>> del num #但能够删除整个元组 >>> print (num) #再次查看,就会报错元组名不存在了 Traceback (most recent call last): File "<pyshell#55>", line 1, in <module> print (num) NameError: name 'num' is not defined
(3)元组和列表的互相转换
元组和列表能够作互相转换操做,代码以下:
>>> num = ('001','002','003') #定义一个元组 >>> print (type(num)) #查看num的类型 <class 'tuple'> #“tuple”的意思为元组 >>> numlist = ['004','005','006'] #定义一个列表 >>> print (type(numlist)) #确认类型为列表 <class 'list'> #“list”就是列表的意思 #如下操做是将列表转换为元组,将元组转换为列表 >>> NUM = list(num) #将元组转为list的语法就是“list()”,这里是将元组num转换为列表NUM >>> print (type(NUM)) #查看转换后的类型 <class 'list'> #类型是列表,没问题 >>> NumList = tuple(numlist) #将列表转换为元组的语法就是“tuple()”,这里是将列表numlist转换为元组NumList >>> print (type(NumList)) #查看转换后的类型 <class 'tuple'> #类型是元组,没问题
字典(dict)是Python中重要的数据类型,字典是由“键-值”对组成的集合,字典中的值经过键来引用。
(1)字典的建立及取值
>>> mobile = {'zhangsan':'123456','lisi':'234567','wangwu':'345678'} #建立一个字典,名称为“mobile” >>> print (mobile) #输出字典中的内容 {'zhangsan': '123456', 'lisi': '234567', 'wangwu': '345678'} #字典的取值和列表及元组不一样,元组和列表都是经过数字索引取值的,而字典是经过键获取相对应的值。以下: >>> print (mobile["zhangsan"]) #查询zhangsan对应的值 123456 >>> print (mobile["wangwu"]) #查询wangwu对应的值 345678
须要注意的是,字典中的键必须是惟一的,而不一样键的值却能够相同,当定义多个键相同时,只有最后一次定义的生效,也就是说,后面定义的会覆盖前面已经存在的键值对。
(2)字典的添加、修改、删除操做
#向字典中添加数据 >>> print (mobile) #列出当前字典中的值 {'zhangsan': '123456', 'lisi': '234567', 'wangwu': '345678'} >>> mobile['zhaosi'] = '6666666' #添加新的键值对 >>> print (mobile) #查看是否添加 {'zhangsan': '123456', 'lisi': '234567', 'wangwu': '345678', 'zhaosi': '6666666'} #修改字典中的键值对 >>> mobile['zhangsan'] = '2222222' #修改已存在的键值对,直接覆盖便可 >>> print (mobile) #查看是否修改为功 {'zhangsan': '2222222', 'lisi': '234567', 'wangwu': '345678', 'zhaosi': '6666666'} #删除字典中的键值对 >>> del mobile['zhangsan'] #删除zhangsan的键值对 >>> print (mobile) #查看是否删除 {'lisi': '234567', 'wangwu': '345678', 'zhaosi': '6666666'}
注意,字典不能使用“+”运算符执行链接操做。
(3)字典的应用举例
kgc = {} name = '--please input user:' user = input("name:") pwd = input("password:") kgc [user] = pwd print (kgc) name = '--user searched:' key = input(name) print (kgc[key])
上面的代码首先定义了一个空的字典,用于存储用户名和密码的“键-值”对,而后使用input()函数接受键盘的输入的用户名及密码,保存到字典kgc中,最后是使用键盘输入一个用户名,在字典中查找它对应的键。
执行结果以下:
name:lv jian zhao password:123456 {'lv jian zhao': '123456'} --user searched:lv jian zhao 123456
注意:以上脚本是基于Python 版本3编写的,若使用的是Python 版本2,则须要将其中的input()函数,换成raw_input()才可正常执行。
———————— 本文至此结束,感谢阅读 ————————