基本数据类型
数据类型之字典型dict
能够精准的存储信息
"""
使用大括号的形式存放多个元素,每个元素与元素之间用逗号隔开
元素都是以K:V键值对的储存形式
K是V的关键词,一搬用字符串表示
v是真正的数据,可以是任意数据类型
"""
字典型不可以用索引取值的方法,因为它的内部没有顺序

练习题:data = {
'username': 'owen',
'age': 18,
'addr': ['北京', '上海', {'省份': [{'安徽': ['合肥', '芜湖'], '上海': ['张江', '青浦', '浦东']}, '河南', '山东']}]
}
取出owen的老家芜湖

数据类型之集合set
主要功能为去重和关系运算
# 大括号括起来,内部存放多个元素,元素与元素之间用逗号隔开,但元素没有以k:v键值对的方式存在,如果大括号内没有数据,则会被优先定义为字典

数据元素之元组tuple
使用小括号的形式,内容一般情况下只能看,不能改,所以被称为不可变的小列表

"""
元组内的元素,不会被轻易的'修改'
"""

数据类型之布尔值bool
只有两种形态
ture 和 false
布尔值用来描述事物对错,是否可行,主要用于逻辑判断
"""
在python中所有的数据在进行逻辑判断的时候都会转成布尔值
被布尔值默认为false的数据
0、 None、 空字符串、 空列表、空字典
"""
布尔值的变量名一般采用is开头
is_right = True
is_delete = False
is_alive = True

用户交互
方法一、
获取用户输入
username = input('请输入您的用户名>>>:')
#input获取到的用户输入都会转成字符串型

方法二、
输出内部数据
print(username)
方式1、先写print括号内需要打印的东西
方式2、先写需要打印的东西之后使用句号跟print之后tab键即可
'''
括号内支持一次性打印多个数据,只要用逗号隔开即可
'''

格式化输出
"""
需要提前定义好模板,之后修改特定的区域即可
"""
亲爱的xxx你好!你本月的话费是xxx,余额是xxx
s = '亲爱的%s你好!你本月的话费是%s,余额是%s'
print(s % ('owen', 100, 99999999))
print(s % ('tony', 800, -99))
print(s % ('kevin', 88, 10))
username = input('username>>>:')
age = input('age>>>:')
print('my name is %s my age is %s' %(username,age))
"""占位符:%s %d"""
%s可以给任意数据占位
%d只能给数字占位
print('%03d' % 111) # 111
print('%03d' % 2) # 002


运算符
加(+)、减(-)、乘(*)、除(/)、整除(//)、取余(%)、等于(==)
增量赋值
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指向的值
方法一、取一个中间值
tmp = m
m = n
n = tmp
print(m, n)
方法二、
m, n = n, m
print(m, n)

解压赋值
"""
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(与)
连接多个条件都必须满足,结果才能为 ture
2 * 1 > 2 and 8 != 8 and True and 3 > 2

or(或)
连接多个条件时,只有有一个能满足,结果就为true
2 * 1 > 2 or 8 != 8 or True or 3 > 2

not(非)
将条件翻转
True变为False False变为True

"""
三者混合使用的时候有优先级
在我们人为编写初期就因为强制规定好顺序
"""
成员运算、身份运算
# 成员运算
判断个体在不在一个群体里面
name_list = [ 'kevin', 'tony', 'oscar', 'jerry', 'owen', 'tank']
print('owen' in name_list) # True
print('owen' not in name_list) # False

# 身份运算
is:判断两个数据的内存地址是否一致
l1 = ['owen','mark','loen']
l2 = ['owen','mark','loen']
print(l1 is l2) # 结果为false

==:判断两个数据的值是否一致
l1 = ['owen','mark','loen']
l2 = ['owen','mark','loen']
print(l1 == l2) # 结果为true

ok~,总结完毕
