Loading

数据变量下,用户交互,格式化输出,运算符

今日内容

  • 基本数据类型

  • 用户交互

  • 格式化输出

  • 运算符

基本数据类型

字典型 dict:能够非常精准的存储信息

# 大括号括起来,内存存放多个元素,元素与元素之间逗号隔开
'''
元素是以K:V键值对的形式存储
    K是对V描述性的信息,一般为字符串形式
    V是真实的数据类似于变量的值 可以是任意数据类型
'''
# eg
	user_info = {
        'username':'tuzi'
        'age':3
        'addr':'earth'
    }
#字典不支持索引取值,字典的内部是无序的
#小练习
data = {
    'username': 'jason',
    'age': 18,
    'addr': ['北京', '上海', {'省份': [{'安徽': ['合肥', '芜湖'], '上海': ['张江', '青浦', '浦东']}, '河南', '山东']}]
}
big_list = data['addr']  # 用键取值,进入data字典里的'addr'列表
little_dict = big_list[2]  #用索引取值,进入'addr'列表里的'省份'小字典
little_dict2 = little_dict['省份']  # 用键取值,进入省份里面的小列表
little_dict3 = little_dict2[0]  # 用索引取值进入小列表里的安徽里的小字典
print(little_dict3['安徽'][1])  # 用键取值,再用索引

# 熟练掌握后可以一行代码取键取值
print(data['addr'] [2] ['省份'] [0] ['安徽'] [1])

集合 set

集合主要用于去重、关系运算,该数据类型的功能很单一

# 用法:大括号括起来,内部存放多个元素,元素逗号隔开,不是k:v键值对
# eg:
	s = {1, 2, 3, 4}
    如果大括号定义空的数据  那么默认是字典

元组tuple

元组:跟列表几乎一致,但使用的是小括号,元组一般存储一些只能看不能改的数据

小外号叫不可变的列表

用法:小括号括起来 内存可以存放多个元素,元素与元素之间逗号隔开,元素可以是任意数据类型

l1 = [1,2,3,4]
t1 = (1,2,3,4)
print(l1,t1)
l1[2] = 33333
print(l1)
# t1[2] = 22222  # 不能修改
print(t1)

布尔类型 bool

只有两种状态,True和false,主要用于逻辑判断,判断事物的对错,是否可行

True就是可以或者对

false就是不可以或者错

在pyhon中的所有的数据进行判断都会转成布尔值

布尔值默认为False的数据:0 None 空字符串 空列表 空字典。。

其他情况布尔值为True

针对布尔值的变量名 一般采用is开头

数据类型到这里结束了
接下来学习这些

用户交互

1. 获取用户输入
username = input('输入你的名字')
# input获取到的用户输入都会转成字符串类型
2. 输出内部数据
	print(username)
编写方式
方式1:先写print接着在括号内写需要打印的东西
方式2:先写需要打印的东西,然后使用句点符跟print之后tab就可以
print括号内支持一次性打印多个数据 逗号隔开即可

格式化输出

提前有一套写好的模板,之后需要替换点提前留好的占位符即可

# 格式化输出 %s可以给任意数据占位
#           %d 只能给数字占位
# eg1:
# tuzi = '亲爱的%s你好!你%s月的话费是%s,余额是%s'
print(tuzi % ('tuzi', 3, 180, 99989889))
username = input('plese input your name')
# eg2:
age = input('your age')
print('my name is %s my age is %s'%(username,age))

# %d使用方法
print('%08d' % 1110)
# 输出结果是00001110
拓展:如果给%d 占位的字符长度是8位数的话,如果你输入的数字长度不够,那么就会用0来补齐,如果你输入的数字长度超了八位,那么你输入的多少位数字就是多少位数字。

运算符

# 运算符 +(加) -(减) *(乘) /(除) //(整除)  %(取余) 
# ==(等于)
# print(10 / 3)  # 整除只保留整数部分
# print(10 % 3)   # 取余只保留除不尽剩下的整数
# print(3 == 3)  #其结果返回 true false

链式赋值

链式赋值
a = 1
b = a
c = a
简化
a = b = c = 1

增量赋值

x = 10
x += 100  # 就是x = x + 100
x -= 100  # 就是x = x - 100
x *= 100  # 就是x = x * 100
x /= 100  # 就是x = x / 100

交叉赋值

tuzi = 3
tuofa = 2
# 在不知道tuzi和让tuofa的值时,让tuzi指向tuofa的值,tuofa指向tuzi的值
tuzi = tuofa
tuofa = tuzi
print(tuzi,tuofa)  # 输出结果是 2  2  是错误的
# 方法1 (多添加一个变量,使他们三个来回赋值,完成转换)
diaowanle = tuzi
tuzi = tuofa
tuofa = diaowanle
print(tuzi,tuofa)
# 方法2
tuzi,tuofa = tuofa,tuzi
print(tuzi,tuofa)

解压赋值

name_list = ['tuzi', 'tuofa', 'meiyoule']
l1 = name_list[0]
l2 = name_list[1]
l3 = name_list[2]
print(l1, l2, l3)
# 怎么解压赋值
l1, l2, l3,= name_list
print(l1, l2, l3)
l1, l2,= name_list
print(l1, l2, l3)
# 注意!!!   一般情况下,左右两边的变量名和值的个数要相等,不能多也不能少,但是也可以打破数量的限制,就是使用"*"+变量名,通常使用下划线来表示存放不想用的数据,单独的下划线作为变量名,意思是为了符合语法,但指向的值用不到的情况
l1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 90, 80]
a, b, c, *_ = l1
print(a, b, c, _)
# 输出结果为 1 2 3 [4, 5, 6, 7, 8, 9, 90, 80]
# 也可以将下划线放到中间来表示
x, y, *_, z, = l1
print(x, y, _, z)
# 输出结果为 1 2 [3, 4, 5, 6, 7, 8, 9, 90] 80

逻辑运算符

# 逻辑运算符 and or not
and #与  连接多个条件都必须满足,结果才算是True
or  #或  连接的多个条件只需要满足一个,结果就可以是True
not #将条件反转,True 变为False,false变为True
# 逻辑运算符也有优先级,但不需要特意去记,应该在编程初期人为的强制规定好顺序

成员运算与身份运算

# 成员运算与身份运算
# 成员运算   判断个体不在某个群体内
name_list = ['tuzi', 'zhangsan', 'lisi']
print('tuzi' in name_list)  # 返回结果为Ture
print('tuzi' not in name_list)  # 返回结果为false
# 身份运算
# is 判断两个数据的内存地址是不是一致的
# == 判断两个数据的值是否一致
a=1
b=1
print(a is b)
print(a == b)
posted @ 2022-03-04 19:14  香菜根  阅读(44)  评论(0)    收藏  举报