花式赋值
链式赋值
a = 1
b = 1
c = 1
d = 1
print(f'a:{a},b:{b},c:{c},d:{d}')
a: 1, b: 1, c: 1,d: 1
a = b = c = d =1
print(f'a:{a},b:{b},c:{c},d:{d}')
交叉赋值
x = 10
y = 20
# x变成20, y变成10, 不让原来的10和20被垃圾回收机制回收,设一个中间变量
z = x
x = y
y = z
print(f'x:{x}')
print(f'y:{y}')
x: 20
y: 10
x,y =y,x
print(f'x:{x}')
print(f'y:{y}')
x: 10
y: 20
列表(list)
- 作用:存储多个任意数据类型元素
- 定义方式:[]内用逗号隔开多个元素(任意类型)
num = 0
s = ' ' # 空字符串
list = [] # 空列表
s_list = list('abcdefg')
print(s_list)
['a', 'b', 'c', 'd', 'e', 'f', 'g']
-
使用方法:
存不是目的,取才是目的,我们介绍列表索引取值的方法,记住索引序号从0开始.
hobby_list = ['read','run','girl'] print(hobby_list[1])
run
hobby_list = ['read','run',['girl_name',18,'shanghai']] # 取出girl的年龄 print(hobby_list[2][1])
字典(dict)
需要索引精确取值时,使用新的数据类型~~字典
- 作用:用来存取多个值,每个值都有描述信息,按照key: value的方式存值, 取的时候可以通过key而非索引去取值,
- 定义: 在{}内用逗号隔开多个键(字符串描述):值(具体的值,可以为任何数据类型)
- 使用:字典取值方式不再依赖于索引,而是依赖于key,通过[key]即可获取value值.
# 字典套列表
user_info = {'name':'zzx','gender':'male','age':19,
'company_info':['oldboy','shanghai',50]}
print(user_info['name'])
print(user_info['company_info'][0])
nick 'key': value value可以是列表可以是字典,任何数据类型
oldboy
# 字典套字典
user_info = {'name':'nick','gender':'male','age':19,'company_info':{'c_name':'oldboy','c_addr':'shanghai','c_num_of_employee':50}}
print(user_info['name'])
print(user_info['company_info']['c_name'])
nick
oldboy
布尔类型
-
用于判断条件结果
-
布尔类型只有两个值,True和False,通常情况不会直接引用,而是需要逻辑运算得到结果.
-
条件成立为True,条件不成立为False
print(bool(0)) # False print(bool('nick')) # True print(bool(1 > 2)) # False print(bool(1 == 1)) # True
Python中所有数据类型的值自带布尔值.如此多的数据类型中只需要记住只有0None空False的布尔值为False,其余都为True.
解压缩
- 解开容器类数据类型:针对2~3个元素容器类型的解压
name_list = ['nick','egon','jason']
x = name_list[0]
y = name_list[1]
z = name_list[2]
print(f'x:{x},y:{y},z:{z}')
x: nick, y: egon, z: jason
解压缩后:
name_list = ['nick','egon','jason']
x,y,z = name_list
print(f'x:{x},y:{y},z:{z}')
x: nick, y: egon, z: jason
name_list = ['nick','egon','jason','tank']
x,y,z,a = name_list
x,_,_,z = name_list #
python与用户交互
input()方法
name = input('请输入你的姓名')
pwd = input('请输入你的密码')
print(type(name))
print(type(pwd))
请输入你的姓名:
请输入你的密码:
<class 'str'>
<class 'str'>
**无论我们输入的值是数字类型字符串类型列表类型,input的接收值都是字符串类型.
格式化输出三种方式
-
占位符 %s(针对所有数据类型)%d(仅对数字类型)
name = 'nick' age = 19 print('my name is %s my age is %s' % (name, age))
my name is nick my age is 19
-
format格式化
name = 'nick'
age = 19
print("Hello, {}. You are {}.".format(name, age))
Hello, nick. You are 19.
- f-String格式化
name = "nick"
age = 19
print(f"Hello, {name}. You are {age}.")
Hello, nick. You are 19.