关于Python中的数据类型和变量

开课吧开课吧锤锤2021-06-30 16:13

    要想让程序完成某项任务,最基本的是了解如何使用程序语言自带的数据类型和变量,然后通过运算、比较、控制语句等等来达到我们的目的。现在,我们将学习Python中常见的数据类型,以及变量是什么,以及如何使用它们。

Python中的数据类型和变量

    数据类型

    Python中的数据类型包容:

    数值型:包括整数(int),浮点数(float),布尔型(真或假,用True,False表示),复数(complex).

    字符串(str):一段文字,要用单引号或引号括起来。

    列表(list):把多个值放到一起的组合数据类型,用方括号[]括起来,各个值之间以逗号隔开。

    字典(dict):”键:值“对组合的数据类型,键与值之间用冒号分开,不同键值对用逗号分割,所有键值对都放到大括号{}中。

    集合:是无序(没有顺序)的不重复元素组合类型。

    元组(tuple):与列表类似,但元组是不可变的。

    下面我们来实际操练一下。

    首先打开Thonny,在python脚本互动区输入下面的语句

i = 2
type(1)

    可以看到显示<class'int'>,表示i是一个整数。在python中,i=2这个语句创建了一个变量,变量的名字叫做i,现在给i一个整数值2,i就表示整数类型的变量。

Python中的数据类型和变量

    =与==的区别

    “=”用来把一个对象賦给一个变量,而"=="用于比较两个对象是否相等。

    关于变量

    在Python中,变量名只能包括字母,数字和下划线,不能以数字开头。同时,也不能和Python已经定义的关键字相同,比如def在python中用来创建函数,就不能把变量名设置为def。Python变量名大小写敏感,比如test与Test是两个不同的变量。

    与Java,C语言不同,在python中定义变量时,不需要显式指定变量类型。如在Java中要定义一个整数类型变量需要这样:

int i = 3 ;  #必须在变量名前面加上类型int

    在Python中则不需要如此,因为Python是动态类型编程语言,变量名可以指向不同的对象(内存中的位置),在程序运行时才会根据它指向的对象来判断是什么类型。可以尝试一下这2行代码

i = 56  # i指向的对象是整数类型,这个对象值是56
i = 'hahaha' # 现在i指向了另一个str对象,他的值是hahaha

    这可以通过打开Thonny的堆栈(heap)来看,点击菜单"View"--"Heap"打开堆栈,然后运行上面两行代码,在堆栈窗口可以看到下面的内容:

Python中的数据类型和变量

    堆栈窗口是个非常好的帮助我们理解变量与对象关系的地方,大家可以多在这练习和观察。(堆栈就是程序使用的内存区域)

    数据类型演练

    数值型

    一般我们用数值型来做运算,Python支持非常丰富的运算操作,除了常见的+、-、*(乘)、/(除)外,还有整数除//,求余数%,求幂**,以及math库来实现更复杂的数学运算。在脚本互动区,我们可以对数值型对象直接进行运算。

>>> 6+2   #整数相加
8
>>> 11-2  #整数减法
9
>>> 3*8  # 整数乘法
24
>>> 19/3  # 除法
6.333333333333333
>>> 19%3   # 求余数
1
>>> 19//3  # 整除
6
>>> 3.6+5  #浮点数相加,5会被自动转换为浮点数5.0 
8.6

    字符串

    字符串可以用单引号,或者双引号来声明。

s = 'i am str'  # 正确用法,用单引号包裹
s = "i am str" # 正确用法,用双引号包裹
s = "i am wrong'  # 错误!结尾也必须用双引号才行

    创建字符串时,在单引号中可以嵌套双引号,反之亦然。

s= 'mama said "Do Not Touch".' # 这是正确的用法
s = "mama said 'Do Not Touch'." # 这也是正确的用法

    对字符串的一般操作包括求长度、连接、索引、生成子字符串等。

