数据类型总结+格式化输出
一、数据类型总结
(1)整型(int) age = 18
(2)浮点型(float) salary = 3.1
(3)字符串(str) name = 'jason' name1 = "jason" name2 = '''jason''' name3 = """jason"""
(4)列表(list) name_list = [11, 'jason', 11.11 ,[11, 22, 33, 44] ]
中括号括起来,元素与元素之间逗号隔开,元素可以是任意数据类型,索引值从左往右,0开始计数
(5)字典(dict) user_info = {'username':'jason', 'age':18, 'hobby':'Read', 'year':99}
大括号括起来,元素间逗号隔开,元素以k:v键进行储存,k一般是字符串,v可以是任意数据类型
强调:字典内部无顺序,所以不支持索引
(6)集合(set) s = {1, 2, 3, 4, 5} 使用比较少,如果大括号括起来,内部没有元素,默认是字典
(7)元祖(tuple) t = (1, 2, 3, 4) 元祖内部数据不能修改
(8)布尔值(bool) is_right = True is_delete = False(只有Ture和False两个状态)
所有数据在进行逻辑判断时候都会变成布尔值
0 None 空字符串 空列表 空字典 默认为False,其他都为True
针对布尔值一般开头用is
具体展开如下
字典dict的练习
data = {
'username': 'jason',
'age': 18,
'addr': ['北京', '上海', {'省份': [{'安徽': ['合肥', '芜湖'], '上海': ['张江', '青浦', '浦东']}, '河南', '山东']}]
}
# 利用索引和按k取值 获取jason的家乡 芜湖
# 1.先获取键addr对应的值
big_list = data['addr'] # 存储addr对应的大列表
# 2.利用索引取值获取列表第三个元素
little_dict = big_list[2] # 存储小字典
# 3.利用键获取值
little_list = little_dict['省份']
# 4.利用索引取值获取最终的字典
l1_dict = little_list[0]
# 5.利用键取值 再利用索引
print(l1_dict['安徽'][1])
print(data['addr'][2]['省份'][0]['安徽'][1]) (一行代码)
元祖的练习
l1 = [11, 22, 33]
t1 = (11, 22, 22)
print(l1[1], t1[1])
l1[1] = 996
print(l1)
》》》l1 = [996, 22, 33]
t1[2] = 117 # 不能修改
print(t1) 会显示错误
二、与用户交互
1.用户输入
username = input('请输入您的名字>>>:')
2.输出
print(username)
编写方式
方式1 先写print括号内写需要打印的东西(中规中矩)
方式2 先写需要打印的东西之后使用句点符跟print之后tab键即可
括号内还支持一次性打印多个数据 逗号隔开即可(建议用第二种,更方便)
三、格式化输出(例如到月发话费信息提醒,除了关键信息变化,其他都一样)
方法一
'亲爱的xxx你好!你xxx月的话费是xxx,余额是xxx'
用%s表示不知道的地方,进行替换
s = '亲爱的%s你好!你%s月的话费是%s,余额是%s'
print(s % ('丹丹',6,20,150))
方法二
username = input('username>>>:')
age = input('age>>>:')
print('my name is %s my age is %s' % (username, age))
"""占位符:%s (可以给任意数据占位)%d"""(仅仅给数字占位)
print('%08d' % 2) # 00000002
(表示数字是8位,最后一个占位数字是2)
print('%08d' % 111) # 00000111(表示数字是8位,最后三个占位数字是11常用于快递单号的编码
四、运算符
加(+) 减(-) 乘(*) 除(/) 整除(//)
取余(%) 等于(==)
1.增量赋值
x += 100 #x = x + 100
x -= 100 #x = x - 100
x *= 100 #x = x * 100
x /= 100 #x = x / 100
2.链式赋值
x=100
y=x
z=x
#简化
x=y=z=100
3.交叉赋值
m=10
n=999
#现在想要让m和n的值兑换
方法一:tmp=m
m=n
n=tmp
方法二:m,n = n, m(#简化)
print(m,n)= 999 10
4.解压赋值
name_list = ['jason', 'kevin', 'tony', 'jerry']
想要把列表里面每个元素都快速赋值
name1,name2,name3,name4 = name—list
相当于把jason赋值给name1,kevin赋值给name2,以此类推。。。
注意:正常情况列表里面几个元素,右边的变量名就得几个,但是也可以用*打破这种限制.
l1 = [11, 22, 33, 44, 55, 66, 77, 88, 99]
a,b,*c = l1
print(a, b, c)>>> #11 22 [33, 44, 55, 66, 77, 88, 99](相当于把前两个元素拿出来,后面元素都在一起)
a,*_, b = l1(这里的_就是表示变量名,和上面的c一样作用)
print(a, b, _)>>> #11 99 [22, 33, 44, 55, 66, 77, 88]
五、逻辑运算符
and or not(非)三者也可以混合使用,使用时候顺序用括号隔开eg: (3>4 and 4>3) or ((1==3 and 'x'=='x')0r 3>3)
六、成员运算、身份运算判断是否在群体内
name_list = ['json', 'tony', 'kevin', 'diwen']
print('jason' in name_list)#ture
print('jason' not in name_list)#false
六、身份运算
is判断数据内存地址是否一致
==:判断数值是否一致
注意:两个数据地址一致,数值一定相等,但是数值相等,有可能是不同地址!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人