python小白笔记(七)函数的基础知识

在这里插入图片描述

7.函数

函数的功能:防止重复写代码,使整体的程序可读性提升

函数的定义

  1. 将一组语句或者几个通过一个名字(函数名)封装起来
  2. 减少重复写代码,使程序更加易维护
#定义一个空函数
def kong():
    pass     #什么都不用做

7.1 定义函数的形式

  • 无参形式 括号里没有变量
def func():
    print('哈哈哈哈')
    print('哈哈哈哈')
    print('哈哈哈哈')
    print('哈哈哈哈')
func()    #调用函数 加括号就行
>>>输出结果
哈哈哈哈
哈哈哈哈
哈哈哈哈
哈哈哈哈
  • 有参形式
#灵活使用你的函数 
def add(x, y):
    a, b = x, y
    c = a + b
    print(c)
add(1, 2)   #自己输入xy的值
add(10, 1)
>>>输出结果
3
11

#赋值表达
def add(x, y):
    a, b = x, y
    c = a + b
    return c
res = add(1, 2)
print(res)
>>> 3
  • 函数的返回值 return 函数结束的标准
  • 返回值在 函数完成时,给我们的一个结果,我们可以用一个变量去接收这个结果
#1. 返回None   函数里面没有return
#2.返回一个值
#3.返回多个值 
def func():
    return 10, 20
a,b = func()
print(a, b)
>>> 10 20

7.2函数的参数

形参

定义函数时,小括号中的参数,接收参数用的

7.2.1 位置参数
  • 从左往右依次定义参数,必需要传值
def func(x, y):
    print(x, y)
func(2,1)
func(1,2)
>>>输出
2 1
1 2
#  需要注意的是 
# 1. 位置实参 必须要写在关键字实参前
# func(y=2,1)    会报错
# 2. 不能给同一个形参传值
func(1, y=2)
>>> 1 2
7.2.2关键字实参
  • 指名道姓的传值
def func(x, y):
    print(x, y)
func(y=2, x=1)
>>> 1 2
7.2.3默认形参
  • 在函数的定义阶段就将参数赋值
def func(x, y=3):
    print(x,y)

func(1, 4)
>>> 1 4

实参

实参:调用函数的时候,小括号中的参数,用来传递数据到函数内部的

#### * 接受溢出的位置参数
def func(x, y, *args):
    print(x, y)
    print(args)
func(1,2,3,4,5,6)
>>>输出
1 2
(3, 4, 5, 6)
##### 利用* 求算数和
def my_sum(*args):
    i = 0
    for item in args:
        i += item
    return res
res = my_sum(1, 2, 4, 5, 8, 100)
print(res)
>>> 120
  • * 可以使用在实参里面 先将值拆分为位置参数
def func(x, y, z):
    print(x, y, z)

func(1,2,3)
func(*[1, 2, 3])
>>>输出
1 2 3 
1 2 3
  • 形参和实参里面都带 *
# 形参和实参里面都带*
def func(x, y, *args):
    print(x, y, args)
func(1, 2, 3, 4, 5, 6)
func(*[1, 2, 3 ])
>>>输出
1 2 (3, 4, 5, 6)
1 23
  • 关键字实参
  • ** 保存到了字典
def func(x, y, **kwargs):
    print(x, y, kwargs)

func(1, y=2, a=1, b=2, c=3)
func(y=222, x=111, **{'a':333})
>>>输出
1 2 {'a': 1, 'b': 2, 'c': 3}
111 222 {'a': 333}
######
def func(x, y, *args,a,b):
    print(x, y)
    print(a,b)
    print(args)

func(1,2,1,2,3,4,b=222,a=123)
>>>
1 2
123 222
(1, 2, 3, 4)
  • 混用的时候 *args 要写在kwargs之前**
def func(x,*args, **kwargs, ):
    print(x)
    print(args)
    print(kwargs)
func(1,2,3, a=1,b=2,c=3)
>>>
1
(2, 3)
{'a': 1, 'b': 2, 'c': 3}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

_水哥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值