>>> s = "mama said 'Do Not Touch'."
>>> len(s)   #求长度
25
>>> s =s +"Oh." #字符串叠加
>>> print(s)
mama said 'Do Not Touch'.Oh.
>>> s[0]  #根据位置索引字符
'm'
>>> s[1]
'a'
>>> s[1:4]   #得到子字符串
'ama'

    列表

    列表和其他编程语言的数组非常类似。用[]来定义,列表中的元素可以是不同类型。

>>> list = [1,2,3,4,5]   #全部是整数的列表
>>> fl=[1,'ok',2,'good',7.8] #有整数,字符串,浮点数元素的列表
>>> print(list)
[1, 2, 3, 4, 5]
>>> print(fl)
[1, 'ok', 2, 'good', 7.8]
>>> list[0]   #通过索引读取列表元素,从0开始
1
>>> len(list)  #获取列表的长度
5
>>> list[4]   #列表的最后一个元素,因为从0开始
5
>>> list[5]   #所以不存在list[5],这是list的第6个元素,而它只有5个。
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
IndexError: list index out of range   #错误提示:索引越界了
>>> newl = list + fl   # 2个列表合并得到一个新列表
>>> print(newl)
[1, 2, 3, 4, 5, 1, 'ok', 2, 'good', 7.8]

    与字符串一样,列表也可以通过位置(索引)来读取指定的元素,索引从0开始,通过“列表名[索引]"方式读取。因为索引从0开始,所以列表的最后一个元素应该是在”长度-1“的索引处,比如上面的list有5个元素,最后一个元素的索引是"5-1=4",而不是5。

    列表的操作有很多,常见的如下,今后使用时再详细解释

    append():在列表后面追加元素

    insert():在列表中插入元素

    pop():把指定的元素移出list

    clear():清除列表所有元素

    sort():对列表进行排序

    字典

    字典是”键值对“组合而成,日常生活中最常见的字典是学校里的学号,每个学生都有一个学号,来对应这个学生,这里键就是学号,值则是学生的名字。

>>> xuehao = {1:"张三", 2:"李四", 3:'王五'}  #创建字典
>>> xuehao[1]  #通过键”1“读取对应数值
'张三'
>>> xuehao[3]
'王五'
>>> xuehao[4]="zhaoliu"   #向字典添加新元素
>>> print(xuehao)
{1: '张三', 2: '李四', 3: '王五', 4: 'zhaoliu'}
>>> xuehao.keys()   #字典的所有键,这是一个列表
dict_keys([1, 2, 3, 4])
>>> xuehao.values()  #字典的所有值,这也是一个列表
dict_values(['张三', '李四', '王五', 'zhaoliu'])

    针对字典的操作也很多,我们这里就先不深入了。

    学以致用

    让我们做一个学号查询工具,让用户输入学号,然后程序列出对应的名字,我们先看使用字典的方式

#先创建字典
xueshengdict = {1: '张三', 2: '李四', 3: '王五', 4: 'zhaoliu'}
while True:  
    xuehao = input("请输入您的学号: ")  #读取用户输入的学号
    i = int(xuehao)       #读入的学号是字符串,需要通过int()函数转换为整数,因为字典的key是整数
    if i < len(xueshengdict):    #判断输入的数字是否小于字典长度
        print(xueshengdict[i])   #显示名字
    else:     #输入数字大于或等于字典长度时,则显示错误信息并从循环退出,完成程序
        print("wrong key, quit program!")
        break

    我们还可以通过列表来实现,前提是学号从1开始,并且是连续的,否则不能通过列表来实现。

#创建列表,默认大家学号从1开始,1,2,3,4这样排下去
xueshengdict = ['张三', '李四', '王五', 'zhaoliu']

while True:
    xuehao = input("请输入您的学号:")
    i = int(xuehao) - 1  # 因为通过索引读取学生姓名,所以学号减1得到索引位置
    if i < len(xueshengdict):
        print(xueshengdict[i])
    else:
        print("wrong key, quit program!")
        break

    以上就是开课吧广场小编整理的“关于Python中的数据类型和变量”一文,更多Python教程相关内容尽在开课吧广场Python教程频道!

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享
全部评论快来秀出你的观点
登录 后可发表观点…
发表
暂无评论,快来抢沙发!
零基础轻松入门Python