python中对于函数中参数的详解

函数中参数时候很重要的,不仅仅是我们常用的一些必填参数,可缺省参数,还包括一些,关键字参数等,这边主要是自己一些学习心得~

1.必填参数

    顾名思义必填参数就是调用函数的时候必须传入的参数

def func1(a):   #a就是函数中必须传入的参数print(a)调用函数func1(3)  #结果是3,如果不传入参数3调用就会出错
2.缺省参数

   函数定义的时候会给一个默认值,如果调用函数的时候没有传入值就直接读取默认值

def func1(a,b=4):  #b=4就是缺省参数,当b没有参数传入的时候就取默认值print(a)print(b)
func1(1)   #结果是1,4
func1(1,3) #结果是1,3  当b给了值以后就取给的值当没有值的时候就取默认值

参数调用的顺序,必填参数一定在缺省参数前面 

3.可变数量参数

   参数:*args,函数定义的时候*将多个组装成元组,函数调用的时候*是将列表跟元组都一个个展开的作用

def func1(*args):  #定义的时候是一个元组s=0for i in args:s=s+ireturn s
func1(1,2,3,4)  #调用的时候是将元组的内容一个个传入10

调用的时候如果 可缺省参数没有指定的时候,除了必传参数有值以外,其他的值都是可变参数的值,并且会将可变参数自动封装成元组

def func1(a,*args,b=1):print(a)print(*args)print(b)
func1(1,2,3,4,5)  #a=1,*args=(2,3,4,5),b=1
func1(1,2,3,4,b=5)#a=1,*args=(2,3,4),b=5

可变参数也可以不传数量,可变数量参数可以是任何类型的数值

4.关键字可变数量参数

参数:**kwargs,函数定义的时候会将参数封装成字典,调用的时候可以不传参数,如果不传参数结果就是一个空字典,传参要使用key=value的方式,这样会将这个参数自动封装成字典

def func1(a,**kwargs):print(a)print(**kwargs)
dict1={'name':'tom','age':'18'}
func1(10,**dict1)=func(10,name='tom',age='18')  #调用的时候字典要使用key-value的方式结果10,{'name':'tom','age':'18'}

 5.函数中参数的作用域

    局部变量:在函数内部定义的变量,如果想将这个局部变量修改成全局变量,需要在函数内部变量名前面加global

def func1(a):s=0 s=s+areturn s
def func2():m=0m=s+m    #s是上个函数的局部变量这边直接引用会报错return m
ll=func2()
print(ll)

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

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

相关文章

20240701给NanoPi R6C开发板编译友善之臂的Android12系统

20240701给NanoPi R6C开发板编译友善之臂的Android12系统 2024/7/1 14:19 本文采取这个模式编译:11.6.3 编译Android Tablet版本(首次编译) echo "ROCKCHIP_DEVICE_DIR : device/rockchip/rk3588/nanopi6" > .rockchip_device.mk # export INSTALL_GAP…

日志以及日志封装

日志 输出日志信息 import logging# 调用 指定级别 输入日志信息 logging.debug("this is a debug") logging.info("this is a info") logging.warning("this is a warning") logging.error("this is a error") logging.critical(&qu…

理解前端内存泄露

JS里已经分配内存地址的对象,但是由于长时间没有释放或者没办法清除,造成长期占用内存的现象,会让内存资源大幅度浪费,最终导致运行速度慢,甚至崩溃的情况。 造成内存泄露的因素: 全局变量的不当使用&#…

学习一下C++中的枚举的定义

目录 普通枚举 强类型枚举 普通枚举 枚举类型在C中是通过关键字enum来定义的。下面是一个简单的例子: enum Color { RED, GREEN, BLUE }; 在这个例子中,我们定义了一个名为Color的枚举类型,它包含了三个枚举值:RED、GRE…

vue判断组件的值是否传过来

在 Vue 中,判断组件是否接收到了传入的属性值(props),你可以直接在组件内部检查这些属性是否已定义和是否具有有效的值。下面是一个基本的示例: 首先,假设你有一个父组件,它向子组件传递了一个…

大数据面试题之Spark(6)

Spark输出文件的个数,如何合并小文件? Spark的driver是怎么驱动作业流程的? Spark SQL的劣势? 介绍下Spark Streaming和Structed Streaming Spark为什么比Hadoop速度快? DAG划分Spark源码实现? Spark Streaming的双流join的过程,怎么做的? …

阿里云再次突发故障,高可用形同虚设?

作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验, Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复, 安装迁移,性能优化、故障…

JAVA实现麦克风说话同声传译

一、能力与场景说明 同声传译,又称同步口译或同声翻译,是一种专业的口译形式,指的是在讲话者发言时,口译员几乎同时将讲话内容翻译成目标语言。这种翻译方式通常用于国际会议、高级别政治或商业会谈、研讨会和其他需要即时多语言…

