python基础 day9 函数式编程1
一、函数的结构
def 函数名(参数列表):
函数体
return 返回值
- 在python中定义函数时,关键字是def, 函数名需要符合标识符命名规范。
- 多个参数列表之间可以用逗号分隔,函数也可以没有参数。
- 如果函数有返回值,就需要在函数体最后使用return语句将数据返回;
- 如果没有返回数据,则可以使用return None 或者省略renturn 语句。
示例:加法计算器函数
def calculator(first_num, second_num):
test = first_num + second_num
return test
print(calculator(2, 3))
- 如果return 返回多个元素,则以元组的形式返回
def calculator(first_num, second_num):
calculator_sum = first_num + second_num
calculator_proc = first_num * second_num
return calculator_sum, calculator_proc
print(calculator(2, 3))
#结果为:(5, 6)
二、函数的参数
- 实参和形参
实参的角度:
1.位置参数 :
- 从左至右,一一对应
def info(name, age, sex, hobby): # 接受的参数,形式参数
your_info = """
姓名:{}
年龄:{}
性别:{}
爱好:{}
""".format(name, age, sex, hobby)
return your_info
print(info('jason', '24', '男', 'sleep')) # 函数执行的参数:实际参数
练习:写一个函数,只接受两个int的参数,函数功能是将较大的数返回
*补充知识点:三元运算符
适用于简单的if else 语句
a = 10
b = 10
c = a if a > b else b
print(c)
def compare(a, b):
c = a if a > b else b
return c
print(compare(2, 5))
2.关键字参数
- 顺序可以打乱,但还是要一一对应
def info(name, age, sex, hobby):
your_info = """
姓名:{}
年龄:{}
性别:{}
爱好:{}
""".format(name, age, sex, hobby)
return your_info
baby_info = (info(age=24, hobby='sleep', name='jason', sex='男'))
print(baby_info)
3.混合参数
- 位置参数一定要在关键字参数前面
def info(name, age, sex, hobby):
your_info = """
姓名:{}
年龄:{}
性别:{}
爱好:{}
""".format(name, age, sex, hobby)
return your_info
baby_info = (info('jason', hobby='sleep', age=24, sex='男'))
print(baby_info)
形参的角度:
1.位置参数
与实参角度的位置参数一样,一一对应
2.默认参数
def info(age, sex, hobby, name='jason'): # 将name='jason'设置成默认参数
your_info = """
姓名:{}
年龄:{}
性别:{}
爱好:{}
""".format(name, age, sex, hobby)
return your_info
print(info('24', '男', 'sleep')) # 此时实际参数中就不需要传入name的值
默认参数也是可以修改的
def info(age, sex, hobby, name='jason'): # 将name='jason'设置成默认参数
your_info = """
姓名:{}
年龄:{}
性别:{}
爱好:{}
""".format(name, age, sex, hobby)
return your_info
print(info('24', '男', 'sleep', name='carly')) # 将name 的值改为'carly'
三、练习
写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作。
import os
def func_file(name, before, after):
with open(name, 'r', encoding='utf-8') as f,\
open('temp.txt', 'a', encoding='utf-8')as f1:
for line in f.readlines():
new_line = line.replace(before, after)
f1.write(new_line)
os.remove(name)
os.renames('temp.txt', name)
func_file('student_msg.txt', '女', '母夜叉')
分类:
python基础
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 2025成都.NET开发者Connect圆满结束