Python04.1.函数初识
Posted cable-run
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python04.1.函数初识相关的知识,希望对你有一定的参考价值。
三元运算(三目运算):
普通版:
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, 调?用者可以直接解构成多个变量
以上是关于Python04.1.函数初识的主要内容,如果未能解决你的问题,请参考以下文章