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'

猜你喜欢

转载自www.cnblogs.com/west-yang/p/12584143.html