概述
表达式
代码风格
- 代码格式指南
- PEP8
- 缩进4空格
- 一行不超过79
空行
赋值语句
基本
(x,y) = (5,10) x [x,y,z] = [1,2,3] x a,b,c = 'uhk' a
5 1 'u'
序列赋值
- 形如“a,b,c = 'youpin'”这样的赋值语句是会报错的
可以使用一下方法解决:
s = 'youpin' a,b,c = s[0],s[1],s[2:] a c
'y' 'upin'
拓展序列解包赋值
- *变量,获取剩余元素到list
a,b,*c = s a, c
('y',) ['u', 'p', 'i', 'n']
a,*b,c = s a b type(b)
'y' ['o', 'u', 'p', 'i'] list
a,b,c,*d = 'ukj' #缺的给d a d
'u' []
多目标赋值
- a = b = 0
一个例子理解内部存储256限制的问题
a = 'ukj' b = 'ukj' a == b a is b
True True
a = 'ukj.cc' b = 'ukj.cc' a == b a is b #因为字符长度问题,长的字符存储超过256位
True False
下面理解下变量与对象指向的问题
a = 'lok' b =a c = b a = b = [] a.append(3) a b #b的值也因此含有元素3,这个表明内存指向问题
[3] [3]
参数化赋值
a,b = 1,2 a += b a l = [1,2] l += [9,10] l l.extend([3,5,7]) l
3 [1, 2, 9, 10] [1, 2, 9, 10, 3, 5, 7]
表达式
参数调用
字面值
方法调用
打印操作
- print()
- sep='分隔符'
- end='终止符'
- file=指定文件
s = '我' url = '是' url2 = 'who' print(s,url,url2) print(s,url,url2, sep = '|') #分隔符 print(s,url,url2, end = '|') print(s,url,url2, end = '...n',file = open('result.txt','w'),encoding = 'utf8') # 把打印的结果塞在文件里
我 是 who 我|是|who 我 是 who|
流程控制
if语句
一般格式
score = 55 if score >= 90: print('优秀') elif score >= 80: print('良') elif score >= 60: print('及格') else: print('不及格')
不及格
operation= { 'add': '添加操作', 'update': '更新操作', 'delete': '删除操作' } print(operation.get('update'))
更新操作
多重分支
三元运算符
- a = Y if X else Z
def add(x):
print(x+10)
operation= {
'add': add,
'update': lambda x: print(x*2),
'delete': lambda x: print(x*3)
}
def default_method(x):
print('默认方法,什么都不做')
operation.get('delte',default_method )(10) #这里赋值的10是add函数中的参数x
默认方法,什么都不做
while循环
一般格式
a, b = 0, 10
while a < b:
print(a)
a += 1
0
1
2
3
4
5
6
7
8
9
break
while True:
name = input('请输入一个姓名: ')
if name == 'stop':
break
age = input('请输入年龄: ')
print('您好:{},您的年龄是:{},欢迎光临'.format(name,age))
print('循环结束')
请输入一个姓名: stop
循环结束
while True: #对比上下两个例子可以发现break是完全跳出整个while循环,而不只是跳出循环分支
name = input('请输入一个姓名: ')
if name == 'stop':
break
age = input('请输入年龄: ')
print('您好:{},您的年龄是:{},欢迎光临'.format(name,age))
else:
print('循环结束')
请输入一个姓名: stop
continue
x = 10
while x:
x -= 1
if x %2 != 0:
continue #当x为奇数时,执行continue,跳过print操作,继续执行x的减法
print(x, end = ' ')
8 6 4 2 0
found = False
for x in range(1,5):
if x == 6:
found = True
print('已经找到了', x)
break
if not found:
print('没找到')
没找到
- 使用字符串
for i in 'sfesf':
print(i, end = ' ')
s f e s f
emp = {
'name':'Tom',
'dapartment':'technology',
'job':'development',
'salary':90008.0
}
for key in emp:
print('{} => {}'.format(key, emp[key])) #或者format(emp.get(key,'未找到'))
name => Tom
dapartment => technology
job => development
salary => 90008.0
pass
else
for value in emp.values():
print(value)
print(type(emp.values()))
Tom
technology
development
90008.0
<class 'dict_values'>
s1 = 'youkingthe.com'
s2 = 'gangwoqushujiao.com'
l = [x for x in s1 if x in s2]
print(l)
['o', 'u', 'i', 'n', 'g', 'h', '.', 'c', 'o', 'm']
for循环
range()
enumerate()
for x in range(1, 101,7): #不包括9
print(x)
1
8
15
22
29
36
43
50
57
64
71
78
85
92
99
s = 'you'
for (idx,item) in enumerate(s):
print('{}) {}'.format(idx+1, item))
1) y
2) o
3) u
转载于:https://www.cnblogs.com/linyk/p/11443874.html
最后
以上就是优美玫瑰为你收集整理的第四天:语句、表达式与if分支、循环语句表达式流程控制的全部内容,希望文章能够帮你解决第四天:语句、表达式与if分支、循环语句表达式流程控制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复