Python开发基础之Python常用的数据类型-创新互联

博文大纲

站在用户的角度思考问题,与客户深入沟通,找到楚雄州网站设计与楚雄州网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广、主机域名、网络空间、企业邮箱。业务覆盖楚雄州地区。
  • 一、Python介绍
  • 二、Python的变量
  • 三、Python常用的数据类型
    1、数字
    2、字符串
    3、元组
    4、列表
    5、字典

一、Python介绍

Python是一种动态解释型的编程语言。Python它简单易学、功能强大、支持面向对象、函数式编程,可以在Windows、Linux等多种操作系统上使用,同时Python可以在Java、.net等开发平台上使用,因此,它也被成为“胶水语言”。

Python使用c语言开发,但是不再有c语言中的指针等复杂数据类型。Python的简洁性使得软件的代码大幅度地减少,开发任务进一步简化。

Python具有丰富的库,它的标准库很庞大,可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、TK和其他与系统有关的操作。

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开发基础之Python常用的数据类型

Python的语句可以使用打开后的初始界面shell模式,每输入一行按enter键代码马上执行。如下界面:
Python开发基础之Python常用的数据类型

又或者按“Ctrl+N”快捷键,可以打开IDLE的编辑模式,这种方式比较常用,按“Ctrl+N”快捷键后会出现以下界面(将要执行的代码,写入后保存即可,然后运行,也可以直接按“F5”键运行):

Python开发基础之Python常用的数据类型

二、Python的变量

关于变量这个概念,和其他语言类似,都是计算机内存中的一块区域,变量可以存储任何值,而且值可以改变。变量名由字母、数字和下划线组成,需要注意的是,不能使用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、数字

数字类型包括整型、浮点型、布尔型等,声明时由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不支持自增运算符++和自减运算符--。

2、字符串

Python中的字符串类型是一组包含数字、字母和符号的集合,作为一个整体使用。

1、字符串使用

在Python中有三种表示字符串的方式,单引号、双引号、三引号,示例如下:

>>> name = '吕建钊'              #单引号示范
>>> motto = "每天进步一点点"          #双引号示范
>>> content = '''命运给你一个比别人低的起点,                     #三引号示范
是为了让你用一生去奋斗一个绝地反击的故事。'''
>>> print (name)
吕建钊
>>> print (motto)
每天进步一点点
>>> print (content)
命运给你一个比别人低的起点,
是为了让你用一生去奋斗一个绝地反击的故事。

变量name使用单引号,变量motto使用双引号,变量content使用三引号,他们都是合法的Python字符串类型,需要注意的是,单引号和双引号的作用是一样的,可以根据习惯使用,但是定义多行文字时,必须要使用三引号。

2、使用字符串注意事项
字符串的定义方式单引号、双引号、三引号大部分情况下作用是相同的,但在特殊情况下使用也有所区别,下面是需要注意的地方。

(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开发基础之Python常用的数据类型

3、字符串的其他使用方法

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,在输出时使用字符串乘法决定输出的格式,很容易地实现了文件前面的空格。并且十分简洁。

3、列表

列表是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

4、元组

(1)元组简介
元组和列表相似,也是Python中的一种数据结构,由不同的元素组成,每个元素可以存储不同类型的数据,如字符串、数字、甚至元组,但是元组是不可修改的。即元组创建后不能做任何的修改操作,元组通常表示一行数据,而元组中的元素表示不同的数据项。

元组和列表的区别如下:
Python开发基础之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'>    #类型是元组,没问题

5、字典

字典(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()才可正常执行。

———————— 本文至此结束,感谢阅读 ————————

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

当前文章:Python开发基础之Python常用的数据类型-创新互联
文章位置:https://www.cdcxhl.com/article28/ghsjp.html

成都网站建设公司_创新互联,为您提供关键词优化网站营销企业建站品牌网站制作定制开发定制网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站网页设计