python基础 day9 函数式编程1
admin
2024-04-30 07:43:50
0

一、函数的结构
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', '女', '母夜叉')

相关内容

热门资讯

谈妥了!国资网开一面,湖北首富... 在资本市场的浮沉录中,很少有故事能像湖北知名企业家艾路明这样跌宕起伏。从风光无限的湖北首富,到如今为...
长安汽车朱华荣首谈为什么卸任阿... 21世纪经济报道记者 易思琳 报道9月20日,阿维塔07上市。发布会后,阿维塔举行了一次小范围的媒体...
5万亿市场高歌猛进!这些隐忧,... ETF高速发展背后暗藏的“隐秘角落”与潜在风险不可轻视。ETF发展势头迅猛,规模呈爆发式增长,继20...
浙江大学教授、50岁A股公司董... 记者丨黎雨桐编辑丨吴桂兴9月21日晚间,臻镭科技发布《关于公司重大事项的公告》称,公司实控人、董事长...
荀玉根:如何理解股强经弱? 荀... 荀玉根、王开(荀玉根系国信证券首席经济学家、经济研究所所长,中国首席经济学家论坛理事)核心结论:①近...
伯克希尔哈撒韦已清仓比亚迪股份 每经AI快讯,据 CNBC 9月21日报道,伯克希尔哈撒韦已清仓比亚迪股份。报道称,截至3月31日,...
赵伟:财政“下半场”,可能的“... 赵伟、贾东旭、侯倩楠(赵伟系申万宏源证券首席经济学家、中国首席经济学家论坛理事)摘要2025 年上半...
殷剑峰:在低利率时代寻找投资机... 殷剑峰系浙商银行首席经济学家、中国首席经济学家论坛理事注:本文为陆家嘴金融沙龙演讲速记稿。一、低利率...
储能订单爆满谁在眼红?老牌锂电... 储能行业需求旺盛、储能电芯生产商纷纷爆出满产之际,消费类电池仍贡献过半收入的欣旺达电子股份有限公司(...
基金到期清算减持 华创鑫睿仍是... 21世纪经济报道特约记者 文静 重庆报道9月21日,山西汾酒(600809.SH)发布公告称,其大股...