python函数的入门和使用

函数
1、什么是函数?
c语言是一门面向过程的语言
函数就是行为、就是动作、就是功能、就是过程
2、python如何定义函数?
关键字 def 【defined function】
函数名称的命名规范就是变量命名规范
def 函数名称([参数列表] ):
#函数体
#[return 返回值]
函数默认是不会执行的,需要调用才能执行
函数是默认存储在堆内存中
函数跟普通代码之间隔两个空格
调用函数:函数名称()
在这里插入图片描述
3、函数的分类
是否存在返回值
|-- 有返回值的函数
使用return关键字返回结果
函数遇到return关键字,则立刻返回
|-- 无返回值的函数
是否存在参数
|-- 有参函数
参数的个数,根据情况任意
参数的类型,是任意类型
|-- 无参函数
函数定义者
|-- 系统函数
由官方定义的函数
print、input、type
|-- 第三方定义
需要安装这些模块,才能使用
pip install 模块名称
pip(python install package) 是python用来安装包的
|-- 自定义函数
我们写的函数
注意:(函数、变量……)命名时一定要注意,和系统的全局函数不要冲突!!

全局变量和局部变量:
全局变量:
直接定义在py(模块)文件中的变量
局部(本地)变量:
定义在函数内部的变量叫做局部变量
因此只能在函数内部使用,无法在外界访问到!!!
注意:全局变量在函数直接访问,可以正常访问,如果要在函数内部修改全局变量,python不让修改的
如果要一定强制改呢?提前声明 这个函数需要修改某个全局变量
在函数的第一行,global关键字声明需要修改全局变量
尽量不要修改全局变量

函数调用的本质:
函数本质就是一个对象
栈(stack):先进后出,后进先出
堆(heap)
压栈(push):将函数从堆内存中放到栈中执行
弹栈(pop):函数执行完成后出栈内存
引用传递和值传递
引用传递:传递的本质是地址,是对象、是引用
值传递:本质就是值
函数本质就是一个对象,参数的类型,是任意类型
在python中,可以将函数当成参数,传递到另外一个函数中

函数参数:
默认值参数
就是说,如果函数的参数,在大多数情况下,值是固定的一个值,此时可以使用默认值参数。这个时候,如果不传该参数,值就取默认的,如果传递了,则按照传递的算。
注意:默认值参数,一定要写在普通参数之后
可变参数:
在python,如果一个函数中参数可能有很多(这些参数,也可以没有),建议将这种参数设置为可变参数
参数名称(习惯性args)
注意:可变参数默认是以元组封装所有参数
函数递归:
有两个条件:
1、函数自身调用自身
2、一定要有终止条件!!(否则是一个死循环)
栈空间溢出:
注意:python中,不允许递归超过1000次,当然如果一定要调整,可以使用如下代码:
import sys
# 获取递归限制次数
sys.getrecursionlimit()
# 重新设置递归限制次数
sys.setrecursionlimit(10000)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值