函数的参数

函数的参数

  • 函数的参数可以增加函数的通用性
# 没有函数参数的函数
def num_add():a = 1b = 2return a + bs1 = num_add()
print(s1)
# 局限性:只可以计算两个数字的和,无法实现具有较高的通用性
# 没有函数参数的函数
def num_add(a, b):return a + bs = num_add(1, 1)
s1 = num_add(5, 4)
print(s)
print(s1)

参数的两种称谓

  • 形参(形式参数)
    • 函数定义时,制定的参数叫做形参
  • 实参(实际参数)
    • 函数调用时,传递的参数叫做实参
  • 而我们通常讨论的参数,指的都是形参(形式参数)
    在这里插入图片描述
  • 参数的传递
    函数调用的过程:
    1.实参给形式参数传值
    2.执行函数体

实际参数给形式参数传递的内存地址

参数的类型

  • 参数的不同类型
    • 定义函数时,参数的名字和位置定下来,函数 的接口就固定了。对于含糊的额调用者来说,只需要传递正确的参数,以及函数的返回什么样的制就够了,函数的内部逻辑被封装起来,调用者无需了解,python函数的参数定义灵活度非常大。
      除非正常定义的位置参数外,还可以使用 :
      • 位置参数(重点说明)
      • 默认参数
      • 动态参数

位置参数

也叫必传参数或者顺序参数,是最重要的、也是必须在调用函数中明确提供的参数!位置参数必须按先后顺序,一一对应,个位不多不少的传递!

def add(a, b, c):  # 三个形式参数return a + b + c
x = 4
y = 5
# 形式参数和实际参数的数量是相同的
r1 = add(x, y, x)  # 实际参数
# 并且参数的顺序要保持一致
r2 = add(4, 5, 6)
print(r1, r2)

在这里插入图片描述

当只给函数赋两个值时候出现报错

在这里插入图片描述
以上的错误的原因是因为字符串和 数字类型不能相加而不是因为不能够传递字符串类型的数据

注意:python在做函数参数传递的时候不会对数据类型进行检查,理论上你传什么值都可以!

默认参数

在函数定义的时候,如果一个参数提供一个默认值,这个参数就变成了默认值,不再是一个位置参数了,在调用函数的时候,我们可以给默认参数一个自定义的制,也可以使用默认值。

# 默认参数
def power(x, n=2):return x * n
pw = power(2)
pw1 = power(2, 6)
print(pw, pw1)
# 默认参数一定要放在位置参数的后面

面试题
在这里插入图片描述

动态参数

  • 顾名思义,动态参数就是传入个数是动态,可是是1个、2个到任意个,还可以是0个,在不需要的时候,你完全可以忽略动态函数不用它传递任何值。
  • python的动态参数有两种,分别是:
    • *args
    • ** kwargs

这里面的关进是一个和两个星的区别,而不args和kwargs 在名字上的区别
动态参数必须放在位置参数和默认参数的后面

*args
def func(*args):    # *是必须存在的但是args可以换成其他,但是一般情况下不换print(args)  # 返回的是一个元组
func(1, 2, 3)
** kwargs
def func(**kwargs):print(kwargs)  # 返回值是一个字典
# func(k1=1, k2=2, k3=3)
dic = {"name": "yujinlong","age": 18
}
func(**dic)  # 如果想要实际参数中接受字典需要在参数中写入两个“*”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/381675.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea如何让包结构分层

文章目录 前言1.选中前项目包结构2.取消后项目包结构3.情况二 前言 在大型项目中,代码的分层管理至关重要。IDEA编辑器提供了强大的package分层结构功能,帮助开发者更好地组织和管理代码。通过合理配置,我们可以清晰地看到各个package之间的…

浏览器打开抽奖系统html

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>在线抽奖 随机选取 自动挑选</title> <script src"https://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <style> body {…

CrowdStrike更新致850万Windows设备宕机,微软紧急救火!

7月18日&#xff0c;网络安全公司CrowdStrike发布了一次软件更新&#xff0c;导致全球大范围Windows系统宕机。 预估CrowdStrike的更新影响了将近850万台Windows设备&#xff0c;多行业服务因此停滞&#xff0c;全球打工人原地放假&#xff0c;坐等吃瓜&#xff0c;网络上爆梗…

GPT盘新增容量后如何扩容?

场景&#xff1a;一块5T的GPT盘&#xff0c;现有需求再加10T&#xff0c; 在虚拟化平台加10T盘后&#xff0c;机器不重启&#xff0c;执行命令 echo 1 > /sys/block/sdb/device/rescan刷新磁盘容量&#xff0c;可看到容量已刷出。 但执行fdisk /dev/sdb时&#xff0c;发现创…

【Django5】模板引擎

系列文章目录 第一章 Django使用的基础知识 第二章 setting.py文件的配置 第三章 路由的定义与使用 第四章 视图的定义与使用 第五章 二进制文件下载响应 第六章 Http请求&HttpRequest请求类 第七章 会话管理&#xff08;Cookies&Session&#xff09; 第八章 文件上传…

鸿蒙 动态共享包HSP的创建和引用

1.什么是动态共享包HSP HSP&#xff08;Harmony Shared Package&#xff09;是动态共享包&#xff0c;可以包含代码、C库、资源和配置文件&#xff0c;通过HSP可以实现代码和资源的共享。HSP不支持独立发布&#xff0c;而是跟随其宿主应用的APP包一起发布&#xff0c;与宿主应…

