第三章 简单了解数据类型

数据类型(简单接触一下)

字符串

作用:主要用于记录描述性质的数据 eg:姓名 地址 邮箱
定义:
	方式1  # 单引号	name='x'
	方式2  # 双引号	name="x"
	方式3  # 三个单引号(左侧出出现了赋值符号和变量名为字符串否则为注释)	name='''x'''
	方式4  # 三个双引号(左侧出出现了赋值符号和变量名为字符串否则为注释)	name="""x"""
    
    	'''
    	为了避免冲突
    	name = 'hi is l and he say:"NB"'
    	'''

列表str

作用:存放多个元素,需要时能取出任意元素
name_list = ['lf', 11, [1, 2, 'fq']]
			  0 	1		2
    				  2[0] 2[1]	2[2]
print(name_list[0])
输出为lf
print(name_list[2][2])
输出为fq

字典

能够精准的存储数据
元素是K:V键值对的形式
	K是对V的描述性性质的信息(一般情况下都是字符串)
	V是真正的数据 相当于变量的值 可以是任意数据类型
	字典取值需要借助k,借助索引是没效果的
d = {'name': 'fq',
     'age': 18, 
     'hobby': '睡觉'}
print(type(d))
	<class 'dict'>
print(d['name'])

列表+字典扩展
info = {
    'username': 'jason',
    'addr': ['安徽', '芜湖', {'国家': '中国', '编号': [11, 22, '中国最牛']}]}
print(info['addr'][2]['编号'][2])
得到结果'中国最牛'

图片补充:
image

image

删除字典元素

image

布尔值

作用:用于判断事物的对错 是否可行等
定义:布尔值只有两种状态
	True ✔的
    False ✖的
    
 # 补充
	针对布尔值的变量名一般采用is开头
    	is_right = True
        is_delete = False
        is_alive = True
 # 扩展
	现实生活中的数据存储与销户  其实大概率没有删除数据
    而是修改了数据的某个唯一代码  然后通过代码筛选过滤
 # 记忆
	Python中数据类型
    	布尔值为false的有:
        	0,None,'',[]
        

数据类型值元祖 tuple

作用:与列表几乎一致 内部可以存放多个元素(可以看成不可变列表)
t1=(1, 2, 3, 4)			不支持修改

数据集合 set

作用:去重和关系运算	元素不是k:v键值对
 s = {11, 22, 33, 44} 
    print(set())

与用户交互

输入
	#username = input('xxxxxxx')
    
    input获取到的用户输入全部都会转换成字符串
输出
	默认print()为回车
    1.自带end参数  可以打印排版 不敲默认换行
    	print(123,end='\n')
    	print(123,end='$')
        print(123)

image

格式化输出

res = '亲爱的%s你好! 你%s月的话费是%s,余额%s'
print(res % ('fq', 11, 100, 9999999))
print(res % ('lf', 11, 0.00, -200))

# 占位符 %s	%s可以给任意数据占位 
# 再使用%按位置--替换

'''
 %d占位符	只能给数字(num)占位
	print('%08d' % 123) 占8位,	输出结果:00000123
	pirnt('%08d' % 6666666666)	输出结果:6666666666
    	固定位 数据不够 0 来凑
        数字超过8位  数字几位就几位
'''

运算符

# 算术运算符
	//(取整除) %(取余) **(幂,取n次方)
    
# 比较运算符
	== 			!= 			>=
      完全等于	              不等于		大于等于 
'''
  增量复制
	n = 6
	n = n + 1  偷懒写法 n += 1
	n = n * 1  n *= 1
'''

赋值

# 链式赋值(偷懒)
x = y = z = 666

# 交叉赋值
'''
方式一 利用中间变量
tmp = m			n = 10 
m = n			m = 20 (前提)
n = tmp

方式二 交叉赋值
m, n = n, m
print(m,n) 
'''

# 解压赋值
	name_list = ['l', 'f', 'niu', 'pi']
	name1, name2, name3, name4 = name_list
		一一对应 多了少了都会报错
     
    进阶用法:可以打破上面的规律   *符号
    	name1, *a, name = name_list
       中间那段数据会被打包给*号的数量名
    	name1, *_, name2 = name_list
        name1, name2, *_ = name_list
       下划线单独作为变量名 通常表达的意思指向值没啥用

image

逻辑运算符

  与    或    非
 and    or   not
与:多个条件都得满足
或:多个条件只要满足一个就行
非:反话

逻辑运算存在优先级
(3>4 and 4>3) or (1==3 and 'x' == 'x') or 3>3
False

成员运算

# 判断某个个体在不在某个群体内
	关键字:in(在) not in(不在)
		# name_list = ['l', 'f', 'q', 'w']
		# print('l' in name_list)  # True

		# name = input('请输入您要查询的学生姓名:')
		# print(name in name_list)  # 输l True
		# print(name not in name_list)  # 输x True
		print('lf' in {'name' : 'lf', 'age': '18'}) 
		# False
		# 字典默认暴露给外界的只有k
		print('name' in {'name' : 'lf', 'age': '18'}) 
		# True

身份运算

# 判断两个数据 值和内存地址是否相等
	符号:==(只判断值)  is(判断内存地址)
		# s1 = ['l', 'f', 'niu', 'pi']
		# s2 = ['l', 'f', 'niu', 'pi']
		# print(s1 == s2)
		# print(s1 is s2)
	 '''
	 值相同的内存地址不一定相同
	 内存地址相同的值一定相同
	 '''	

好了,我编不下去了。
image

posted @ 2021-11-03 15:27  hai起奈  阅读(65)  评论(0编辑  收藏  举报