python数据类型(dict、tuple、set、bool)

昨天我们学习了python基本数据类型中的整型(int)、字符串(str)、浮点型(float)、列表(list),接下来我们学习剩下的基本数据类型。

字典

在python中列表可以存储多个数据,但是列表存储数据时无法明确的标明这些数据是什么,这个时候就需要用到字典了。

字典是能够精确存储数据的,它用大括号括起来,每一个元素用Key:Value的形式存储,元素之间用逗号隔开。

student = {
'name':'张三',
'age':18,
'sex':'男'
}

强调:字典是不支持用索引来取值的,字典的取值是依靠Key来取值的。

>>> print(student['age'])
18

集合

集合与字典一样都是用大括号来表示,内部存放多个元素,元素之前用逗号隔开,与字典不同的是。集合不是以Key:Value的形式存储的。

s = {54, 4.5, 'ss'}

在python中,如果一个变量被赋予了大括号定义空的数据,那么默认数据类型为字典。

>>> a = {}
>>> print(type(a))
<class 'dict'>

元组

元组与列表几乎一致,只不过列表用的是中括号,元组使用的是小括号,而且元组一般用于存储不能修改的数据,所以人送小外号不可变的列表。

t = (1, 2, 2.5, 'asd')

布尔值

布尔值是用来描述事物的对错,主要用于逻辑判断。

布尔值只有两个值:True和False。

当一个变量被赋予了0、None、空值时,这些变量的布尔值默认为False,其余为True。

用户交互与输出

我们在一些网站进行登录注册时,网站会要求我们输入账号和密码,并返回正确或者是错误信息。在python也有着一些方法可以用于获取用户输入,并输出消息。

获取用户输入

获取用户输入用的是input()方法,括号内填写可以用于提示用户的信息。

input获取到的数据都会转成字符串类型。

>>> username = input('请输入用户名:')
请输入用户名:张三

输出信息

输出信息用的是print()方法,括号内写入需要打印的东西即可。

>>> print(username)
张三

格式化输出

知道了如何输出信息之后,我们来了解一下格式化输出。

之前在我们输出信息时,不好在一段文字中间插入一些其他的文字,这个时候就要用到了格式化输出了。

我们在输出时,可以用占位符来替代需要填写的信息。

>>> name = '张三'
>>> age = 18
>>> print('my name is %s my age is %d' % (name, age))
my name is 张三 my age is 18

%s,%d都是占位符,%s可以给任意数据占位,%d只能给数字占位。%d还有着其他的用法。

>>> print('%05d' % 54)
00054
>>> print('%04d' % 54)
0054

在'%05d'中,'5'代表着是5位数,'0'代表着不足5位用0填补。

基本运算符

运算符的运用是最常用的,任何数据的计算都需要用到运算符。

算术运算符

运算符 含义 举例
+ 加号 print(5 + 6),输出11
- 减号 print(55 - 11),输出44
* 乘号 print(5 * 6),输出30
/ 除号 print(9 / 3),输出3
** 乘方 print(5 ** 3),输出125
// 整除 print(10 // 3), 输出3
% 取余 print(10 % 3),输出1

比较运算符

运算符 含义 举例
!= 不等于 print(6 != 5),输出True
== 等于 print(5 == 5),输出True
> 大于 print(5 > 6),输出False
< 小于 print(5 < 6),输出True
>= 大于等于 print(5 >= 6 ),输出False
<= 小于等于 print(5 <= 6),输出True

逻辑运算符

运算符 含义 举例
and 条件与需要同时满足,否则返回False print(5 > 6 and 5 < 6),输出False
or 条件只需要满足其中一个 print(5 > 6 and 5 < 6),输出True
not 条件颠倒,True返回Flase,Flase返回True print(not (5 > 6)),输出True

赋值方法

在python中,赋值方法各式各样。

增量赋值

初识python的人如果要给一个变量增加100一般都会这么写:x = x + 100,这个写法并没有问题,但是那些大佬们觉得这样太麻烦了,于是他们就这样写:x += 100,这样他们就少写了一个变量名。

原来 简化后
x = x + 100 x += 100
x = x - 100 x -= 100
x = x * 100 x *= 100
x = x / 100 x /= 100

链式赋值

链式赋值顾名思义就是像链条一样给变量赋值。

x = 100
y = x
z = x
# 简化后
x = y = z = 100

交叉赋值

在平常中,如果我们想把两个变量值交换,我们一般都会这样做:

a = 10
b = 15
m = a
a = b
b = m

我们一般都会在定义一个变量作为存储用,这个方法也过于繁琐,所以我们这样用:

a = 10
b = 15
a, b = b, a

这个显然更加的简单而且快速。

解压赋值

正常情况下,如果我们想要取出列表中的每一个数据,我们都会是去用列表的索引给变量一个个赋值,但是解压赋值就不需要索引就可以把列表中的每一个值存到不用的变量中。

name_list = ['张三', '李四', '王五', '赵六']
# 正常情况赋值
name1 = name_list[0]
name2 = name_list[1]
name3 = name_list[2]
name4 = name_list[3]
# 解压赋值
name1, name2, name3, name4 = name_list

注意事项:左边的变量个数需要和右边中的值个数一致

拓展:如何在两边个数不匹配的情况下赋值?

>>> list = [1, 2, 3, 4, 5, 6]
>>> a, b, *_ = list
>>> print(a, b, _)
1 2 [3, 4, 5, 6]
>>> list = [1, 2, 3, 4, 5, 6]
>>> a, *_, b = list
>>> print(a, b, _)
1 6 [2, 3, 4, 5]

