我的编程空间,编程开发者的网络收藏夹
学习永远不晚

深入了解python的函数参数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

深入了解python的函数参数

位置参数

这是一个求等差数列和的函数,使用必需要传入一个参数n,这就是位置参数


def sum(n):
    sum=0
    i=1
    while i<=n:
        sum+=i
        i+=1
    return sum
result=sum(100)
print(result)

默认参数

默认参数就是,我在函数中已经将一个参数提前设置好了值,如果你没有传入这个参数的值,就会用我事先设置好的值,如果你传入了就用你的

我这里定义了一个求x的y次方的方法


def power(x,y=2):
    return x**y
print(power((2)))
print(power(2,3))

关键字参数


def printmessage(name,age,*args,gender):
    print(name,age,args,gender)
    print(type(args))
printmessage("赵四",40,12345456,"男")

首先来看一下这个问题,我把一个多值参数写在了一个位置参数的前面这会发生什么事情?

报错信息:找不到”gender“这个字段对应的值

printmessage("赵四",40,12,34,54,56,"男")

*args是一个多值参数,他把后面所有的值都给收纳了,所以我们传入值得时候,需要把对应参数名也写上,这样才能识别这是单独一个参数的值


def printmessage(name,age,*args,gender):
    print(name,age,args,gender)
    print(type(args))
printmessage("赵四",40,12,34,54,56,gender="男")

这个关键字参数还有什么用处呢,只要指定了参数名,我们可以不按函数里面设置的参数顺序传入值,但是一旦这样打乱顺序,多值参数就无法识别出哪里是他可以接收值的地方,所以我就传入了其他3个参数


def printmessage(name,age,*args,gender):
    print(name,age,args,gender)
    print(type(args))
printmessage(age=45, gender='男', name='刘能')

可能有人不相信上面的结论

我随便放哪个位置都是不能识别的

最后一个情况没有报错,但是这个语法是错误的,他会认定你传入的1就是name,但是后面再次出现了name,并且缺少值得问题还是没解决

那我们试试用args接收一个元组试试?


printmessage(age=45, gender='男', name='刘能',args=(1,2,3,4))

很遗憾,根本无法识别这个关键字

所以打乱顺序传值的时候千万别有多值参数

多值参数:

可变参数分为2种

接收元组参数:*args 一个*的是接收多个数据放入元组

接受字典参数:**args 两个*的接受的是k=v类型的数据,将他们放入一个字典

元组:


def sumN(*args):
    # args是参数名
    # 要操作传入的参数 可以对args(相当于有参数构成的tuple)进行遍历
    print(args, type(args))
    sum = 0
    for i in args:
        sum += i
    print(sum)
sumN(1,2,3,5)

元组注意的事项就是,如果有参数在接受元组参数的后面,要用关键字参数传值

字典:


def printmessage(name,age,gender,**kw):
    print(name,age,gender,kw)
    print(type(kw))
printmessage("赵四",40,"男",address="象牙山",phonenumber="888888")

传入字典的多值参数后面是不能跟参数的,他只能放在函数参数的最后一个位置

还有,想用关键值传递的,传入的时候别乱调位置,要是到了**args的范围,就少了一个参数

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

深入了解python的函数参数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

深入了解Python装饰器函数

本篇文章给大家带来了关于python的相关知识,其中主要整理了装饰器函数的相关问题,包括了装饰器的形成过程、本质与功能、进阶与优化等等内容,下面一起来看一下,希望对大家有帮助。假如我写了一个函数 fdef f(): print(hello)之后我想知道这段函数执行所要的时间,这好办,我只要将代码改为如下就行import timedef f(): start = time.time()
2022-06-26

深入解析Python中函数的参数与作用域

传递参数 函数传递参数时的一些简要的关键点:参数的传递是通过自动将对象赋值给本地变量名来实现的。所有的参数实际上都是通过指针进行传递的,作为参数被传递的对象从来不自动拷贝。在函数内部的参数名的赋值不会影响调用者。改变函数的可变对象参数的值会
2022-06-04

深入讲解Python函数中参数的使用及默认参数的陷阱

C++里函数可以设置缺省参数,Java不可以,只能通过重载的方式来实现,python里也可以设置默认参数,最大的好处就是降低函数难度,函数的定义只有一个,并且python是动态语言,在同一名称空间里不能有想多名称的函数,如果出现了,那么后出
2022-06-04

深入了解 PHP 函数的构成

php 函数由函数名、参数、返回类型和函数体组成。函数类型可分为标量函数、复合函数和 void 函数。标量函数返回基本值,复合函数返回复杂数据结构,void 函数不返回任何值。举例而言,calculatesum 函数计算两个整数的总和并返回
深入了解 PHP 函数的构成
2024-04-11

深入研究Python函数可变参数的机制

深入探讨Python函数的可变参数机制引言:Python是一种功能强大且易于使用的编程语言,它提供了很多便利功能来提高开发效率,其中之一就是可变参数机制。在Python中,函数可以接受不同数量的参数,这种灵活性为程序员提供了更多的选择。本
深入研究Python函数可变参数的机制
2024-02-03

深入了解 PHP 函数文档

php 函数文档是开发人员了解函数用法的宝贵资源,步骤包括:访问函数文档(php 手册或 help 函数);理解函数语法(函数名、参数、返回值、异常);了解函数参数(类型、描述、默认值);查看函数返回值(类型、可能返回值);参考函数示例。深
深入了解 PHP 函数文档
2024-04-13

深入理解Ajax函数及其参数用法

掌握常用的Ajax函数及其参数详解Ajax(Asynchronous JavaScript and XML)是一种用于在客户端和服务器之间异步传输数据的技术。它能够实现无需刷新整个页面而更新部分内容,提升了用户体验和性能。本文将详细介绍常
深入理解Ajax函数及其参数用法
2024-01-26

深入了解PHP参数隐藏的重要性

PHP参数隐藏是构建安全可靠的网站和应用程序的关键一环。通过隐藏参数,可以保护敏感信息不被恶意用户窃取,提高系统的安全性和稳定性。在本文中,我们将深入探讨PHP参数隐藏的重要性,并结合具体的代码示例来说明如何实现参数隐藏。一、PHP参数隐
深入了解PHP参数隐藏的重要性
2024-03-09

深入了解Oracle Level函数逻辑

Oracle LEVEL 函数是一个分析函数,用于在层次结构或递归查询中获取当前行的级别LEVEL 函数的工作原理是通过 CONNECT BY 子句来实现的。CONNECT BY 子句用于定义层次结构或递归关系。在使用 CONNECT B
深入了解Oracle Level函数逻辑
2024-09-03

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录