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 分钟前
Python调试技巧:高效定位与修复问题
服务器·开发语言·python
GodK7771 小时前
IP 数据包分包组包
服务器·网络·tcp/ip
梁诚斌1 小时前
VSOMEIP代码阅读整理(1) - 网卡状态监听
运维·服务器·网络
IFTICing1 小时前
【文献阅读】Attention Bottlenecks for Multimodal Fusion
人工智能·pytorch·python·神经网络·学习·模态融合
大神薯条老师1 小时前
Python从入门到高手4.3节-掌握跳转控制语句
后端·爬虫·python·深度学习·机器学习·数据分析
程序员爱德华1 小时前
Python环境安装教程
python
huanxiangcoco1 小时前
152. 乘积最大子数组
python·leetcode
深情废杨杨1 小时前
服务器几核几G几M是什么意思?如何选择?
运维·服务器
康熙38bdc1 小时前
Linux 进程优先级
linux·运维·服务器
Web极客码1 小时前
常见的VPS或者独立服务器的控制面板推荐
运维·服务器·控制面板