首页 > 编程语言 >python函数

python函数

时间:2022-11-01 00:33:37浏览次数:50  
标签:return 函数 python res 参数 func 实参

什么是函数?

  函数相当于具备某一功能的工具
  函数使用原则:先定义,后调用

为什么要使用函数?

  1. 组织结构不清晰,可读性差
  2. 代码冗余
  3. 可维护性,扩展性差

函数使用

函数定义

# 定义函数发生的事情
# 1、申请内存空间保存函数体代码
# 2、将上述内存地址绑定函数名
# 3、定义函数不会执行函数体代码,但是会检测函数体语法
def 函数名(参数1,参数2,...):
  """文档描述"""
  函数体
  return 值
  1. 无参函数
def func():
  """文档描述"""
  ### 函数体
  1. 有参函数
def func(x,y):
  """文档描述"""
  ### 函数体
func(1,2)
  1. 空函数
def func(x,y):
  pass

函数调用

调用函数发生的事情
1、通过函数名找到函数的内存地址
2、然后加口号就是在触发函数体代码的执行
# 1、语句的形式:只加括号调用函数
# interactive()
# add(1,2)

# 2、表达式形式:
# def add(x,y): # 参数-》原材料
#     res=x + y
#     return res # 返回值-》产品
# 赋值表达式
# res=add(1,2)
# print(res)
# 数学表达式
# res=add(1,2)*10
# print(res)

# 3、函数调用可以当做参数
# res=add(add(1,2),10)
# print(res)

函数返回值

return是函数结束的标志,即函数体代码一旦运行到return会立刻终止函数的运行,并且会将return后的值当做本次运行的结果返回

  1. 返回None: return None或 return
  2. 返回单个值:return 值
  3. 返回多个值:return 值1,值2,值3得到一个tulp元组类型(值1,值2,值3)

函数参数

  1. 形参

    1. 位置形参
    2. 默认形参:在定义阶段中被赋值内存地址,规范-赋值类型为不可变类型

    混用时,位置形参必须在默认形参左边

    1. 可变位置参数:*argsargs是一个元组
    2. 可变关键字参数:**kwargskwargs是一个字典
  2. 实参

    1. 位置实参
    2. 关键字实参

    混合使用是,位置实参必须在关键字实参前,并且不能为同一个参数重复赋值

    1. 实参中带*: func(*[11,2,3])会将参数与形参一一对应func(11,2,3)
    2. 实参中带**:func(**{"a":1,"b":4}) func(a=1,b=4)

混用*和***args必须在**kwargs之前

  1. 命名关键字参数(了解):func(a,b,*,c,d)*号后定义的参数,c/d称为关键字参数,必须按照key=value为其传参
  2. 组合使用(了解):func(a,y=111,*args,z,**kwargs)

标签:return,函数,python,res,参数,func,实参
From: https://www.cnblogs.com/hyf120/p/16846417.html

相关文章

  • Python 基础
    目录基础语法变量标识符命名规范注释单行注释多行注释import引入模块的方法运算法算术运算符成员运算符条件控制if语句matchcase语句基础语法变量标识符命名规范标......
  • Python实现批量登录网络设备
    importparamikoimportdatetimeimporttimef=open('./hostnames.txt','r')#准备好主机文件,一台主机占一行hostnames=f.readlines()#hostnames=['1.1.1.1','2.2.......
  • npm install报奇怪的python错误
    一、问题描述从git上面拉取项目,准备在本地运行,在使用 npminstall 安装依赖的时候,出现了奇怪的python错误。但是类似的项目能够正常的安装依赖并运行二、解决方法如......
  • 时间日期函数
    MDY(m,d,yr) 生成yr年m月d日的SAS日期值HMS(h,m,s) 由小时h、分钟m、秒s生成SAS时间值DHMS(d,h,m,s) 由SAS日期值d、小时h、分钟m、秒s生成SAS日期时间值DATE()/TOD......
  • Python开发 之 两种爬虫的方式 正则表达式、XPath
    文章目录​​1、简介​​​​2、简单爬取基本信息——效果图​​​​3、先将一下利用正则的方式​​​​3.1简单理解​​​​3.2源码​​​​4、XPath​​​​4.1简单介......
  • MATLAB约束最优化之罚函数法、障碍函数法和SQP方法
    1.罚函数法罚函数方法包括外点法和内点法。外点法又叫外罚函数法,顾名思义,迭代点再约束条件的可行域之外,既用于不等式约束又可用于等式约束。同样地,罚函数方法又叫序列无......
  • 学习python-Day82
    今日学习内容一、vue项目目录介绍myfirstvue 项目名字 -node_modules 文件夹,内部有很多当前依赖的模块,可以删除,但是想恢复就需要敲:npminstall-publice 文......
  • [python] 合并文件 终端命令行 cmd版
    importgetoptimportosimportsysdefshow_help():print("-h查看帮助")print("-s<path>文件路径1例:E:\\folk.bin")......
  • [python] bin转dfu 脚本 RSA2048 签名 解密 公钥 私钥
    /lib/importhashlibimportosimportsysimporttimefromdatetimeimportdatetimeimportrsaclassmy_sign():pubkey=""privkey=""def__init__(self,pa......
  • [python][上位机][tool] 单片机多功能上位机 参数设置 DFU升级 曲线图显示
    一、上位机界面图二、DFU生成工具界面图三、使用说明DFU升级功能必须使用配套的DFU生成工具。曲线图协议:GH^DATA=<线编号><数据>\r\n......