专栏首页编程创造城市python中函数的可变参数

python中函数的可变参数

知识回顾:

1.函数关键字参数

2.函数的参数的默认值。必须从右边写到左边。


本节视频教程

文字教程开始:

一、【其实已经用过】可变参数

回顾系统自带的可变参数函数print

#系统自带的可变参数函数

print(1,2,"hello","刘金玉编程","编程创造城市",end="$$$")

如果我们想要开始自定义可变参数,只需要在函数参数的前面加上一个星号*

在函数体内部,默认情况下,带有*的参数传入的变量,我们输出的时候是元组类型。

如果要输出可变参数,由于数元组类型,我们往往针对元组类型的方式进行输出,参数可以用for循环来进行输出。

二、可变参数+普通参数 结合用法1

1.可变参数在开头的位置的情况

说明一下:如果可变参数在函数参数的开头的位置,普通参数在函数的第二个位置以后,那么在调用函数的时候,我们必须要采用关键字参数的用法,否则函数调用直接报错,报缺少调用参数的错误。

调用举例:

def add2(*a,b):

result=0

for v in a:

result+=v

result+=b

return result

print()

print(add2(1,2,3,4,5,b=10))

2.可变参数在中间的情况

注意:可变参数前面的参数变量,在调用函数的时候传参,传入的结果是可变参数前面的这些参数都分别作为前面参数的参数变量。可变参数后面的变量,必须使用关键字参数进行传入。

#定义可变参数在中间的情况

def add3(a,*b,c):

result=a

for v in b:

result+=v

result*=c

return result

#调用可变参数在中间的情况

print(add3(1,2,3,4,c=5))

可变参数在中间的情况的注意点:

注意:可变参数前面的参数变量,在调用函数的时候传参,传入的结果是可变参数前面的这些参数都分别作为前面参数的参数变量。可变参数后面的变量,必须使用关键字参数进行传入。

#定义可变参数在中间的情况

def add3(a,*b,c):

result=a

for v in b:

result+=v

result*=c

return result

#调用可变参数在中间的情况

print(add3(1,2,3,4,c=5))

三、总结强调

1.掌握可变参数的函数定义

2.掌握可变参数函数的几种不同情况的用法:可变参数在开头、可变参数在中间、可变参数在末尾。

本节源代码:

#系统自带的可变参数函数
print(1,2,"hello","刘金玉编程","编程创造城市")

def add1(*a):
    for v in a:
        print("【"+str(v)+"】",end=" ")
    pass

add1(1,2,3,34,564)

def add2(*a,b):
    result=0
    for v in a:
        result+=v
    result+=b
    return result

print()
print(add2(1,2,3,4,5,b=10))


#定义可变参数在中间的情况
def add3(a,*b,c):
    result=a
    for v in b:
        result+=v

    result*=c
    return result

#调用可变参数在中间的情况
print(add3(1,2,3,4,c=5))

执行结果:

1 2 hello 刘金玉编程 编程创造城市
【1】 【2】 【3】 【34】 【564】 
25
50

相关文章:

  1. python中函数关键字参数与默认值
  2. python中字典中的赋值技巧,update批量更新、比较setdefault方法与等于赋值
  3. python中函数概述,函数是什么,有什么用
  4. python中字典中的删除,pop方法与popitem方法
  5. python中进一步理解字典,items方法、keys方法、values方法
  6. python深度复制字典,copy方法与deepcopy方法

本文分享自微信公众号 - 编程创造城市(bcczcs),作者:刘金玉编程

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python中类的接口

    接口:理解为一种规范。定义一个接口实际上是一定一个规范,那么一个接口类可以定义多个规范。每个规范实际上是一个函数(方法)名称。

    刘金玉编程
  • 零基础html5网页开发#004 网站基本结构

    在上一期当中我们已经学过了html的入门以及的基本的代码写法。那么今天我们学习的这样一个网站基本结构,对于我们一个整体的网站的开发来说,应该显得是最为的基础。

    刘金玉编程
  • python输入与输出涨姿势

    上一节主要学习了利用python写第一个程序,学会使用了print函数进行输出。本节知识主要开始介绍输出与输入的方法。

    刘金玉编程
  • stdarg.h

    青木
  • Java 可变参数

    Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多余一...

    MonroeCode
  • @陈同学的专属Python教程之函数

    酒馆丁老师
  • SQL笔记

    表达式:表达式的定义非常简单 表达式可以返回一个值 表达式的类型非常广泛 它以包括各种 类型的数据如数字字符以逻辑型等其实在下列子句 如 SELECT 和 FR...

    企鹅号小编
  • Oracle如何重启mmon/mmnl进程(AWR自动采集)

    环境:Oracle 11.2.0.4 RAC 现象:sysaux空间满导致无法正常生成快照,清理空间后,手工生成快照可以成功,但是观察自动生成快照依然是不成功...

    Alfred Zhao
  • 扔硬币中的思考——隐含变量建模

    在我们的经典统计学教科书中,数据是正态的,分布是已知的,测量也是精确的,在这样的前提下我们才做着漂亮简明的各种估计、检验和性质分析。但是一旦拿到实际问题中就发现...

    magic2728
  • Spring5参考指南:AspectJ注解

    想要在Spring中使用AOP,和通用的Spring Bean一样有两种方式,一种就是注解,一种就是XML配置,本文主要讲解如何通过注解开启Spring AOP...

    程序那些事

扫码关注云+社区

领取腾讯云代金券