7/7课上内容整理

141 阅读2分钟

三元表达式

  • 值1 if 条件 else 值2 当if后面的值条件成立则使用if前面的值 当if后面的条件不成立则使用else后面的值

    获取用户输入的用户名 如果是tony就打印欢迎 否则打印走人 username=input('username>>>:').strip() if username==tony:print('欢迎') else:print(‘走人’) 这只是一个雏形 print(‘欢迎’)if username ==‘tony'else print(’走人‘) 在python中代码不是精简的越少越好而是在精简的过程中代码还要保证可读性

各种生成式

* 通过列表生成式可以快速的生成一个新的列表而且代码更加的简洁
name_list = ['jason', 'kevin', 'oscar', 'jerry', 'tony']
# 给上述列表中所有的数据值加上_NB的后缀
new_list=[]  # 定义一个新的列表
for name in name_list:  # 循环列表中的数据
    new_name=name+'_NB'   #在原有的列表数据后加上_NB
    new_list.append(new_name)  # 将添加好的数据放进新的列表中
    print(new_list)#  打印新的列表

new_list=[name+'_NB'for name in name_list]  # 先让for循环然后将数据值交给for循环前面处理
print(new_list)# 


new_list=[name+'_NB'for name in name_list if name!='jason']
print(new_list)#  列表生成式中只能出现for和if


#  字典生成式
new_dict={i:'jason'for i in range(10) if i ==6 }
print(new_dict)  #  最终打印出来的是{6:’jason‘}


# 集合生成式
new_set={i for i in range(10)if i==6}
print(new_set)

### 针对元组是没有生成式的

匿名函数

* 匿名函数就是没有函数名的函数
 结构由  lambda 形参:返回值
(lambda x:x+1)(123)   #x=参数  x+1=返回值  直接调用
res =lambda x:x+1   #  直接命名调用
print(res(123))
这里的匿名函数是需要配合其他的函数一起使用  其目的是为了减少代码

重要匿名集合内置函数使用

  • max(求最大值) 当需要在一个数据中求取最大的数值时直接使用
  • min(求最小值) 当需要在一个数据中求取最小的数据值直接使用
  • map(自增) 当一个数据值需要将每个数据值都增加到某个数时可以使用
  • filten(移除) 在一个数据中需要将某个数据值移除可以使用这个
  • reduce(求和) 需要求取一个数据总和的时候使用
  • zip(合并) 将两个以上的数据对应好位置组成元组 然后新的元组

每个人将多层装饰器及有参装饰器的执行流程用文字具体描述出来

  • 多层装饰器

image.png

  • 有参装饰器

image.png