python函数的5种参数详解

发布时间 - 2026-01-10 23:15:15    点击率:

(1)       位置参数,调用函数时按位置传入参数

(2)       默认参数,即在函数定义时就给出参数的值,设置默认参数时要注意两点,一是必选参数在前,默认参数在后。二是把变化小的参数放在后面可作为默认参数。具有默认参数的函数被调用时可以不传入默认参数,若需要改变默认参数的值则可以赋值的形式调用该函数。若不按顺序提供默认参数则需要把参数名写上(即以赋值的形式)。默认参数必须指向不变的参数(即不变对象,对象内部的数据一旦创建就不能改变,在多任务环境下同时读取对象不需要加锁)

(3)       可变参数,即传入参数的个数是可变的。由于参数的个数不确定我们可以把参数作为一个list或tuple传入,访问时可以使用for循环访问。如果直接利用可变参数,定义可变参数和定义list或tuple参数相比仅仅在参数前面加一个*号。在涵数内部参数接收到的是一个tuple,因此函数代码完全不变,但是,调用函数时可以传入任意个参数,包括0个参数。如果已经有一个list或tuple要调用一个可变参数有两种方法,一是分别取出各参数并传入。二是在其前面加上一个*号,把list或tuple的元素变成可变参数传进去。

(4)       关键字参数,可变参数允许你传入0个或任意个参数,这些参数在函数调用时自动组装成一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。如果传入的关键字参数为dict则可以将函数中的那个参数前面加两个**号。

(5)       命名关键字参数,用于限制关键字的名字。和关键字参数**kw不同,命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数。如果函数定义中已经有了一个可变参数,后面跟着的命名参数就不需要一个特殊分隔符*号了。命名关键字参数必须传入参数名,这和位置参数不同。如果没有传入参数名,调用将报错。

注意:参数的定义顺序是:必选参数、默认参数(一定要用不可变对象)、可变参数、命名关键字参数、关键字参数  def f(a,b,c=0,*,d,**kw),对于任意函数都可以通过类似fun(*arg,**kw)的形式调用它,无论它的参数是如何定义的。

*arg是可变参数,arg接收的是tuple

**kw是关键字参数,kw接收的是dict

可变参数即可以直接传入:fun(1,2,3),又可以先组装list或tuple,再通过*arg传入:func(*(1,2,3));

关键字参数既可以直接传入:fun(a=1,b=2),又可以先组装dict,再通过**kw传入:function(**{‘a':1,'b':2})


# python  # 函数参数  # 函数参数传递  # 函数参数类型  # 总结的几个Python函数方法设计原则  # 详解Python中的各种函数的使用  # Python函数参数操作详解  # Python实现自定义函数的5种常见形式分析  # 对python函数签名的方法详解  # 对Python函数设计规范详解  # 的是  # 一是  # 则可  # 又可  # 是在  # 分隔符  # 放在  # 不需要  # 就不  # 我们可以  # 要把  # 可以通过  # 要用  # 如果没有  # 可以直接  # 就不能  # 作为一个  # 可以使用  # 时就  # 不确定 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  如何快速搭建高效WAP手机网站吸引移动用户?  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  南京网站制作费用,南京远驱官方网站?  香港服务器部署网站为何提示未备案?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何批量查询域名的建站时间记录?  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  网站页面设计需要考虑到这些问题  图册素材网站设计制作软件,图册的导出方式有几种?  详解jQuery中基本的动画方法  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  Laravel Session怎么存储_Laravel Session驱动配置详解  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  免费网站制作appp,免费制作app哪个平台好?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  公司网站制作需要多少钱,找人做公司网站需要多少钱?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  零基础网站服务器架设实战:轻量应用与域名解析配置指南  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  Python正则表达式进阶教程_复杂匹配与分组替换解析  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  lovemo网页版地址 lovemo官网手机登录  Laravel项目怎么部署到Linux_Laravel Nginx配置详解  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  Laravel如何使用withoutEvents方法临时禁用模型事件  linux写shell需要注意的问题(必看)  新三国志曹操传主线渭水交兵攻略  如何在香港免费服务器上快速搭建网站?  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  微信小程序 require机制详解及实例代码  Laravel如何创建自定义Facades?(详细步骤)  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  如何在七牛云存储上搭建网站并设置自定义域名?  JavaScript如何实现继承_有哪些常用方法  js实现获取鼠标当前的位置  Laravel怎么使用artisan命令缓存配置和视图  Laravel如何使用Gate和Policy进行授权?(权限控制)  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  如何在橙子建站上传落地页?操作指南详解