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))
相关推荐
MZ_ZXD00117 分钟前
springboot汽车租赁服务管理系统-计算机毕业设计源码58196
java·c++·spring boot·python·django·flask·php
A 计算机毕业设计-小途1 小时前
大四零基础用Vue+ElementUI一周做完化妆品推荐系统?
java·大数据·hadoop·python·spark·毕业设计·毕设
Wy_编程4 小时前
Linux-文本搜索工具grep
linux·运维·服务器
qq998994 小时前
AAA服务器技术
运维·服务器
xujiangyan_4 小时前
linux的sysctl系统以及systemd系统。
linux·服务器·网络
Lovyk4 小时前
Linux Shell 常用操作与脚本示例详解
linux·运维·服务器
iCan_qi4 小时前
【Mac】【Minecraft】关于如何在Mac上搭建基岩版MC服务器的方法
运维·服务器·macos·minecraft
念念01075 小时前
数学建模竞赛中评价类相关模型
python·数学建模·因子分析·topsis
云天徽上5 小时前
【数据可视化-94】2025 亚洲杯总决赛数据可视化分析:澳大利亚队 vs 中国队
python·信息可视化·数据挖掘·数据分析·数据可视化·pyecharts
☺����5 小时前
实现自己的AI视频监控系统-第一章-视频拉流与解码2
开发语言·人工智能·python·音视频