QXlsx读写excel

QXlsx读写excel 安装 QXlsx使用 qmake使用 CMake 基本用法1. 写入 Excel 文件2. 读取 Excel 文件 详细用法1. 设置单元格样式2. 合并单元格3. 创建图表4. 设置列宽和行高 完整示例 QXlsx 是一个用于在 Qt 应用中读写 Excel 文件的第三方库。它提供了丰富的 API&#xff0c;可以…

Kafka之存储设计

文章目录 1. 分区和副本的存储结构1. 分区和副本的分布2. 存储目录结构3. 文件描述 2. 相关配置3. 数据文件类型4. 数据定位原理LogSegment 类UnifiedLog 类 5. 副本数据同步HW水位线LEO末端偏移量HW更新原理 6. 数据清除 1. 分区和副本的存储结构 在一个多 broker 的 Kafka 集…

首批通过 | 百度通过中国信通院H5端人脸识别安全能力评估工作

2024年5月&#xff0c;中国信息通信研究院人工智能研究所依托中国人工智能产业发展联盟安全治理委员会&#xff08;AIIA&#xff09;、“可信人脸应用守护计划”及多家企业代表共同开展《H5端人脸识别线上身份认证安全能力要求及评估方法》的编制工作&#xff0c;并基于该方法开…

Linux_线程的同步与互斥

目录 1、互斥相关概念 2、代码体现互斥重要性 3、互斥锁 3.1 初始化锁 3.2 申请、释放锁 3.3 加锁的思想 3.4 实现加锁 3.5 锁的原子性 4、线程安全 4.1 可重入函数 4.2 死锁 5、线程同步 5.1 条件变量初始化 5.2 条件变量等待队列 5.3 唤醒等待队列…

【openGL】阴影映射问题:shadow acne(阴影失真)和peter panning(阴影悬浮)

【openGL】阴影映射问题&#xff1a;shadow acne&#xff08;阴影失真&#xff09;和peter panning&#xff08;阴影悬浮&#xff09; 1.《Learn Opengl》第35章中提到&#xff0c;一般在按照光线投射产生深度贴图的做法做阴影映射时&#xff0c;会出现摩尔纹&#xff0c;这种…

浏览器插件利器--allWebPluginV2.0.0.16-beta版发布

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品&#xff0c;致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX控件直接嵌入浏览器&#xff0c;实现插件加载、界面显示、接口调用、事件回调等。支持Chrome、Firefo…

AI 模型本地推理 - YYPOLOE - Python - Windows - GPU - 吸烟检测(目标检测)- 有配套资源直接上手实现

Python 运行 - GPU 推理 - windows 环境准备python 代码 环境准备 FastDeploy预编译库下载 conda config --add channels conda-forge && conda install cudatoolkit11.2 cudnn8.2 pip install fastdeploy_gpu_python-0.0.0-cp38-cp38-win_amd64.whlpython 代码 impo…

电路学习——经典运放电路之滞回比较器(施密特触发器)(2024.07.18)

参考链接1: 电子设计教程29&#xff1a;滞回比较器&#xff08;施密特触发器&#xff09; 参考链接2: 滞回比较器电路详细分析 参考链接3: 比较器精髓&#xff1a;施密特触发器&#xff0c;正反馈的妙用 参考链接4: 比较器反馈电阻选多大&#xff1f;理解滞后效应&#xff0c;轻…

Vue3 内置组件Teleport以及Susponse

1、Teleport 1.1 概念 将组件模版中的指定的dom挂载&#xff08;传送&#xff09;到指定的dom元素上&#xff0c;如挂载到body中&#xff0c;挂载到#app选择器上面。 1.2 应用场景 经典案例如&#xff1a;模态框。 <template><teleport to"body">&l…

【LeetCode】对称二叉树

目录 一、题目二、解法完整代码 一、题目 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true 示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#…

如何在 Android 中删除和恢复照片

对于智能手机用户来说&#xff0c;相机几乎已经成为一种条件反射&#xff1a;你看到值得注意的东西&#xff0c;就拍下来&#xff0c;然后永远保留这段记忆。但如果那张照片不值得永远保留怎么办&#xff1f;众所周知&#xff0c;纸质快照拿在手里很难舍弃&#xff0c;而 Andro…

『 Linux 』信号概念与信号的产生

文章目录 信号概念前台进程与后台进程信号的本质硬件理解信号的产生 信号概念 "信号"一词指用来传达信息或只是的各种形式的提示或标志; 在生活中常见的信号例如红绿灯,交通标志,短信通知等 在操作系统中,"信号"是一种用于异步通知进程发生特定事件的机制;…

WebGIS的Web服务概述

WebGIS是互联网技术应用于GIS开发的产物&#xff0c;是现代GIS技术的重要组成部分&#xff0c;其中的Web服务是现代WebGIS的核心技术和重要标志&#xff0c;它集GIS、程序组件和互联网的优点于一身&#xff0c;深刻改变了GIS开发和应用的方式&#xff0c;绕过了本地数据转换和本…

Yum包下载

1. 起因 内网有一台服务器需要升级php版本,维护的同学又不想二进制安装.服务器只有一个光盘的yum仓库 2. 解决方法 解决思路如下: 外网找一台机器配置php8.3.8的仓库外网服务器下载软件集并打包内网服务器上传并解压实现升级 2.1 下载php8.3.8仓库 配置php仓库 rootcent…