在上述例子中"_"可以是任意变量名。

另外,我们规定,如果指向的值用不到,我们可以使用"_"来作为变量名。

成员运算与身份运算

成员运算

我们用"in", "not in"来判断个体是否存在某个群体内。

>>> list = [1, 2, 5, 6, 88]
>>> print(1 in list)
True
>>> print(1 not in list)
False

身份运算

身份运算有两种:is 和 ==。

  • is: 判断两个数据的内存地址是否一致
  • ==: 判断两个数据的值是否一致
>>> a = 55555
>>> b = 55555
>>> print(a is b)
False
>>> print(a == b)
True

python初识数据类型(字典、集合、元组、布尔)与运算符的更多相关文章

  1. Python基本数据类型--列表、元组、字典、集合

    一.Python基本数据类型--列表(List) 1.定义:[ ]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素. 2.列表的创建: # 方式一 list1 = ['name','ag ...

  2. python基本数据类型之集合

    python基本数据类型之集合 集合是一种容器,用来存放不同元素. 集合有3大特点: 集合的元素必须是不可变类型(字符串.数字.元组): 集合中的元素不能重复: 集合是无序的. 在集合中直接存入lis ...

  3. Python基础数据类型之集合

    Python基础数据类型之集合 集合(set)是Python基本数据类型之一,它具有天生的去重能力,即集合中的元素不能重复.集合也是无序的,且集合中的元素必须是不可变类型. 一.如何创建一个集合 #1 ...

  4. Python基础数据类型-字典(dict)

    Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...

  5. Python 全栈开发二 python基础 字符串 字典 集合

    一.字符串 1,在python中,字符串是最为常见的数据类型,一般情况下用引号来创建字符串. >>ch = "wallace" >>ch1 = 'walla ...

  6. python特色_字典,元组,列表

    一.前言: 1.许多编程语言的基本数据类型都大同小异,而字典,元组,列表是python编程语言的一大特色,能够非常简单的完成很多功能,学习好字典,元组,列表能够为以后大数据,批处理......提供很多 ...

  7. 【Python3】列表字典集合元组

    1 列表 1.1 定义与索引 在Python中,第一个列表元素的下标为 0通过将索引指定为 -1 可以让Python返回最后一个列表元素 inventory = ['sword', 'armor', ...

  8. Python之路(第四篇):Python基本数据类型列表、元组、字典

    一.列表 1.列表 list ,是一个类,li = [1,2,"nicholas"] li是通过list类创建的对象. 2.list特点: 用中括号括起来,用逗号分割每个元素,列表 ...

  9. python列表,字典,元组常用方法和集合

    python 目录 一.列表 列表格式 1.添加 列表取数(按照下标取,下标从0开始) 获取长度 append添加(直接添加) extend添加(分别添加) insert()insert(index, ...

随机推荐

  1. 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)

    回顾 上一节我们搭建了游戏的骨架,添加了四个游戏场景,分别是加载.开始.游戏.结束.那么这一节我们来介绍加载这个场景,顺带丰富一下各个场景的基本内容. Phaser.Loader Phaser框架自带 ...

  2. Git使用方法以及出现的bug解决方案

    git常用命令 1.本地库初始化: git init 2.设置签名 (1)项目级别(项目里面) git config user.name xxx git config user.email xxx ( ...

  3. Python里的引用与拷贝规律

    python的可变不可变与各种浅拷贝深拷贝规则,一并梳理. Python一切皆引用 在C++/Java里,int a = 1就是创建变量为a,赋值为1:int b = a就是创建变量b,赋值为a的值. ...

  4. 【分享汇总】25个主题分享,360°领略OpenHarmony最新技术版图

    2021年10月,开放原子开源基金会旗下开源项目 OpenAtom OpenHarmony (以下简称"OpenHarmony") 应邀参加华为2021 HDC 开发者大会,并组织 ...

  5. uniapp-uni.setNavigationBarColor 动态修改顶部背景颜色

    uni.setNavigationBarColor({ frontColor: '#ffffff', backgroundColor: "#3583ff" })

  6. Educational Codeforces Round 108 (Div. 2), C map套vector存储

    地址  Problem - C - Codeforces 题目 题意 一个学校有n个人参加比赛,他们分别属于ui队,每个人的能力值为si 当每个队需要1~n个人的时候,这个学校能参加的人的能力值和最大 ...

  7. MySQL启动过程详解三:Innodb存储引擎的启动

    Innodb启动过程如下: 1. 初始化innobase_hton,它是一个handlerton类型的指针,以便在server层能够调用存储引擎的接口. 2. Innodb相关参数的检车和初始化,包括 ...

  8. 关于物理机没有VMnet1和VMnet8网卡的问题

    当我们在用虚拟机做实验需要与物理机进行连接时,发现无法连接上,这时候可能是没有Vmnet1或者Vmnet8网卡,又或者是Vmnet1和Vmnet8网卡都没有. 之前试过很多方法,重装.重启虚拟网络编辑 ...

  9. 面试突击42:synchronized和ReentrantLock有什么区别?

    在 Java 中,常用的锁有两种:synchronized(内置锁)和 ReentrantLock(可重入锁),二者的功效都是相同得,但又有很多不同点,所以我们今天就来聊聊. 区别1:用法不同 syn ...

  10. Node.js躬行记(18)——半吊子的可视化搭建系统

    我们组维护的管理后台会接到很多开发需求,每次新开页面,就会到处复制黏贴相关代码. 并且还会经常性的翻阅文档,先在书签或地址栏输入WIKI地址,然后找到那一份说明文档,再定位到要看的组件位置. 虽然单人 ...