今天,我们开始学习新的知识--函数,学了函数后,相信大家会更喜欢python语言。
在Python实际开发中,我们使用函数的目的只有一个“让我们的代码可以被重复使用”
函数的作用有两个:
① 模块化编程
② 代码重用
在编程领域,编程可以分为两大类:
① 模块化编程
② 面向对象编程
所谓的函数就是一个被命名的、独立的、完成特定功能的代码段(一段连续的代码),并可能给调用它的程序一个返回值。
被命名的:在Python中,函数大多数是有名函数。当然Python中也存在没有名字的函数叫做匿名函数。
独立的、完成特定功能的代码段:在实际项目开发中,定义函数前一定要先思考一下,这个函数是为了完成某个操作或某个功能而定义的(函数的功能一定要专一)。
返回值:很多函数在执行完毕后,会通过return关键字返回一个结果给调用它的位置。
基本语法:
def 函数名称(参数1, 参数2, ...): 函数体 ... [return 返回值]
在Python中,函数和变量一样,都是先定义后使用。
# 定义函数def 函数名称(参数1, 参数2, ...): 函数体 ... [return 返回值]# 调用函数函数名称(参数1, 参数2, ...)
# 第一步:见到一个老师,打一声招呼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("\033[0;31;40m\t" + greet('老李') + "\033[0m")# 见到了王老师,打一声招呼print("\033[0;36;40m\t" + greet('老王') + "\033[0m")
书写格式:
\033[显示方式;前景色;背景色m + 结尾部分:\033[0m
显示方式:0(默认\)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、5(闪烁)、25(非闪烁)、7(反显)、27(非反显)
前景色:30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋 红)、36(青色)、37(白色)
背景色:40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋 红)、46(青色)、47(白色)
今日学习完毕,课后作业:
已知调用函数部分代码为:
message = say_hello('小明')
print(message)
print(say_hello('小红'))
输入结果为:
小明,你好!
小红,你好!
请写出它的函数,并完善这个代码。