python——函数

概念

函数就是将一段具有独立功能的代码块整合到一个整体并命名,在需要的位置调用这个名称去完成对应的需求

定义函数

python 复制代码
def 函数名(参数):
    代码1
	......
    return 值

函数名

函数名由编程人员自定义的,满足标识符命名规则即可

参数

形参

在定义函数是定义接收数据的参数

实参

函数调用时,传入的真实数据

形式

位置参数

调用函数时根据函数定义的参数位置来传递参数

python 复制代码
def f(name,age):
    print(f"{name}  ,age  {age} ")

f('zhangsan',18)
关键字参数

通过"键=值"形式加以指定

在函数调用时,如果有位置参数时,位置参数必须在关键字参数前面

python 复制代码
def f(name,age):
    print(f"{name}  ,age  {age} ")

f(age=18,name="John")
缺省参数

在定义函数的时候,也为参数提供了默认值,如果在调用函数时,不传值,则默认使用定义时使用的值

python 复制代码
def f(name,age=15):
    print(f"{name}  ,age  {age} ")

f(name="John")
不定长参数

用于不确定调用的时候会传递多少个参数的场景

  • 用包裹(packing)位置参数
    传进来的所有参数都会被args变量手机,它会根据传进参数的位置合并为一个元组
python 复制代码
def f(*agrs):
    print(agrs)

f("John","18") #('John', '18')
  • 包裹关键字传递
python 复制代码
def f(** agrs):
    print(agrs)

f(name="zhangsan",age=18)

返回值

使用关键字return

还有退出当前函数的作用

返回值可以作为参数传递

调用函数

函数必须先定义后使用

当调用函数时,解释器回到定义函数的地方去执行下方缩进的代码,当这些代码执行完,回到调用函数的位置,继续向下执行

说明文档

help函数:查看函数的说明文档

python 复制代码
def 函数名(参数):
   """说明文档"""
   代码
   .....

作用域

变量生效的范围

局部变量

在函数体内部,临时保存数据,也就是当函数调用完成后,会销毁局部变量

全局变量

  • 在函数体内、外都生效的变量
  • 在函数中,如果去使用 a= xx 去修改全局变量,那么a这个全局变量,并不会发生改变 ,只是等于在函数中申请了一个新的局部变量
  • 如果要在函数中去修改全局变量,使用的语法是,
python 复制代码
global  a 
a=200

交换变量

python 复制代码
a,b =1,2
a,b = b,a

引用

在python中,值是靠引用来传递来的,

用id()来判断两个变量是否为同一个值的引用,返回的是内存的地址标识

递归函数

特点

函数内部自己调用自己

必须有出口

python 复制代码
def add(num):
    if num ==1 :
        return 1
    return num+add(num-1)

print(add(10))
相关推荐
爱吃苹果的梨叔36 分钟前
2026年指挥中心分布式坐席怎么选?清虹创智让多系统、多坐席和大屏真正协同
python
Bug退散师1 小时前
多路IO复用[select版TCP服务器与poll版TCP服务器]与常用网络编程函数详解
linux·服务器·c语言·网络·驱动开发·tcp/ip
xiaoye-duck1 小时前
《Linux系统编程》Linux 系统多线程(一):线程概念(从虚拟地址空间与分页机制到优缺点解析)
linux·线程
起予者汝也1 小时前
Python 数据结构
开发语言·数据结构·python
LadenKiller1 小时前
2026年量化工具增量,放回回测模拟实盘阶段判断
人工智能·python
石一峰6991 小时前
驱动:私有数据为什么要在三个地方各挂一遍?
数据库·python·算法
国服第二切图仔1 小时前
05-构建与特性开关
linux·服务器·ubuntu
FREEDOM_X1 小时前
嵌入式——定时器工作原理
linux·c语言·单片机·嵌入式硬件·ubuntu
2601_956319881 小时前
最新量化软件怎么选,先按能力短板匹配工具类型
人工智能·python
Tbisnic2 小时前
26.AI大模型:RNN、LSTM、GRU
人工智能·python·rnn·gru·大模型·llm·lstm