2023.2.15 Day4
2023.2.15 Day4
今日内容概要
主题:数据类型(先熟悉)
- 字符串
- 列表
- 字典
- 布尔
- 元组
- 集合
与用户交互
基本运算符
今日内容详细
字符串 str
# 用来记录描述性信息 eg: 姓名 地址 邮箱
定义:
ps:# 为什么有这么多种定义的方式
res = "某人说:'when you is young,learn more to save yourself'"
'''注意:当有引号套用的情况下,内外引号不能相同'''
res = '某人说:"when you is young,learn more to save yourself"'
列表 list
# 用来存取多个相同属性的值,并且方便存取
定义: names_list = ['张三', '李四', '王五']
l = [1, 1.1, 'kevin', [666, 777, 888, 'tony', [22,33, 'kevinNB']]]
# 小练习
l = [1, 1.1, 'kevin', [666, 777, 888, 'tony', [22,33, 'kevinNB']]]
# 1. kevinNB在大列表的第几个位置
l1 = l[3] # [666, 777, 888, 'tony', [22, 33, 'kevinNB']]
# 2. kevinNB在大列表的第几个位置
l2 = l1[4] # [22, 33, 'kevinNB']
# 3. kevinNB在大列表的第几个位置
l3 = l2[2] # kevinNB
print(l3)
# 整合
l4 = l[3][4][2]
print(l4)
字典(重要) dict
# 能够明确的描述详细信息
定义:大括号括起来,内部可以存放多个元素,元素与元素之间使用逗号隔开,是以K:V键值对的形式存储
K:是对V的描述性信息(一般情况是字符串)
V:真正的数据,其实相当于变量值,也是任意的数据类型
d = {'username': 'kevin', 'age': 18, 'hobby': 'music'}
d = {'username': 'kevin', 'age': 18, 'hobby': 'music'}
# 字典不能通过索引取值,通过字典的K取值
print(d['username'])
print(d['age'])
print(d['hobby'])
# 小练习
info = {
'username':'tony',
'addr':{
'国家':'中国',
'info':[666, 999, {'编号':466722, 'hobby':['read', 'study', 'music']}]
}
}
# 1. music在大字典里的位置
d1 = info['addr'] # {'国家': '中国', 'info': [666, 999, {'编号': 466722, 'hobby': ['read', 'study', 'music']}]}
# 2. music在小字典里的位置
d2 = d1['info'] # [666, 999, {'编号': 466722, 'hobby': ['read', 'study', 'music']}]
# 3. music在列表里的位置
d3 = d2[2] # {'编号': 466722, 'hobby': ['read', 'study', 'music']}
# 4. music在小字典里的位置
d4 = d3['hobby'] # ['read', 'study', 'music']
# 5. music在列表里的位置
d5 = d4[2] # music
print(d5)
# 整合
d6 = info['addr']['info'][2]['hobby'][2]
print(d6)
布尔值bool
# 判断是否正确
'''True 对 正确的 可行的...
False 错误 不可行的
is_right
is_delete
...
'''结果可能是布尔值的情况,我们都采用is开头命名'''
# 扩展
# 补充
'''在python中,所有的数据类型都可以转为布尔值'''
# 记忆
在python中,什么是真,什么是假
哪些是假的情况:
0, None, '', [], {}...
其他都是真
元组tuple
# 作用跟列表一样,它是不可变的列表
# 定义:小括号括起来,内部可以存放多个元素,元素与元素之间使用逗号隔开,元素不能更改
t1 = (11, 22, 33, 44)
集合set
# 特点:无序 去重 集合运算
# 定义:大括号括起来,内部可以存放多个元素,元素与元素之间逗号隔开,但是不是K:V键值对的形式
s = {11,22,33,44}
'''集合中的元素不能直接取出'''
与用户进行交互
password = input('请输入你的密码:>>>')
print(password, type(password)) # input接受的所有数据类型都是str类型
# print(password == '123') # python中==比较的是数据值和数据类型
print(int(password) == 123) # python中==比较的是数据值和数据类型
print(password == str(123)) # python中==比较的是数据值和数据类型
print(123, end='')
格式化输出
(1) 什么是格式化输出?
(2) 为什么要格式化输出?
我们经常会输出具有某种固定格式的内容,比如:'亲爱的xxx你好!你xxx月的话费是xxx,余额是xxx‘,我们需要做的就是将xxx替换为具体的内容。
# %s称为占位符(掌握)可以为所有的数据类型占位
res = '亲爱的%s你好!你%s月的话费是%s,余额是%s,我们需要做的就是将xxx替换为具体的内容。'
# print(res % ('kevin', 99, 2, 99999999))
# print(res % ('kevin1', 991, 2, 100))
# print(res % ('kevin2', 992, 2, 1199999))
# print(res % ('kevin3', 993, 2, 22999999))
# print(res % ('kevin4', 994, 2, 933999999))
# res1 = 'my name is %s'
# print(res1 % 'tony')
# %d占位符(了解)只能给数字类型占位
# print("my name is %d" % 'kevin')
print("金额:%08d" % 111)
print("金额:%08d" % 666666)
print("金额:%08d" % 99999999999)
基本运算符
# 菜鸟教程:https://www.runoob.com/python/python-operators.html
#% ** //
'''补充'''
# python中拼接字符串使用 +
s1 = 'hello'
s2 = 'world'
print(s1 + s2)
print(s1 * 10)
#== !=
# n = 666
n += 4
n -= 3
n *= 2
n /= 2
# m = 10
n = 20
#names_list = ['kevin', 'tony', 'tank', 'tom']
l1 = names_list[0]
l2 = names_list[1]
l3 = names_list[2]
l4 = names_list[3]
'''左右两边的个数必须一致'''
# ll1, ll2, ll3, ll4 = names_list
# ll1, ll2, ll3, ll4 = ['kevin', 'tony', 'tank', 'tom']
# 了解
ll1, *a, ll3, ll4 = ['kevin', 'tony', 'tank','a','b', 'tom']
# print(l1, l2, l3, l4)
print(ll1, a, ll4)