赋值符号和循环略解
链式赋值
例如x=y=z=10
交叉赋值
例如
m=10,n=6
m,n=n,m
(6,10)
解压赋值
把列表中的多个值取出来依次赋给多个变量名,可以使用此方法
设nums=[1,2,2,2,2,2,3]
a,b,c,d,e,f,g=nums
PS:等号左边的变量名个数必须与右边包含的值相同,否则会报错
若只想取头尾值可以用*_替换
例子:
nums=[1,2,3,4,6,5]
a,*__,b=nums _放开头代表废弃
print(a,b)
>>>1,5
ps:字符串,字典也能使用该方法
逻辑运算符
and or not
这三者优先级 not>and>or
三者同时出现时按优先级先后计算
例子:3>4 and 5>4 or 6<5 == 6<5 or(3>4 and 5>4)or 6<5 先计算括号中的值
or含义为当判断中出现true时放弃往后判断
and含义为当遇见false时停止判断
not是把后面的数值的布尔类型取反
偷懒原则=》短路运算
隐式的布尔值
首先所有类型的数据都可以当作隐式的布尔值,其次只要记住
0、None、空他们三类隐藏的布尔值是False,除此以外是True
成员运算符
in 某一个对象存在于另一个对象返回True
not in = in not 某一个对象不存在于另一个对象返回True
身份运算符
is 比较的是id 不是value值 若id值相同则返回True
is not 比较的是value值 若value值相同返回true
PS:==比较的是value值
while循环
while循环中的continue指的是跳过本次循环
在本次循环中continue后面的代码将不会在运行
但是整体的循环会继续运行
例子:
打印1到10之间,除7以外的所有数字
number=11
while number>1:
number -= 1
if number==7:
continue # 结束掉本次循环,即本次循环continue之后的代码都不会运行了,而是直接进入下一次循环
print(number)
while+else的案例
while后面可以添加else语句
当while后面的代码没有被break打断时,并且正常的结束循环后就会执行else语句
若过程被break打断则不会继续else语句
for循环
for循环在循环取值时比while循环方便许多
利用for 变量名 in 可迭代对象 可以是列表/字典/字符串
这个循环会把变量值一个个赋值给变量名。
例子:
b = "dsadasd"
for a in b:
print(a)
# d s a d a s d
若时字典则赋予的值则是key值
若时字典则赋予的值则是key值