08-语句、表达式与if分支
1 变量可通过元组,列表赋值
(x, y) = (5, 10)
print(x, y)
>>>5 10
x, y = 5, 10
print(x, y)
>>>5 10
[x, y, z] = [1, 2, 3]
print(x, y ,z)
>>>1 2 3
[a,b,c]=(1,2,3)
print(a,b,c)
>>>1 2 3
注意:
a, b, c = 'abc'
print(a,b,c)
>>>a b c
a,b,c相当于一个没有加括号的元组
2 采用序列赋值时,若等号两边数量不等,则会报错,解决方法:
s = 'abcdef'
a, b, c = s[0], s[1], s[2:]
print(a,b,c)
>>>a b cdef
另一种解决方法:
s = 'abcdef'
a, b, *c = s
print(a,b,c)
>>>a b ['c', 'd', 'e', 'f']
s = 'abcdef'
a, *b, c = s
print(a,b,c)
>>>a ['b', 'c', 'd', 'e'] f
s = 'abcdef'
a, b, c ,d, e, f, *g= s
print(a, b, c, d, e, f, g)
>>>a b c d e f []
3 一个对象被多个变量引用的问题:
a = b = []
a.append(3)
print('a = {}, b = {}'.format(a, b))
>>>a = [3], b = [3]
a等于b等于一个空列表,往a里面添加一个3,b也会跟着改变。有时不希望这样,怎么做呢?
a, b = [], []
a.append(3)
print('a = {}, b = {}'.format(a, b))
>>>a = [3], b = []
4 打印操作
s1 = 'aaa'
s2 = 'bbb'
s3 = 'ccc'
print(s1, s2, s3, sep = '|')
>>>aaa|bbb|ccc
s1 = 'aaa'
s2 = 'bbb'
s3 = 'ccc'
print(s1, s2, s3, end = '...\n')
>>>aaa bbb ccc...
如何将要打印输出的内容存储到一个新建立的文件中:
s1 = 'aaa'
s2 = 'bbb'
s3 = 'ccc'
# 如果有中文字符的话,要加上encoding = 'utf8',否则会出现乱码。
print(s1, s2, s3, end = '...\n', file = open('result.txt', 'w', encoding = 'utf8'))
5 三元运算
三元运算又称三目运算,是对简单的条件语句的简写,如:
简单条件语句
if 条件成立:
val = 1
else:
val = 2
改成三元运算:
val = 1 if 条件成立 else 2
举例:
a = 1
b = 2
result = a if a > b else b
print(result)
>>>2
09-循环语句
1 当字符串被当作while循环的判断条件时,只要字符串不为空,就视为True。
a = 'asdfghjkl'
while a:
print(a, end = ' ')
a = a[1:]
>>>asdfghjkl sdfghjkl dfghjkl fghjkl ghjkl hjkl jkl kl l
2 break语句
break语句,就像在C语言中,打破了最小封闭for或while循环。
break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
break语句用在while和for循环中。
如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。
实例:
for letter in 'python':
if letter == 'h':
break
print('当前字母:{}'.format(letter))
>>>当前字母:p
>>>当前字母:y
>>>当前字母:t
break语句会跳出整个循环,包括else语句。
3 continue语句
continue 语句跳出本次循环,而break跳出整个循环。
continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
continue语句用在while和for循环中。
实例:
for letter in 'python':
if letter == 'h':
continue
print('当前字母:{}'.format(letter))
>>>当前字母:p
>>>当前字母:y
>>>当前字母:t
>>>当前字母:o
>>>当前字母:n
4 注释代码:全选然后ctrl+/
5 for循环
如果直接用for循环遍历字典,遍历出的是键:
emp = {
'name':'jerry',
'job':'dev',
'salary':9000.00
}
for key in emp:
print(key)
>>>name
>>>job
>>>salary
如何找出键对应的值呢:
emp = {
'name':'jerry',
'job':'dev',
'salary':9000.00
}
for key in emp:
print('{}-->{}'.format(key, emp.get(key, '未找到')))
>>>name-->jerry
>>>job-->dev
>>>salary-->9000.0
6 找一下两个字符串是否有交集:
s1 = 'youpinketang.com'
s2 = 'codeclassroom.com'
a = []
for i in s1:
if i in s2:
a.append(i)
print(a)
>>>['o', 'e', 'a', '.', 'c', 'o', 'm']
也可以:
s1 = 'youpinketang.com'
s2 = 'codeclassroom.com'
a = [i for i in s1 if i in s2]
print(a)
>>>['o', 'e', 'a', '.', 'c', 'o', 'm']