接着学习世界上最美丽的语言,Python,数据类型还有字典和集合没有学,今天我们继续把他们学完。
字典和集合
字典
我们都知道英汉字典,英汉字典就是根据英文来查找中文意思。
英文:键(去找值得索引)
中文:值(最终想要的)
在Python语言中,字典有两部分组成,键 和 值 。这里的英文就相当于Python中字典的键,中文就相当 于值
根据键去找值,键值对是成对出现的
【注】键是唯一的,值可以重复
定义:dic1 = {键值对1, 键值对2}
键值之间使用冒号隔开,键值对使用逗号隔开。例:dic = {'暗夜猎手':'薇恩','荣耀行刑官':'德莱文'}
获取值
dic1['键名'] 如果键不存在,报错
dic1.get('键名') 如果键不存在,返回None
【注】如果键重复,后面的值会覆盖前面的值
【注】整型的23和字符串的23不是一个键
【注】浮点的23.0和整型的23是一个键
【注】不可变的才可以作为键,可变的不能作为键
【注】任意类型都可以作为值
修改值
根据键修改值。字典是可变的
如果键存在,则是更新值,如果键不存在,则是增加键值对
字典长度
len(dic1) 得到键值对的个数
删除值
del dic1['高中'] 删除一个键值对
del dic1 删除这个变量
集合(set)
高中我们就知道,集合具有两个性质:无序性、唯一性
定义: s1 = {s1, s2, s3}
【注】元素只能存放不可变类型(前面我们说过字符串和元组是不可变的)
如何定义空集合?
s1 = set()
集合的操作:
# 求交集
# print(s1 & s2)
# 并集
# print(s1 | s2)
# 差集
# print(s1 - s2)
# print(s2 - s1)
# 并集减去交集
print(s1 ^ s2)
数据类型总结:
1、哪些可以通过下标访问
字符串、列表、元组
2、哪些可以切片
字符串、列表、元组
3、哪些是可变的、不可变
可变的:列表、字典
不可变:字符串、元组
类型转化函数
str()
可以将整型转化为字符串
可以将浮点转化为字符串
也可以转化列表、元组、字典、集合
int()
【注】通过input输入进来的都是字符串,如果需要整型。要通过int转化一下
【注】只能转化整型字符串
float()
【注】可以转化整型或者浮点字符串
bool()
空列表是False
空字符串是False
空字典也是False
None也是False
当是整型的时候,非0为真,0为假
list()
可以将元组、集合转化为列表
可以将字典中所有键拿出来放到列表中
可以将字符串里面所有的字符串提取出来存放到列表中
tuple()
可以将列表、集合转化为元组
可以将字典中所有键拿出来放到元组中
可以将字符串里面所有的字符串提取出来存放到元组中
dict()
lt = [('name', '成龙'), ('age', 60), ('son', '房祖名')]
dic1 = dict(lt)
set()
可以将列表、元组转化为集合
可以将字典中所有键拿出来放到集合中
可以将字符串里面所有的字符串提取出来存放到集合中
运算符和表达式
运算符:
就是用来做运算的符号
表达式:
就是一个式子,由变量、常量、运算符组成的式子 (表达式是有值得)
算术运算符
+ - * / % // **
/ : 两个数做除法运算,得到的是一个浮点
% : 取余
一个数对3取余,得到可能为012
对2取余,可以判断一个数的奇偶性
对10取余,可以得到个位数
可以判断两个数能否整除
// : 取商
** : 求几次方
赋值运算符
=
将等号右边表达式的值赋给等号左边
【注】等号左边只能写变量,不能写常量
复合运算符
+= -= *= /= %= //= **=
a += 3 ==》 a = a + 3 是一种简写方式
比较运算符
> < >= <= == !=
由比较运算符、变量、常量组成的式子叫做关系表达式,关系表达式的值只有两个,一个是真,一个是假
逻辑运算符
与(and) 或(or) 非(not)
逻辑表达式的值只有两个:真、假
逻辑与
表达式1 and 表达式2 整个表达式
真 真 真
真 假 假
假 真 假
假 假 假
一句话概括:只要有一个为假,那么整个表达式就是假
num > 80 and num < 200
80 < num < 200
在Python语言中可以使用第一种,这两种都可以,但是推荐使用第一种,用第二种容易暴露真实水平
逻辑或
表达式1 or 表达式2 整个表达式
真 真 真
真 假 真
假 真 真
假 假 假
一句话概括:只要有一个为真,那么整个表达式就是真
逻辑非
not 表达式 整个表达式的值
真 假
假 真
成员运算符
in not in
用来判断元素是否在列表、元组、集合、字典中
如果在,返回True,如果不在,返回False
如果是字典,判断键是否在字典中
位运算符(只需要了解一下就行了)
按位与
0 1 0
1 1 1
1 0 0
0 0 0
按位或
0 1 1
1 1 1
1 0 1
0 0 0
按位异或
0 1 1
1 1 0
1 0 1
0 0 0
按位与 &
按位或 |
按位异或 ^
按位取反 ~ 涉及到原码、反码、补码
左移 <<
右移 >>
运算符的优先级(依次递增)
Lambda #运算优先级最低
逻辑运算符: or
逻辑运算符: and
逻辑运算符:not
成员测试: in, not in
同一性测试: is, is not
比较: <,<=,>,>=,!=,==
按位或: |
按位异或: ^
按位与: &
移位: << ,>>
加法与减法: + ,-
乘法、除法与取余: *, / ,%
正负号: +x,-x
【注】不用记,以后写的时候注意加小括号就行了
流程控制
程序执行过程是从上到下一句一句执行
学了流程控制之后,程序猿、(程序媛)可以自己控制一坨代码要不要执行
分支结构:if
第一种结构:
if 表达式:
语句块
【注】里面的语句块要和if缩进四个空格,很严格
执行流程:
当程序执行到if语句时,首先判断表达式的值是否为真,如果为真,则执行语句块,如果为假,则不执行语句块
day02《==== ====》day04
网友评论