全网营销公司,关键词优化策略,推进文明网站建设,可直接进入网站的代码Python中的函数
一、Python中函数的作用与使用步骤
1、为什么需要函数
在Python实际开发中#xff0c;我们使用函数的目的只有一个“让我们的代码可以被重复使用”
函数的作用有两个#xff1a;
① 代码重用#xff08;代码重复使用#xff09;
② 模块化编程#x…Python中的函数
一、Python中函数的作用与使用步骤
1、为什么需要函数
在Python实际开发中我们使用函数的目的只有一个“让我们的代码可以被重复使用”
函数的作用有两个
① 代码重用代码重复使用
② 模块化编程模块化编程的核心就是函数一般是把一个系统分解为若干个功能每个功能就是一个函数 在编程领域编程可以分为两大类① 模块化编程 ② 面向对象编程 2、什么是函数
所谓的函数就是一个被命名的、独立的、完成特定功能的代码段一段连续的代码并可能给调用它的程序一个返回值。 被命名的在Python中函数大多数是有名函数普通函数。当然Python中也存在没有名字的函数叫做匿名函数。
独立的、完成特定功能的代码段在实际项目开发中定义函数前一定要先思考一下这个函数是为了完成某个操作或某个功能而定义的。函数的功能一定要专一
返回值很多函数在执行完毕后会通过return关键字返回一个结果给调用它的位置。
3、函数的定义
基本语法
def 函数名称([参数1, 参数2, ...]):函数体...[return 返回值]
4、函数的调用
在Python中函数和变量一样都是先定义后使用。
# 定义函数
def 函数名称([参数1, 参数2, ...]):函数体...[return 返回值]
# 调用函数
函数名称(参数1, 参数2, ...)
5、通过一个栗子引入函数
① 使用Python代码编写一个打招呼程序
第一步见到一个老师打一声招呼
print(您好)
第二步见到一个老师打一声招呼
print(您好)
第二步见到一个老师打一声招呼
print(您好)
虽然以上程序可以满足程序的需求但是我们发现我们的代码做了很多重复性的工作。我们能不能对以上代码进行进一步的优化避免代码的重复性编写。
② 升级使用Python代码编写一个打招呼程序函数——一次编写多次利用
# 定义函数封装函数
def greet():print(您好)
# 调用函数
# 见到一个老师打一声招呼
greet()
# 见到一个老师打一声招呼
greet()
# 见到一个老师打一声招呼
greet()
③ 升级使用Python代码编写一个打招呼程序可以实现向不同的人打不同的招呼
# 定义一个函数同时为其定义一个参数
def greet(name):print(f{name}您好)
# 调用函数
# 见到了张老师打一声招呼
greet(老张)
# 见到了李老师打一声招呼
greet(老李)
# 见到了王老师打一声招呼
greet(老王)
④ 函数的设计原则“高内聚、低耦合”函数执行完毕后应该主动把数返回给调用处而不应该都交由print()等函数直接输出。
# 定义一个函数拥有name参数同时函数执行完毕后拥有一个return返回值
def greet(name):# 执行一系列相关操作return name 您好
# 调用函数
# 见到了张老师打一声招呼
print(greet(老张))
# 见到了李老师打一声招呼
print(greet(老李))
# 见到了王老师打一声招呼
print(greet(老王))
6、聊聊return返回值
思考1如果一个函数如些两个return (如下所示)程序如何执行
def return_num():return 1return 2
result return_num()
print(result) # 1
答只执行了第一个return原因是因为return可以退出当前函数导致return下方的代码不执行。 思考2如果一个函数要有多个返回值该如何书写代码
答在Python中理论上一个函数只能返回一个结果。但是如果我们向让一个函数可以同时返回多个结果我们可以使用return 元组的形式。
def return_num():return 1, 2
result return_num()
print(result)
print(type(result)) # class tuple 思考3封装一个函数参数有两个num1num2求两个数的四则运算结果
四则运算加、减、乘、除
def size(num1, num2):jia num1 num2jian num1 - num2cheng num1 * num2chu num1 / num2return jia, jian, cheng, chu
# 调用size方法
print(size(20, 5))
二、Python函数中的说明文档
1、什么是说明文档
思考定义一个函数后程序员如何书写程序能够快速提示这个函数的作用
答注释 思考如果代码多我们是不是需要在很多代码中找到这个函数定义的位置才能看到注释如果想更方便的查看函数的作用怎么办
答函数的说明文档函数的说明文档也叫函数的文档说明
2、定义函数的说明文档
① 定义函数的说明文档
# 1、定义一个menu菜单函数
def menu():pass
# 2、定义通讯录增加操作方法
def add_student(): 函数的说明文档add_student方法不需要传递任何参数其功能就是实现对通讯录的增加操作 pass
# 3、定义通讯录删除操作方法
def del_student():pass
# 4、定义通讯录修改操作方法
def modify_student():pass
# 5、定义通讯录查询操作方法
def find_student():pass
② 调用函数的说明文档
help(函数名称)
案例调用add_student()方法
help(add_student)3、封装一个函数用于生成指定长度的验证码
# 定义一个generate_code()函数
def generate_code(num): generate_code方法主要用于生成指定长度的验证码有一个num参数需要传递一个int类型的数值其return返回结果为num长度的随机验证码 import random# 第一步定义一个字符串str1 23456789abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ# 第二步循环num次代表生成num长度的字符串code for i in range(num):# 第三步从字符串中随机抽取num个字符index random.randint(0, len(str1) - 1)code str1[index]# 第四步使用return返回验证码return code
# 求帮助查看generate_code函数的作用以及需要传递的参数
# help(generate_code)
# 调用函数
print(generate_code(6))
三、函数的嵌套
1、什么是函数的嵌套
所谓函数嵌套调用指的是一个函数里面又调用了另外一个函数。
2、函数嵌套的基本语法
嵌套函数的执行流程
第一步Python代码遵循一个“顺序原则”从上往下从左往右一行一行执行
当代码执行到第1行时则在计算机内存中定义一个funcB函数。但是其内部的代码并没有真正的执行跳过第2行继续向下运行。
第二步执行到第5行发现又声明了一个funcA的函数根据函数的定义原则定义就是在内存中声明有这样一个函数但是没有真正的调用和执行。
第三步代码继续向下执行到第14行发现funcA()函数体()就代表调用funcA函数并执行其内部的代码。程序返回到第6行然后一步一步向下执行输出40个横杠然后打印这是funcA函数的函数体部分...然后继续向下执行遇到funcB函数后边有一个圆括号代表执行funcB函数原程序处于等待状态。
第四步进入funcB函数执行输出这是funcB函数的函数体部分...当代码完毕后返回funcA函数中funcB()的位置继续向下执行打印40个横杠。
最终程序就执行结束了。
3、PyCharm调试小技巧
Step overF8代码一步一步向下执行但是遇到了函数以后不进入函数体内部直接返回函数的最终的执行结果。
Step intoF7代码一步一步向下执行但是遇到了函数以后进入到函数体内部一步一步向下执行直到函数体的代码全部执行完毕。
4、通过一个案例描述函数嵌套
百度百科搜索Python语言词条
嵌套函数funcB和funcC
在funcA函数执行过程中如果遇到了funcB则跳入funcB函数继续执行当funcB执行完毕后会自动返回funcA函数继续向下运行依次类推直到funcA函数执行完毕。