3. Python函数入门

本文详细介绍了Python中的函数定义、参数使用、局部与全局变量的区别,以及函数调用的多种方式,包括位置参数、关键字参数、默认参数、不定长参数的运用。此外,还讲解了匿名函数lambda的使用方法。通过实例解析,帮助读者深入理解Python函数的运用。
摘要由CSDN通过智能技术生成

1. 函数的定义

在Python中,使用关键字def来定义函数,格式如下:
def关键字后面跟着函数名称和参数,用:结束;
换行缩进4个字符后,开始函数体,函数体的第一行通常是一个三引号包含的文字字符串作为函数的文档说明

例子:

#函数的定义
def hello(name):
    """打招呼
    :param name: 姓名
    :return:
    """
    print("Hello,{user}".format(user=name))
#打印函数名,可知函数已被加载到内存中
print(hello)
#函数的调用
hello("lin")

运行结果是:
在这里插入图片描述

2. 局部变量和全局变量

函数体中的变量,属于局部变量,离开函数体后就被销毁;
函数外的变量,属于全局变量,如果想在函数体中使用全局变量,需要使用关键字global进行声明

例子:

#定义全局变量
money=100
percent=0.8
#定义函数
def get_money():
    #使用全局变量
    global money
    money=money-1
    #定义局部变量,变量名和全局变量名一致,但不是同一个变量
    percent=0.5
#调用函数
get_money()
print(money)
print(percent)

运行结果是:
在这里插入图片描述

3. 函数的参数

(1)位置参数

调用函数时,传递的参数都是根据位置来跟函数定义里的参数表匹配的

(2)关键字参数

调用函数时,明确指定参数值赋给哪个形参;
可以混合使用位置参数和关键字参数,前提是要先给出位置参数

(3)参数默认值

为参数提供默认值,调用函数时可传可不传该默认参数的值;
所有位置参数必须出现在默认参数前,包括函数定义和调用

#定义函数
#默认参数必须在非默认参数之后
def hello(age,name='lin'):
    print("Hello,{user}.I am {age} years old".format(user=name,age=age))
#位置参数
hello(18)#第2个参数有默认值,允许不传值
hello(20,'huang')
hello('huang',20)
#关键字参数
hello(age=22)#第2个参数有默认值,允许不传值
hello(age=24,name='zheng')
#混合使用位置参数和关键字参数
hello(30,name='yuan')

运行结果是:
在这里插入图片描述

(4)不定长参数

包裹位置参数-元组(*args)

传进的所有位置参数都会被args变量收集,它会根据传进参数的位置合并为一个元组,args是元组类型

#不定长参数
#包裹位置参数
def hello(*args):
    print(args)
#不定长位置参数传参
hello('lin','huang','zheng')

#元组解包裹传参
data=('lala','haha','huhu')
hello(*data)

运行结果是:
在这里插入图片描述

包裹关键字参数-字典(**kwargs)

传进的所有关键字参数被变量kwargs收集,kwargs是一个字典

#不定长参数
#包裹关键字参数
def hello(**kwargs):
    print(kwargs)
#不定长关键字参数传参
hello(name='lin',age=18,sex='M')

#字典解包裹传参
data={'name':'huang','age':30,'sex':'F'}
hello(**data)

运行结果是:
在这里插入图片描述

4. 匿名函数

匿名函数:不定义函数直接使用
在Python中,使用lambda表达式生成匿名函数
格式:函数名=lambda 参数列表:返回值

f=lambda x,y:x+y
print(f(1,3))

运行结果是:
4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值