第三章 简单了解数据类型
数据类型(简单接触一下)
字符串
作用:主要用于记录描述性质的数据 eg:姓名 地址 邮箱
定义:
方式1 # 单引号 name='x'
方式2 # 双引号 name="x"
方式3 # 三个单引号(左侧出出现了赋值符号和变量名为字符串否则为注释) name='''x'''
方式4 # 三个双引号(左侧出出现了赋值符号和变量名为字符串否则为注释) name="""x"""
'''
为了避免冲突
name = 'hi is l and he say:"NB"'
'''
列表str
作用:存放多个元素,需要时能取出任意元素
name_list = ['lf', 11, [1, 2, 'fq']]
0 1 2
2[0] 2[1] 2[2]
print(name_list[0])
输出为lf
print(name_list[2][2])
输出为fq
字典
能够精准的存储数据
元素是K:V键值对的形式
K是对V的描述性性质的信息(一般情况下都是字符串)
V是真正的数据 相当于变量的值 可以是任意数据类型
字典取值需要借助k,借助索引是没效果的
d = {'name': 'fq',
'age': 18,
'hobby': '睡觉'}
print(type(d))
<class 'dict'>
print(d['name'])
列表+字典扩展
info = {
'username': 'jason',
'addr': ['安徽', '芜湖', {'国家': '中国', '编号': [11, 22, '中国最牛']}]}
print(info['addr'][2]['编号'][2])
得到结果'中国最牛'
图片补充:
删除字典元素
布尔值
作用:用于判断事物的对错 是否可行等
定义:布尔值只有两种状态
True ✔的
False ✖的
# 补充
针对布尔值的变量名一般采用is开头
is_right = True
is_delete = False
is_alive = True
# 扩展
现实生活中的数据存储与销户 其实大概率没有删除数据
而是修改了数据的某个唯一代码 然后通过代码筛选过滤
# 记忆
Python中数据类型
布尔值为false的有:
0,None,'',[]
数据类型值元祖 tuple
作用:与列表几乎一致 内部可以存放多个元素(可以看成不可变列表)
t1=(1, 2, 3, 4) 不支持修改
数据集合 set
作用:去重和关系运算 元素不是k:v键值对
s = {11, 22, 33, 44}
print(set())
与用户交互
输入
#username = input('xxxxxxx')
input获取到的用户输入全部都会转换成字符串
输出
默认print()为回车
1.自带end参数 可以打印排版 不敲默认换行
print(123,end='\n')
print(123,end='$')
print(123)
格式化输出
res = '亲爱的%s你好! 你%s月的话费是%s,余额%s'
print(res % ('fq', 11, 100, 9999999))
print(res % ('lf', 11, 0.00, -200))
# 占位符 %s %s可以给任意数据占位
# 再使用%按位置--替换
'''
%d占位符 只能给数字(num)占位
print('%08d' % 123) 占8位, 输出结果:00000123
pirnt('%08d' % 6666666666) 输出结果:6666666666
固定位 数据不够 0 来凑
数字超过8位 数字几位就几位
'''
运算符
# 算术运算符
//(取整除) %(取余) **(幂,取n次方)
# 比较运算符
== != >=
完全等于 不等于 大于等于
'''
增量复制
n = 6
n = n + 1 偷懒写法 n += 1
n = n * 1 n *= 1
'''
赋值
# 链式赋值(偷懒)
x = y = z = 666
# 交叉赋值
'''
方式一 利用中间变量
tmp = m n = 10
m = n m = 20 (前提)
n = tmp
方式二 交叉赋值
m, n = n, m
print(m,n)
'''
# 解压赋值
name_list = ['l', 'f', 'niu', 'pi']
name1, name2, name3, name4 = name_list
一一对应 多了少了都会报错
进阶用法:可以打破上面的规律 *符号
name1, *a, name = name_list
中间那段数据会被打包给*号的数量名
name1, *_, name2 = name_list
name1, name2, *_ = name_list
下划线单独作为变量名 通常表达的意思指向值没啥用
逻辑运算符
与 或 非
and or not
与:多个条件都得满足
或:多个条件只要满足一个就行
非:反话
逻辑运算存在优先级
(3>4 and 4>3) or (1==3 and 'x' == 'x') or 3>3
False
成员运算
# 判断某个个体在不在某个群体内
关键字:in(在) not in(不在)
# name_list = ['l', 'f', 'q', 'w']
# print('l' in name_list) # True
# name = input('请输入您要查询的学生姓名:')
# print(name in name_list) # 输l True
# print(name not in name_list) # 输x True
print('lf' in {'name' : 'lf', 'age': '18'})
# False
# 字典默认暴露给外界的只有k
print('name' in {'name' : 'lf', 'age': '18'})
# True
身份运算
# 判断两个数据 值和内存地址是否相等
符号:==(只判断值) is(判断内存地址)
# s1 = ['l', 'f', 'niu', 'pi']
# s2 = ['l', 'f', 'niu', 'pi']
# print(s1 == s2)
# print(s1 is s2)
'''
值相同的内存地址不一定相同
内存地址相同的值一定相同
'''
好了,我编不下去了。