+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2019-08(47)

2019-09(90)

2019-10(13)

2019-11(9)

2019-12(19)

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

发布于2020-08-01 15:14     阅读(193)     评论(0)     点赞(15)     收藏(0)


在这里插入图片描述

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}


所属网站分类: 技术文章 > 博客

作者:dfh8374

链接: https://www.pythonheidong.com/blog/article/468117/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

15 0
收藏该文
已收藏

评论内容:(最多支持255个字符)