函数-参数(可变参数&关键字)

一个*,会把输入参数打包成一个tuple

两个*,会把输入参数打包成一个字典

 1 """
 2 可变参数
 3 """
 4
 5
 6 def add(*args):
 7     print(args)
 8
 9
10 add()  # 空元组
11 add(1)  # (1,)
12 add(1, 2, 3)  # (1, 2, 3)

可变参数求和(开发过程中,如果参数个数不确定的情况下)

调用函数,就是找到def定义的那块内存,想办法往里面传值。

系统只要看到*args,系统底层就提前把容器(元组)准备好,如果里面有元素,就将元素装进容器中

 1 """
 2 可变参数求和
 3 调用函数,就是找到def定义的那块内存,想办法往里面传值
 4 系统只要看到*args,系统底层就提前把容器(元组)准备好
 5 如果里面有元素,就将元素装进容器中
 6 """
 7
 8 def add(*args):
 9     sum = 0
10     if len(args) > 0:
11         for i in args:
12             sum += i
13         print("累加和是,sum:", sum)
14     else:
15         print("没有元素可计算,sum:", sum)
16
17
18 add()
19 add(1,)
20 add(1, 2, 3)

当可变参数搭配固定参数时

 1 """
 2 可变参数搭配不可变参数时,可变参数一定要放在固定参数后面
 3 """
 4
 5
 6 def add(name, *args):  # name, *args = "小王", 1, 3, 4
 7     sum = 0
 8     if len(args) > 0:
 9         for i in args:
10             sum += i
11         print("%s累加和是:sum:%s" % (name, sum))
12     else:
13         print("没有元素可计算:sum:", sum)
14
15
16 add("小王", 1, 3, 4)

原文地址:https://www.cnblogs.com/GumpYan/p/12293999.html

时间: 2024-09-29 10:39:52

函数-参数(可变参数&关键字)的相关文章

38 py改变函数参数的值关键字参数和参数默认值函数中可变参数将序列中的元素值作为函数对应的参数值传

第五课:改变函数参数的值 一个python函数可以有任意多个参数,在一个函数的外部来定义变量,然后把变量作为参数传入到函数内,并且在函数的内部来修改函数的参数值,函数结束之后,这些变量的值在如何变化呢? 给函数传递值有2种:1种是值传递,1种是引用传递 # 改变函数参数的值 # 值传递(数值.字符串.布尔 这些都是值传递) 在函数的内部修改变量值,不改变原参数定义的参数值,解释为: 这个在函数中不会改变原来定义(函数外部)的值 这是因为函数里面会有一个占的概念,外边的变量的值会复制给 占 里面,

python--关键字参数/可变参数--内置函数--时间模块--常用模块

---恢复内容开始---关键字参数/可变参数 知识点一.内置函数 def send_msm2(*args): #可变参数,参数组 print('phone',args)send_msm2()#返回值为元组 def send_msm2(*args): #可变参数,参数组 print('phone',args)send_msm2(110, 113, 333) #参数组不能用word= "haha "这样的形式,直接传def say(word,*args): print(word) prin

stdarg.h——用于函数接受可变参数

stdarg.h是C语言中C标准函数库的头文件,stdarg是由standard(标准) arguments(参数)简化而来,主要目的为让函数能够接收可变参数. 1.可变参数函数 声明可变参数函数 可变参数函数的参数数量是可变动的,它使用省略号来忽略之后的参数.例如printf函数一般.代表性的声明为: int check(int a, double b, ...); 可变参数函数最少要有一个命名的参数,所以 char *wrong(...); 在C中是不被允许的(在C++中,这样的声明是合理的

【Java学习笔记】函数的可变参数

1 package p2; 2 3 public class ParamterDemo { 4 5 public static void main(String[] args) { 6 7 int sum1 = add(4,5); 8 int sum2 = add(4,5,6); 9 int sum3 = add(4,5,6,7); 10 11 System.out.println(sum1); 12 System.out.println(sum2); 13 System.out.println

创建函数利用可变参数列表的形式模拟实现printf的功能

★创建函数利用可变参数列表的形式模拟实现printf的功能. 模拟简单的输入单个字符和字符串时的输出形式 如:输入:%c %c %c %c %c\t%s,'h','e','l','l','o',"welcome to here!" 输出:h e l l o   welcome to here! #include<stdio.h> #include<stdlib.h> #include<stdarg.h>    //需引入stdarg的头文件以便建立可

(一)Python入门-5函数:06参数类型-位置参数-默认值参数-命名参数-可变参数-强制命名参数

参数的几种类型: 位置参数: 函数调用时,实参默认按位置顺序传递,需要个数和形参匹配.按位置传递的参数,称为: “位置参数” 默认值参数: 我们可以为某些参数设置默认值,这样这些参数在传递时就是可选的.称为“默认值参数”. 默认值参数放到位置参数后面. 命名参数: 我们也可以按照形参的名称传递参数,称为“命名参数”,也称“关键字参数”. 可变参数: 可变参数指的是“可变数量的参数”.分两种情况: 1. *param(一个星号),将多个参数收集到一个“元组”对象中. 2. **param(两个星号

Lua function函数,可变参数, 局部函数,尾递归优化

在Lua中,函数是作为"第一类值"(First-Class Value),这表示函数可以存储在变量中,可以通过参数传递给其他函数,或者作为函数的返回值(类比C/C++中的函数指针),这种特性使Lua具有极大的灵活性. Lua对函数式编程提供了良好的支持,可以支持嵌套函数. 另外,Lua既可以调用Lua编写的函数,还可以调用C语言编写的函数(Lua所有的标准库都是C语言写的). 定义一个函数 function hello() print('hello') end hello函数不接收参数

C语言函数的可变参数列表

可变参数列表可通过宏来实现,这些宏定义在stdarg.h头文件中,它是标准库的一部分.这个头文件声明了一个类型va_list和三个宏----va_start,va_arg,va_end.可以声明一个类型为va_list的变量,与这几个宏配合使用,访问参数的值.参数列表的可变部分位于一个或多个普通参数(命名参数)的后面(即参数列表中至少要有一个命名参数),它在函数原型中以一个省略号表示. 例如:定义一个函数average可以计算若干个整数的平均值: 1 #include <stdarg.h> 2

函数的可变参数

一.可变参数介绍: 1.一个方法定义好了参数,在调用时必须传入与其一一对应的参数 2.但是在JDK1.5之后提供了新的功能,可以根据需要自动传入任意个数的参数 3.其实就是一个数组,但是接收的是数组的元素,自动将这些元素封装成数组,简化了调用者的书写(注意:可变参数类型必须定义在参数列表的结尾处) 4.可变参数语法: 返回值类型 方法名称(数据类型....参数名称){ } 二.代码实例 public class ParamterDemo { public static void main(Str