python的函数入门和使用

函数:

  1. 什么是函数:
    python是一门面向对象的语言
    函数是行为,就是动作,就是功能,过程。

  2. python是如何定义函数:
    函数的名称命名规范就是变量命名规范
    def 函数名([参数列表]):
    #函数体
    #[return 返回值]

  3. 函数的分类:
    分类标准:
    (1)有无返回值:
    |–有返回值的函数
    使用return关键字,则立刻返回
    |–无返回值的函数
    (2)有无参数:
    |–有参数
    参数的个数,根据情况任意
    参数类型,是任意类型
    |–无参数
    函数定义者:
    |–系统函数:
    有官方定义的函数:
    print , input , type
    |–第三方定义:
    需要安装这些函数模块,才能使用
    pip install模块名称
    pip(python install package)
    |–自定义函数
    注意:(函数,变量…)命名时一定要注意,和系统函数不能冲突!!

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210120182339539.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ3MjE4OTkw,size_16,color_FFFFFF,t_70#pic_center)
    

4**. 全局变量和局部变量**:
全局变量:
直接定义在py(模块)文件中的变量
局部变量:
定义在函数内部的变量叫局部变量
因此只能在函数内部使用,访问在外间访问到!!!
注意:全局变量在函数直接访问,可以正常访问,
如果要在函数内部修改全局变量,python中不让修改。
若要强制修改?
提前声明: 这个函数要修改某个局部变量
在函数的第一行,global关键字声明需要修改全局变量。
在这里插入图片描述

函数调用的本质:
压栈(push):将函数从堆内存中,放到栈中执行。
弹栈(pop):函数执行完成后出堆内存。

引用传递和值传递:
引用传递:
传递的本质是地址,是对象,是引用
值传递:
本质就是值
函数本质就是一个对象,参数的类型,是任意类型。
在这里插入图片描述

函数的参数:
默认值参数:
就是说,如果函数的参数,在大多数情况下,固定一个值,此时可以使用默认值参数。
这个时候,如果不传参数,值就取默认的,如果传递了参数,则按照传递的算。
注意:默认值参数,一定要写在普通参数之后。
在这里插入图片描述

可变参数:
在python,如果一个函数中参数可能有很多(这些参数,也可以没有),建议将这种参数设置为可变参数。
参数名称(习惯性args)
注意:可变参数默认值是以元组封装所有参数。
在这里插入图片描述

递归函数:
1.什么是递归:
以代码论英雄
有两个条件:
1.函数自身调用自身。
2.一定要有终止条件!!(否则是一个死循环)
在这里插入图片描述

注意:python中,不允许递归函数超过1000次,当然如果一定要调整,可以使用如下代码:
import sys
#获取递归限制次数:
sys.getrecursionlimit()
#重新设置递归限制次数
sys.setrecursionlimit(10000)
在这里插入图片描述

Guess you like

Origin blog.csdn.net/m0_47218990/article/details/112895533