python函数

函数的作用

--函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段

--函数能提高应用的模块性和代码的重复利用率

--python内置函数:内置函数 — Python 3.8.14 文档

函数定义

def:函数定义关键词

function_name:函数名称

():参数列表放置的位置,可以为空

parameter_list:可选,指定向函数中传递的参数

comments:可选,为函数指定注释

function_boby:可选,指定函数体

# 函数定义
# def:函数定义关键词
# function_name:函数名称
# ():参数列表放置的位置,可以为空
# parameter_list:可选,指定向函数中传递的参数
# comments:可选,为函数指定注释
# function_boby:可选,指定函数体
# def function_name([parameter_list]):
#     ['''comments''']
#     [function_boby]
# 定义函数
def func_demo():
    # 函数体
    print('这是一个函数')


# 定义传参数的函数
def fuc_demo(a, b, c):
    '''这是一个携带参数的函数'''
    print(f"传入的参数为a={a},b={b},c={c}")

定义函数的注意事项

缩进:python是通过严格的缩进来判断代码快儿

--函数体和注释相对已def关键字必须保持一定的缩进,一般都是4个空格

--pycharm自动格式化快捷键:ctrl+alt+L

定义空函数

--使用pass语句占位

--写函数注释comments

函数调用

function_name:函数名称

parameter_value:可选,指定各个参数的值

# 定义函数
def func_demo():
    # 函数体
    print('这是一个函数')


# 函数调用
# function_name:函数名称
# parameter_value:可选,指定各个参数的值
func_demo()

参数传递

形式参数:定义函数时,函数名称后面括号中的参数

实际参数:调用函数时,函数名称后面括号中的参数

# 参数传递
# 形式参数:定义函数时,函数名称后面括号中的参数
# 实际参数:调用函数时,函数名称后面括号中的参数
# a,b,c为形式参数
def demo_test(a, b, c):
    return


# 1,2,3为实际参数
demo_test(1, 2, 3)

位置参数

数量必须与定义时一致

位置必须与定义时一致

# 位置参数
# 数量必须与定义时一致
# 位置必须与定义时一致
def demo_test(a, b, c):
    return


# 1传给a ,2传给b ,3传给c
demo_test(1, 2, 3)

关键字传参数

使用形式参数的名字确认输入的参数值

不需要与形式参数的位置完全一致

# 关键字传参数
# 使用形式参数的名字确认输入的参数值
# 不需要与形式参数的位置完全一致
def demo_test(name, age):
    if age >= 18:
        print(f"{name} 已经成年")
    else:
        print(f"{name}没有成年")


demo_test(age=18,name="han")

默认参数

加在形式参数的最后面,且给与默认值,且为不可变对象

# 关键字传参数
# 使用形式参数的名字确认输入的参数值
# 不需要与形式参数的位置完全一致
def demo_test(name, age, melo="man"):
    if age >= 18:
        print(f"{melo} {name} 已经成年")
    else:
        print(f"{melo} {name}没有成年")


demo_test(age=18, name="han")

函数返回值

# 函数返回值
def sum(a, b):
    result = a + b
    return result


sum1 = sum(2, 5)
print(sum1)

*args

# *args 接收任意多个实际参数,并将其放到一个元组中
# 其中"*"星号,在定义函数时,压缩任意数量元素的左右;有在调用函数时,有解包的作用。
# 定义函数
def send_language(*args):
    print(args)


# 调用函数
send_language("go", "python")
send_language("go", "python", "java")
a = ["go", "python", "java", "php"]
send_language(*a)

 **kwargs

# **kwargs
# 接收任意多个类似关键字参数一样显式赋值的实际参数,并将其放到一个字典中
# 使用已经存在字典作为函数的可变参数,可以在字典的名称前加**
# 定义函数
def print_info(**kwargs):
    print(kwargs)


# 调用函数
print_info(tom=18, lili=19)
print_info(tom=18, lili=19, tim=17)
b = {"tom": 18, "lili": 19, "tim": 17}
print_info(**b)

匿名函数

--没有名字的函数

--用lambda表达式创建匿名函数

使用场景

--需要一个函数,但是又不想费神其余命名这个函数

--通常在这个函数只是用一次的场景

--可以指定短小的回调函数

# lambda 表达式
# result 调用表达式
# a 为 传递的参数

result = lambda a: a + 2
# 变量a
a = 3
print(f"参数{a}执行lambda表达式后输出结果为{result(a)}")

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值