Python---函数练习:编写一个打招呼程序

函数的定义-------相关链接:Python---函数的作用,定义,使用步骤(调用步骤)-CSDN博客
基本语法:


复制代码
def 函数名称([参数1, 参数2, ...]):
    函数体
    ...
    [return 返回值]

函数的调用

Python中,函数和变量一样,都是先定义后使用。


复制代码
# 定义函数
def 函数名称([参数1, 参数2, ...]):
    函数体
    ...
    [return 返回值]

# 调用函数
函数名称(参数1, 参数2, ...)

① 使用Python代码,编写一个打招呼程序


复制代码
第一步:见到一个老师,打一声招呼
print('您好')
第二步:见到一个老师,打一声招呼
print('您好')
第二步:见到一个老师,打一声招呼
print('您好')

虽然以上程序可以满足程序的需求,但是我们发现,我们的代码做了很多重复性的工作。我们能不能对以上代码进行进一步的优化,避免代码的重复性编写。

② 升级:使用Python代码,编写一个打招呼程序(函数------一次编写,多次利用)


复制代码
# 定义函数(封装函数)
def greet():
    print('您好')

# 调用函数
# 见到一个老师,打一声招呼
greet()
# 见到一个老师,打一声招呼
greet()
# 见到一个老师,打一声招呼
greet()

③ 升级:使用Python代码编写一个打招呼程序,可以实现向不同的人打不同的招呼


复制代码
# 定义一个函数,同时为其定义一个参数-------一般在调用时候的括号里,放一个参数
def greet(name):
    print(f'{name},您好')

# 调用函数
# 见到了张老师,打一声招呼
greet('老张')
# 见到了李老师,打一声招呼
greet('老李')
# 见到了王老师,打一声招呼
greet('老王')

④ 函数的设计原则"高内聚、低耦合",函数执行完毕后,应该主动把数返回(return)给调用处,而不应该都交由print()等函数直接输出。


复制代码
# 定义一个函数,拥有name参数,同时函数执行完毕后,拥有一个return返回值
def greet(name):
    # 执行一系列相关操作
    return name + ',您好'     # 函数执行完毕后,拥有一个return返回值  

# 调用函数
# 见到了张老师,打一声招呼
print(greet('老张'))  # 老张,您好
# 见到了李老师,打一声招呼-----\033[0;31;40m\t   \033[0m   终端颜色调整
print("\033[0;31;40m\t" + greet('老李') + "\033[0m")
# 见到了王老师,打一声招呼-----\033[0;31;40m\t \033[0m 终端颜色调整
print("\033[0;36;40m\t" + greet('老王') + "\033[0m")

其他:python终端打印带颜色的print


复制代码
实现过程:

终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。
转义序列是以ESC开头, 即用\033
来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033)。

书写格式:
开头部分:\033[显示方式;
前景色;
背景色m + 结尾部分:\033[0
m
解释:
开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个;
由于表示三个参数不同含义的数值都是唯一的没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都能识别;
建议按照默认的格式规范书写。
对于结尾部分,其实也可以省略,但是为了书写规范,建议\033[ ** * 开头,\033[0
m结尾。

数值表示的参数含义:
显示方式: 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(白色)实现过程:

      终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。
      转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033)。
 
书写格式:
     开头部分:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m
     解释:
开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个;
由于表示三个参数不同含义的数值都是唯一的没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都能识别;
建议按照默认的格式规范书写。
对于结尾部分,其实也可以省略,但是为了书写规范,建议\033[***开头,\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(白色)

相关推荐
Pyeako20 小时前
深度学习--PyTorch框架&优化器&激活函数
人工智能·pytorch·python·深度学习·优化器·激活函数·梯度爆炸与消失
mjhcsp20 小时前
P3145 [USACO16OPEN] Splitting the Field G(题解)
开发语言·c++·算法
rit843249920 小时前
UVE算法提取光谱特征波长的MATLAB实现与应用
开发语言·算法·matlab
Knight_AL20 小时前
一文讲透 Java 中transient的用处(结合 Flink 理解)
java·python·flink
阿蒙Amon20 小时前
C#每日面试题-简述反射
开发语言·面试·c#
独行soc20 小时前
2026年渗透测试面试题总结-5(题目+回答)
android·网络·python·安全·web安全·渗透测试
玩大数据的龙威20 小时前
农经权二轮延包—一键出承包地块调查表
数据库·python
越甲八千20 小时前
python socket
开发语言·python
缺点内向20 小时前
告别“复制粘贴”:用C#和模板高效生成Word文档
开发语言·c#·word
edisao20 小时前
【开源】轻量级 LLM 文本质检工具:精准识别核心概念缺失,支持动态别名 + 反馈闭环
大数据·开发语言·人工智能·经验分享·gpt·架构·开源