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(白色)

相关推荐
孟健14 小时前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞16 小时前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽19 小时前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers
敏编程1 天前
一天一个Python库:jsonschema - JSON 数据验证利器
python
前端付豪1 天前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
databook1 天前
ManimCE v0.20.1 发布:LaTeX 渲染修复与动画稳定性提升
python·动效
花酒锄作田2 天前
使用 pkgutil 实现动态插件系统
python
前端付豪2 天前
LangChain链 写一篇完美推文?用SequencialChain链接不同的组件
人工智能·python·langchain
曲幽2 天前
FastAPI实战:打造本地文生图接口,ollama+diffusers让AI绘画更听话
python·fastapi·web·cors·diffusers·lcm·ollama·dreamshaper8·txt2img
老赵全栈实战2 天前
Pydantic配置管理最佳实践(一)
python