我是靠谱客的博主 优美玫瑰,这篇文章主要介绍第四天:语句、表达式与if分支、循环语句表达式流程控制,现在分享给大家,希望可以做个参考。

表达式

代码风格

  • 代码格式指南
    • PEP8
    • 缩进4空格
    • 一行不超过79
    • 空行

      赋值语句

      基本

    复制代码
    1
    2
    3
    4
    5
    6
    (x,y) = (5,10) x [x,y,z] = [1,2,3] x a,b,c = 'uhk' a
    复制代码
    1
    2
    3
    5 1 'u'

    序列赋值

    • 形如“a,b,c = 'youpin'”这样的赋值语句是会报错的
      可以使用一下方法解决:
    复制代码
    1
    2
    3
    4
    s = 'youpin' a,b,c = s[0],s[1],s[2:] a c
    复制代码
    1
    2
    'y' 'upin'

    拓展序列解包赋值

    • *变量,获取剩余元素到list
    复制代码
    1
    2
    3
    a,b,*c = s a, c
    复制代码
    1
    2
    ('y',) ['u', 'p', 'i', 'n']
    复制代码
    1
    2
    3
    4
    a,*b,c = s a b type(b)
    复制代码
    1
    2
    3
    'y' ['o', 'u', 'p', 'i'] list
    复制代码
    1
    2
    3
    a,b,c,*d = 'ukj' #缺的给d a d
    复制代码
    1
    2
    'u' []

    多目标赋值

    • a = b = 0
      一个例子理解内部存储256限制的问题
    复制代码
    1
    2
    3
    4
    a = 'ukj' b = 'ukj' a == b a is b
    复制代码
    1
    2
    True True
    复制代码
    1
    2
    3
    4
    a = 'ukj.cc' b = 'ukj.cc' a == b a is b #因为字符长度问题,长的字符存储超过256位
    复制代码
    1
    2
    True False

    下面理解下变量与对象指向的问题

    复制代码
    1
    2
    3
    4
    5
    6
    7
    a = 'lok' b =a c = b a = b = [] a.append(3) a b #b的值也因此含有元素3,这个表明内存指向问题
    复制代码
    1
    2
    [3] [3]

    参数化赋值

    复制代码
    1
    2
    3
    4
    5
    6
    7
    8
    a,b = 1,2 a += b a l = [1,2] l += [9,10] l l.extend([3,5,7]) l
    复制代码
    1
    2
    3
    3 [1, 2, 9, 10] [1, 2, 9, 10, 3, 5, 7]

    表达式

    参数调用

    字面值

    方法调用

    打印操作

  • print()
    • sep='分隔符'
    • end='终止符'
    • file=指定文件
    复制代码
    1
    2
    3
    4
    5
    6
    7
    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') # 把打印的结果塞在文件里
    复制代码
    1
    2
    3
    我 是 who 我|是|who 我 是 who|

    流程控制

    if语句

    一般格式

    复制代码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    score = 55 if score >= 90: print('优秀') elif score >= 80: print('良') elif score >= 60: print('及格') else: print('不及格')
    复制代码
    1
    不及格
    复制代码
    1
    2
    3
    4
    5
    6
    operation= { 'add': '添加操作', 'update': '更新操作', 'delete': '删除操作' } print(operation.get('update'))
    复制代码
    1
    更新操作

    多重分支

    三元运算符

  • a = Y if X else Z
复制代码
1
2
3
4
5
6
7
8
9
10
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
复制代码
1
默认方法,什么都不做

while循环

一般格式

复制代码
1
2
3
4
a, b = 0, 10 while a < b: print(a) a += 1
复制代码
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9

break

复制代码
1
2
3
4
5
6
7
while True: name = input('请输入一个姓名: ') if name == 'stop': break age = input('请输入年龄: ') print('您好:{},您的年龄是:{},欢迎光临'.format(name,age)) print('循环结束')
复制代码
1
2
请输入一个姓名: stop 循环结束
复制代码
1
2
3
4
5
6
7
8
while True: #对比上下两个例子可以发现break是完全跳出整个while循环,而不只是跳出循环分支 name = input('请输入一个姓名: ') if name == 'stop': break age = input('请输入年龄: ') print('您好:{},您的年龄是:{},欢迎光临'.format(name,age)) else: print('循环结束')
复制代码
1
请输入一个姓名: stop

continue

复制代码
1
2
3
4
5
6
x = 10 while x: x -= 1 if x %2 != 0: continue #当x为奇数时,执行continue,跳过print操作,继续执行x的减法 print(x, end = ' ')
复制代码
1
8 6 4 2 0
复制代码
1
2
3
4
5
6
7
8
9
found = False for x in range(1,5): if x == 6: found = True print('已经找到了', x) break if not found: print('没找到')
复制代码
1
没找到
  • 使用字符串
复制代码
1
2
for i in 'sfesf': print(i, end = ' ')
复制代码
1
s f e s f
复制代码
1
2
3
4
5
6
7
8
emp = { 'name':'Tom', 'dapartment':'technology', 'job':'development', 'salary':90008.0 } for key in emp: print('{} => {}'.format(key, emp[key])) #或者format(emp.get(key,'未找到'))
复制代码
1
2
3
4
name => Tom dapartment => technology job => development salary => 90008.0

pass

else

复制代码
1
2
3
for value in emp.values(): print(value) print(type(emp.values()))
复制代码
1
2
3
4
5
Tom technology development 90008.0 <class 'dict_values'>
复制代码
1
2
3
4
s1 = 'youkingthe.com' s2 = 'gangwoqushujiao.com' l = [x for x in s1 if x in s2] print(l)
复制代码
1
['o', 'u', 'i', 'n', 'g', 'h', '.', 'c', 'o', 'm']

for循环

range()

enumerate()

复制代码
1
2
for x in range(1, 101,7): #不包括9 print(x)
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99
复制代码
1
2
3
s = 'you' for (idx,item) in enumerate(s): print('{}) {}'.format(idx+1, item))
复制代码
1
2
3
1) y 2) o 3) u

转载于:https://www.cnblogs.com/linyk/p/11443874.html

最后

以上就是优美玫瑰最近收集整理的关于第四天:语句、表达式与if分支、循环语句表达式流程控制的全部内容,更多相关第四天内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(90)

评论列表共有 0 条评论

立即
投稿
返回
顶部