初识函数

初识函数

1、什么是函数

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

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

(2)函数的定义

 

  def 函数名:

    函数体代码

 

def func():    # def 函数名():
    print("hello world")

 

(3)函数名命名规范

  --->  一定不要与关键字冲突

  --->  一定要见名知意

 

(4)参数

  形参

    在函数的定义阶段,写在括号中变量名就是形参

  实参

    在函数的调用阶段,写在括号中的具体的值就是实参

def func(x, y):    # 定义阶段:x,y就是形参
    z = x + y
    print(z)

func(1, 2)    # 调用阶段:1,2就是实参

  参数是在调用函数的时候生效,函数执行结束关系解除

 

(5)函数体代码

  函数体代码指的是函数的具体功能,函数里面的代码都叫做函数体代码

def func(x, y):
    z = x + y    # 函数体代码
    print(z)    # 函数体代码

func(1, 2)

 

(6)函数的注释

  注释(一定要写):

    1、要写当前函数具体的功能

    2、解释当前函数参数作用

    3、解释当前函数返回值的特点

def func(x, y):
    """
    计算x+y的和
    :param x: 
    :param y: 
    :return: 
    """
    sum = x + y
    print(sum)

 

 

2、函数的返回值

(1)不写返回值

  python中所有的函数都有返回值,不写默认为None

 

(2)写返回值,返回一个值

  return

  函数体代码结束的标识,默认为None

  return None

  函数体代码结束的标识,默认为None

  return 值

  返回的值可以是任意数据类型类型

def func(x, y):
    sum = x + y
    return sum

 

(3)返回多个值

  return 值1,值2,值3...

  可以返回多个任意类型的值,最后以元组的形式返回给调用者

def func():
    x = 1
    y = 2
    z = 3
    return x, y, z

print(func())    # 打印结果为(1, 2, 3)

  return [值1,值2,值3...]

  自己指定返回的数据类型

def func():
    x = 1
    y = 2
    z = 3
    return [x, y, z]

print(func())    # 打印结果为[1, 2, 3]

 

 

3、参数的详细描述

(1)位置参数

  位置形参:在函数定义阶段按照顺序从左到右书写的变量名就叫位置形参

  位置实参:在函数调用阶段按照顺序从左到右书写的具体的值就叫位置实参

  位置参数定义之后一定要传递参数

 

(2)关键字参数

  在函数调用阶段,以key=value形式进行,关键字参数

 

(3)默认值参数

  在函数定义阶段提前给形参赋值的操作就叫默认值参数

 

(4)可变长参数*  **

  * 在函数定义阶段:接收所有溢出的位置参数,将接受的值以元组的形式传入* 后面的变量中

  * 在函数调用阶段:将列表、元组、字符串、集合等可以使用的for循环的容器类型打散成位位置参数

  ** 在函数定义阶段:接收所有溢出的关键字参数,将接受的值以字典的形式传入** 后面的变量中

  ** 在函数调用阶段:将字典打散成关键字参数传入形参

def index(*args, **kwargs):
    print(args)
    print(kwargs)

index(1, 2, 3, 354353, 4342, 3213123, a=111, b=222, c=333, d=444)

  输出结果:

 

 

4、定义函数的三种形式

(1)无参函数:

def index():
    print("from index")

 

(2)有参函数

def func(x, y):
    print(x, y)

 

(3)空函数

def register():
    pass

def login():
    pass

......

 

 

5、命名关键字参数

  定义在* 和**之间

  在给命名关键字传值的时候一定要以关键字形式传递

def index(x, y, z, *args, a=1, b, **kwargs):
    print(x, y, z)
    print(args)
    print(a, b)
    print(kwargs)

index(1, 2, 3, 354353, 4342, 3213123, a=111, b=222, c=333, d=444)

  输出结果:

posted @ 2020-10-08 16:47  chchcharlie、  阅读(126)  评论(0编辑  收藏  举报