python第四天
第四天
-
基本数据类型
"""先混个眼熟""" # 假设列表存储的是某个人的身份信息 info = ['jason', 18, 'read', 18,183,999] 列表存储信息有缺陷 无法明确标明数据的指向 字典:能够非常精准的储存信息 info """ 大括号括起来 内部存放多个元素 元素与元素之间逗号隔开 元素都是以K:V键值对的形式存储 K是队V的描述性性质的信息 一般都是字符串 V是真实的数据类似于变量的值 可以是任意数据类型 """ user_info ={ 'username':'jason', 'age':18, 'hobby':'dbj', 'year':95 } 强调:字典是不支持索引取值的 因为字典内部是无序的 练习题 """理解思路即可 该题仅仅是为了练习而已""" 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])
-
数据类型集合 set
该数据类型功能单一 使用率低 去重,关系运算 # 大括号括起来 内部存放多个元素 元素之间用逗号隔开 不是K:V键值对 s = {1,2,3,4,5} dd = {} 如果大括号定义空的数据,那么默认为字典
-
数据类型之元组 tuple
跟列表几乎一致,只不过使用的是小括号 一般储存一些只能看不能改的数据 """ 小括号括起来 内存可以存放多个元素 元素之间引用逗号隔开 元素可以是任何数据类型 """ t1 = (1, 2,3,4) 元组内数据不能更改
-
数据类型之布尔值bool
只有两个状态 True False 布尔值是用来描述事物对错 是否可行的 主要用于逻辑判断 True就是可行 可以 False就是不可以 不能干 """ 在python中所有的数据再进行逻辑判断的时候都会转成布尔值 布尔值默认为False的数据 0 None 空字符串 空列表 孔子点 ... 其他情况布尔值都是True """ 针对布尔值的变量名 一般采用is开头 is_right = True is_delete = False is_alive = True
-
用户交互
1.如何获取用户输入 username = input('请输入您的用户名>>>:') # input获取到的用户输入都会转成字符串类型 2.输出内部数据 print(username) 方式1 先写print括号内的写需要打印的东西 方式2 先写需要打印的东西之后使用句点符跟print之后按table键 括号内还支持一次性打印多个数据 逗号隔开即可
-
格式化输出
# 提前定义好模板 之后修改特定的区域即可 '亲爱的XXX你好!你XXX月花费是XXX,余额是XXX' # S = '亲爱的$s你好!你$s月花费是%s,余额是%s' # print(s%('jason', 2 ,100 , 9999)) # print(s%('jack', 23 ,120 , 99)) # print(s%('jack', 23 ,120 , 99)) username = input('username>>>:') age = input('age>>>:') print('my name is %s my age is %s %(username, age)') """占位符:%s %d""" %s可以给任意数据类型占位 %d只能给数字占位 %d特殊用法: print('%08d' % 111) # 00000111 print print('%08d' % 2) # 00000007 print('%08d' % 123456789) # 123456789
-
运算符
数学运算符 乘(*) 除(/) 整除(//) 取余(%) 等于(==) 增量赋值 x += 100 # x = x + 100 x -= 100 # x = x - 100 x *= 100 # x = x * 100 x /= 100 # x = x / 100 链式赋值 x = 100 y = x z = x # 简化 x = y = z = 100 交叉赋值 m = 10 n = 999 # 让m指向n指向的值 让n指向m指向的值 # m = n # n = m # print(m, n) # 999 999 tmp = m m = n n = tmp print(m, n) # 交叉赋值 m, n = n, m print(m, n) 解压赋值 name_list = ['jason', 'kevin', 'tony', 'jerry'] # name1 = name_list[0] # name2 = name_list[1] # name3 = name_list[2] # name4 = name_list[3] # 解压赋值(重要) # name1, name2, name3, name4 = name_list # name1, name2 = name_list 报错 # name1, name2, name3, name4, name5 = name_list 报错 """ 1.正常情况下 左右两边的变量名和值个数要相等 2.也可以打破个数限制 """ l1 = [11, 22, 33, 44, 55, 66, 77, 88, 99] a, b, *_ = l1 print(a, b, _) # 11 22 [33, 44, 55, 66, 77, 88, 99] a, *_, b = l1 print(a, b, _) # 11 99 [22, 33, 44, 55, 66, 77, 88] """ 单独的下划线作为变量名 意思是为了符合语法 但是指向的值用不到的情况 """ 逻辑运算符 and 与 连接多个条件必须都满足 结果才是True 2 > 1 and 1 != 1 and True and 3 > 2 or 或 连接多个条件只要有一个满足 结果就是True 2 > 1 or 1 != 1 or True or 3 > 2 not 非 将条件翻转 True变为False False变为True not True """ 三者混合使用的时候是有优先级的 但是我们不需要记 应该人为的在编写初期就强制规定好顺序 (3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3) """ 成员运算、 身份运算 # 成员运算 判断个体在不在某个群体内 name_list = ['jason', 'kevin', 'tony', 'oscar', 'jerry', 'owen', 'tank'] print('jason' in name_list) # True print('jason' not in name_list) # False # 身份运算 is:判断两个数据的内存地址是否一致 ==:判断两个数据的值是否一致 ...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!