三元运算(三目运算):
普通版:
v = 前面 if 条件 else 后面 if 条件: v = '前面' else: v = '后面' |
三元运算版:
# 让用户输入值,如果值是整数,则转换成整数,否则赋值为None data = input('>>>') value = int(data) if data.isdecimal() else None |
注意:可以先写普通版的,然后再思考优化转化成三元版
2.函数:
2.1 面向过程:
可读性差/可重用性差
函数:对代码块和功能的封装和定义
2.2 对于函数编程:
1.本质:
将N行代码拿到别处并给他起个名字,以后通过名字就可以找到这段代码并执行;
2.场景:
- 代码重复执行
- 代码量特别多超过一屏,可以选择通过函数进行代码的分割
3.函数的基本结构:
1.函数的基本结构:
函数的定义, 函数名, 函数体以及函数的调用
2.函数体:
就是函数被执⾏行行之后要执⾏行行的代码
3.函数的调用:
使⽤用函数名可以调⽤用函数, 写法: 函数名(), 这个时候函数的函数体会被执⾏
# 函数的定义 def 函数名(): #函数内容 pass
#函数的执行 函数名() #注意:函数如果不被调用,则内部代码永远不会被执行 |
案例:
def get_list_first_data(): v = [11,22,33,44] print(v[0])
get_list_first_data()
# 注意:函数如果不被调用,则内部代码永远不会被执行。 |
案例:
def send_email(to): template = "要给%s发送邮件" % (to,) print(template) user_input = input('请输入角色:') if user_input == '管理员': send_email('xxxx@qq.com') elif user_input == '业务员': send_email('xxxxo@qq.com') elif user_input == '老板': send_email('xoxox@qq.com') |
案例:
def num(l): count = 0 for i in l: if type(i) == int: count += 1 return count li = ['salkdj',6,66,677,'skajhd','ksjad'] a = num(li) print('列表中有%d个数字'%(a,)) |
3.参数:
1. 函数的参数:
函数在调用的时候指定具体的一个变量的值. 就是参数
def get_list_first_data(aaa): # aaa叫形式参数(形参) v = [11,22,33,44] print(v[aaa])
get_list_first_data(1) #调用函数时传递叫:实际参数(实参) get_list_first_data(2) get_list_first_data(3) get_list_first_data(0) |
关于参数:
2.1形参:
写在函数声明的位置的变量量叫形参,形式上的一个完整表⽰示这个函数需要xxx
2.2实参:
在函数调⽤用的时候给函数传递的值叫实参, 实际执⾏行行的时候给函数传递的信息. 表⽰示给函数 xxx
2.3传参:
给函数传递信息的时候将实际参数交给形式参数的过程被称为传参.
def yue(chat): # chat 形参 print("拿出⼿手机") print("打开"+chat) print("找个漂亮的妹⼦子") print("约不不约")
yue("陌陌") # 实参 len("字符串串") # "字符串串"在这⾥里里就是实参 print("麻花藤") # "麻花藤"就是实参 |
实参的⾓角度来看
参数分为三种
- 位置参数
- 混合参数, 位置参数必须在关键字参数前面
- 关键字参数
形参的角度
- 位置参数
- 默认值参数(大多数传进来的参数都是一样的, 一般用默认参数)
4.函数返回值
def func(arg): # .... return 9 # 返回值为9 默认:return None
val = func('adsfadsf') |
执⾏行行完函数之后. 我们可以使用return来返回结果.
1.函数中遇到return, 此函数结束, 不再继续执⾏
girl = yue() print(type(girl)) # tuple
def yue(): print("约你") print("约我") print("约他") return print("约谁呀") # 这句句话不会被执行 yue() |
2.给函数的调⽤用者一个访问结果
遇到return. 此函数结束, 函数后⾯的东西将不会再执⾏return 返回值
def yue(): print("约你") print("约我") print("约他") return "美⼥女女⼀一枚"
girl = yue() print(girl) # 美⼥女女⼀一枚
函数的返回值可以有多个结果
def yue(): print("约你") print("约我") print("约他") return "美⼥女女⼀一枚", "萝莉⼀一枚"
girl = yue() print(type(girl)) # tuple |
如果return什么都不写 或者 干脆不写return .那么返回的就是None
如果return后面写了⼀个值. 则调用者可以接收一个结果
如果return后面写了多个结果, 则调用者可以接收一个tuple, 调⽤用者可以直接解构成多个变量