python学习12_函数1:函数概念、参数、返回值

本文介绍了函数在编程中的基本概念,包括如何定义和调用函数,参数的分类(形参和实参,位置参数、关键字参数和默认值),以及动态传参和返回值的使用。通过实例详细讲解了这些概念的实际应用。
摘要由CSDN通过智能技术生成

一、函数的概念

函数:对某一个特定的功能或代码块进行封装,在需要使用该功能时直接调用即可

定义函数:
def 函数的名字(): [ 只是定义函数,不能直接运行 ]
()里面是被封装的功能或代码块 -> 函数体

调用:
函数的名字()

好处;
让程序更加简洁,代码更加合理

def buy_cai():  # 只是定义函数
    print("1.开上我的Porsche")
    print("2.讨价还价")
    print("3.开车回家")

buy_cai()
print("猛猛炫饭")
buy_cai()
print("美美睡觉")

返回结果:
在这里插入图片描述

二、参数

1. 参数的概述

参数:可以在函数调用的时候,给函数传递一些信息
分类:

  1. 形参:在函数定义的时候,需要准备一些变量来接受信息
  2. 实参:实际在调用的时候传递的信息

举例:

def maren(ren,lvl):  # 形参
    print("1.怒目而视", ren)
    print("2.严正交涉", ren)
    if lvl > 99:
        print("3.死不要脸", ren)
    else:
        print("4.你瞅啥", ren)
    print("4.骂完收工")

maren("破电脑", 999)  # 在调用函数的时候,才能知道函数作用对象是谁 -> 实参
maren("垃圾鼠标", 9)

返回结果:
在这里插入图片描述

2. 实参的分类

  1. 位置参数:按照位置进行传递参数
  2. 关键字参数:按照参数的名字进行传递参数
  3. 混合参数
    顺序:位置参数放前面,关键字参数放后面 -> 否则报错
    实参在执行的时候,必须要保障形参有数据

3. 形参的分类

  1. 位置参数:按照位置一个一个去声明变量
  2. 默认值参数:在函数声明的时候给变量一个默认值,如果实参不传递信息,此时默认值生效,否则就不生效。
def luru(name, age, gender="男"):
    print(name, age, gender)

luru("张三", 18)   # gender位置不输入,识别为默认值
luru("李四", 25)
luru("刘能", 38)
luru("谢大脚", 49, "女")
luru("虞书欣", 18, "女")
  1. 动态传参
    (1)* args:表示接收所有位置参数的动态传参
def eat(*food):  #  * 表示位置参数的动态传参,* 接收到的值会被统一放在一个元组里
    print(food)

eat("大米饭", "大盘鸡")

返回结果
在这里插入图片描述

(2)** kwargs:表示接收所有关键字参数的动态传参

def eat(**food):  # ** 表示接收关键字的动态传参,接收到的所有参数都会被处理成字典
    print(food)

eat(zhu="米饭", fu="麻婆豆腐")

顺序:位置 > *args > 默认值 > **kwagrs
上述参数可以随意搭配使用

def func(a, b, c="haha", *args, **kwargs):
    print(a, b, c, args, kwargs)

func(1,2,3,4,5,6,7,8,9,hello="456",world="hello")

在这里插入图片描述
(3)def func(*args, **kwargs): 可以没有限制的接收任何参数

def func(*args, **kwargs):  # 没有限制的接收任何参数
    print(args, kwargs)

func()
func(1)
func(1,2,3,4,4,a=2)
func(1,2,3,4,c=4,a=2)

返回结果:
在这里插入图片描述

4. 补充情况

4.1 func(*stu_lst) :如果**号在实参位置,其意义是把列表打散成位置参数进行传参

举例:

stu_lst = ["dada", 'stefan', "demon", 'bonnie']
def func(*args):
    print(args)

func(*stu_lst)

返回结果:
在这里插入图片描述

4.2 ** 在实参位置,可以把字典自动转化为关键字参数进行传递

三、返回值

1. 概念

返回值:函数执行之后,会给调用方一个结果,这个结果就是返回值

关于return:
函数执行到了return,就会立即停止并返回内容,函数内的return的后续的代码不会执行

  1. 如果函数内没有return,此时外界收到的是None
  2. 如果写了return
    1)只写了return,后面不跟数据,此时接收到的依然是None
    2)return 值,此时表示函数有一个返回值,外界能够收到一个数据 -> 使用频率最高
    3)return 值1,值2,值3,此时函数有多个返回值,外界收到的是一个元组,并且该元组内存放所有的返回值
    举例:
def func():
    return 1, 2, 3 # 会让程序停止,后续代码不会继续执行,有点像循环里的break
    print(81)

ret = func()
print(ret)

返回结果:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枯木逢春24

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值