day4

Day4

基本数据类型

# 字典:dict {}用这个表示
字典是一种key-value的数据类型,能过非常精准的储存信息。
定义:{key1:value1,key2:value2}
1、键与值用冒号“:”分开;
2、项与项用逗号“,”分开;
特性:
1.key-value结构
2.key必须可hash、且必须为不可变数据类型、必须唯一,不能重复
3.可存放任意多个值、可修改、可以不唯一
4.无序
5.查找速度快
强调:字典是不支持索引取值的 因为字典内部是无序的
# 集合 set {}
空的时候是默认为字典,有值就是集合.
数学概念:由一个或多个确定的元素所构成的整体叫做集合。
特征:
1.确定性(元素必须可hash)
2.互异性(去重)
3.无序性(集合中的元素没有先后之分),如集合{3,4,5}和{3,5,4}算作同一个集合。
作用:
去重 把一个列表变成集合,就自动去重了
关系测试 测试两组数据之间的交集、差集和并集
# 元组 tuple
定义:
1.Python的元组与列表类似,不同之处在于元组的元素不能修改。
2.元组使用小括号,列表使用方括号。
3.元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
4.所有能被for循环遍历的数据都能转化成元组,与列表的转换条件相同。
# 布尔值 bool
定义:布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来:
True就是可以 可行 
False就是不可以 不能干
布尔值可以用and、or和not运算。
1.and运算是与运算,只有所有都为True,and运算结果才是True
2.or运算是或运算,只要其中有一个为True,or运算结果就是True:
3.not运算是非运算,它是一个单目运算符,把True变成False,False变成True:
在python中所有的数据在进行逻辑判断的时候都会转成布尔值
	布尔值默认为False的数据
		0 None 空字符串 空列表 空字典...
	其他情况布尔值都是True
针对布尔值的变量名 一般采用is开头
is_right = True			
is_delete = False		
is_alive = True
# 与用户交互
定义:用户交互就是人往计算机中input/输入数据,计算机print/输出结果,交互的本质就是输入、输出。
1.输入input
python3 中的input功能和在python2 有一些不同:
# 在python3中,input功能会等待用户的输入,用户输入任何内容都会变成字符串类型,然后赋值给左边的变量名
>>> name = input("请输入你的名字:")
请输入你的名字:abc    #name = "abc"
>>> password = input("请输入你的密码:")
请输入你的密码:123    #password = "123"
>>> type(name)
<class 'str'>
>>> type(password)
<class 'str'>

# 在python2中,input功能会需要用户输入一个明确的数据类型
# 但是也有一个和python3一样的用法,就是raw_input
>>> name = input("请输入你的名字:")
请输入你的名字:abc
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name 'abc' is not defined
>>> name = input("请输入你的名字:")
请输入你的名字:"abc"
>>> name
'abc'
>>> type(name)
<type 'str'>
>>> password = input("请输入你的密码:")
请输入你的密码:123
>>> type(password)
<type 'int'>
>>> name = input("请输入你的名字:")
请输入你的名字:[1,2]
>>> type(name)
<type 'list'>
>>> name = raw_input("名字:")
名字:[1,2]
>>> type(name)
<type 'str'>
2.输出print
格式化输出就是把一段字符串里面的某些内容替换掉后再输出

格式化输出三种方式:

      a、使用占位符%d、%s
# %s占位符可以接收任意类型的数据
# %d占位符只能接收数字
>>> print('你的名字叫%s,你的年龄是%d'%('abc',18))
你的名字叫abc,你的年龄是18
      b、使用format方法
复制代码
# format按照前后顺序接收数据
>>> print('你的名字:{},你的年龄:{}'.format('abc',18))
你的名字:abc,你的年龄:18
# format按照对应关系接收数据
>>> name = 'abc'
>>> age = 18
>>>
>>> print('你的年龄:{age},你的名字:{name}'.format(name = name,age = age))
你的年龄:18,你的名字:abc
复制代码
        c、使用f-string方法
# f"{}"方法
>>> name = 'abc'
>>> age = 18
>>> print(f"你的年龄{age},你的名字{name}")
你的年龄18,你的名字abc
# 运算符
运算符不属于数据,没有数据类型,你可以简单地把它认为是数学的加、减、乘、除,变量是用它来进行运算的。
乘(*)   除(/)  整除(//)   取余(%)   等于(==)
# 逻辑运算符
1. and	与
	连接多个条件必须都满足 结果才是True
2. or	或	
连接多个条件只要有一个满足 结果就是True
3. not	非
	将条件翻转 True变为False False变为True
 	not True
三者混合使用的时候是有优先级的 但是我们不需要记
应该人为的在编写初期就强制规定好顺序
# 成员运算
定义:首先看“in”.意思是,如果在指定的序列中找到了,那么结果是True,如果没有找到,那么结果是False.
content = input('请输入你的评论:')
if'马化腾' in content:
print('你的评论不合法') #False
else:
print('你的评论是合法的') #True
# 身份运算
is:判断两个数据的内存地址是否一致  
==:判断两个数据的值是否一致

posted @ 2022-03-04 15:40  Gabydawei  阅读(28)  评论(0编辑  收藏  举报