HarmonyOS Next 原生应用开发-从TS到ArkTS的适配规则(一)

一、强制使用静态类型 静态类型是ArkTS最重要的特性之一。如果程序采用静态类型,即所有类型在编译时都是已知的,那么开发者就能够容易理解代码中使用了哪些数据结构。同时,由于所有类型在程序实际运行前都是已知的,编译器可以提前…

【UE 网络】多人游戏开发时应该如何区分客户端逻辑和服务端逻辑 入门篇

目录 0 引言1 服务器和客户端逻辑1.1 服务器职责1.2 客户端职责 2 函数会在客户端执行还是服务端?2.1 只在客户端执行的函数RepNotifyClient RPCMulticast RPC 2.2 只在服务端执行的函数GameModeServer RPC 2.3 在两端都可以执行的函数GetNetMode() 和 HasAuthority…

LangGraph 和 AutoGen 的对比

LangGraph 和 AutoGen 都是用于构建大型语言模型 (LLM) 应用程序的框架。它们都旨在使开发人员更容易地控制 LLM 并使其适应特定任务。但是,这两种框架之间存在一些关键差异。 代理架构 LangGraph 和 AutoGen 之间最大的区别在于代理的构建方式。LangGraph 使用更…

用C#的MediaDevices程序集打开MTP设备(用usb线连接的手机)的文件夹

一、任务描述 1、可以访问MTP设备的桌面程序。 MTP设备:支持媒体传输协议(MTP)的设备,MTP简单来说就是一种PC与其他设备相连的一种协议,智能手机、平板电脑、数码相机等可以通过 USB 连接到电脑,并通过 MTP 协议传输媒体文件。点…

PLC_博图系列☞F_TRIG:检测信号下降沿

PLC_博图系列☞F_TRIG:检测信号下降沿 文章目录 PLC_博图系列☞F_TRIG:检测信号下降沿背景介绍F_TRIG: 检测信号下降沿说明参数示例 关键字: PLC、 西门子、 博图、 Siemens 、 F_TRIG 背景介绍 这是一篇关于PLC编程的文章&a…

httpx.HTTPStatusError: Client error ‘429 Too Many Requests‘ for url ‘

httpx.HTTPStatusError: Client error ‘429 Too Many Requests’ for url ‘https://open.bigmodel.cn/api/paas/v4/chat/completions’ For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 错误解释: httpx.HTTPStatusE…

LeetCode:3115. 质数的最大距离(Java 筛质数)

目录 3115. 质数的最大距离 题目描述: 实现代码与解析: 筛质数 原理思路: 3115. 质数的最大距离 题目描述: 给你一个整数数组 nums。 返回两个(不一定不同的)质数在 nums 中 下标 的 最大距离。 示…

Swift中的二分查找:全面指南

Swift中的二分查找:全面指南 简介 二分查找是计算机科学中的经典算法,被广泛用于在已排序的数组中高效地搜索目标值。与线性查找逐个检查每个元素不同,二分查找不断将搜索区间减半,因此在处理大数据集时要快得多。 在这篇博客中…

从零到百万用户的扩展之路

写在前面: 此博客内容已经同步到我的博客网站,如需要获得更优的阅读体验请前往https://mainjaylai.github.io/Blog/blog/system/design-system 设计一个支持数百万用户的系统是极具挑战性的,它是一段需要持续优化和不断改进的旅程。在这篇博客中,我们将构建一个支持单个用…

NC13611 树(dfs序+区间dp)

链接 思路&#xff1a; 容易知道对于同一种颜色的子图一定是仅由该颜色的点连通的。设我们要划分的个数为x&#xff08;x<k&#xff09;&#xff0c;也就是说我们要选出x-1条边&#xff0c;这里有种情况。那么我们需要选出x种颜色&#xff0c;这里有种情况。然后我们需要将…

英国Assignment写作怎么积累经验?

最近很多留学生每天都要熬夜&#xff0c;吓死宝宝了。关键是最后还是会fall了啊&#xff01;其实英国Assignment写作是要靠日积月累的写作经验的&#xff0c;虽然阅读量和写作水平无法一日千里&#xff0c;但是写作技巧却是可以速成的&#xff0c;我们一起来看看吧。 选题定方…

单线服务器有什么作用?

什么是单线服务器&#xff1f;单线服务器是指只有一条物理线路可以接入的服务器&#xff0c;这表明所有的数据信息与用户的访问请求都只能通过这一条线路来进行传输&#xff0c;因此单线服务器在服务器的性能与可扩展性方面有着一定的限制。 单线服务器与双线服务器相比&#x…