函数-非固定参数

# 刚才你写的报警,发给某个人。

def send_alert(msg,user)

#那如果公司规模扩大了,要求发给10个人或更多怎么办呢?

#难道你要重复敲10行或更多的代码?

def send_alert(msg,user1)

def send_alert(msg,user2)

def send_alert(msg,user3)

def send_alert(msg,user4)

#其实不用这么麻烦!

def send_alert(msg,*users)

send_alert(‘cpu过高‘,‘alex’,‘jack’.....)

#如果参数中出现 *users,传递的参数就可以不再是固定个数,传过来的所有参数打包元组给(*users)

#方式一:

send_alert(‘cpu过高‘,‘alex’,‘jack’.....)

#方式二:

send_alert(‘cpu过高‘,*[‘alex’,‘jack’.....])

def func(name,*args,**kwargs)

  print(name,args,kwargs)

func(‘alex‘,22,‘tesla‘,‘500w‘)

#执行结果:

alex (22, ‘tesla’, ‘500w’){}

#未定义的参数是放到后面字典里的

列子:

func(‘alex‘,22,‘tesla‘,‘500w‘,addr=‘山东’,num=12442323)

#执行结果:

alex (22, ‘tesla’, ‘500w’){‘num’:12442323,‘addr’:‘山东’}

#如果是字典呢会是什么样的效果我来看一下

d = {‘degree’:‘primary school’}

func(‘peiqi’,d)

打印结果:

peiqi ({‘degree’:‘primary school’},){}

#那怎么样才能传到后面参数里去呢

func(‘peiqi’,**d)

打印结果:

peiqi (){‘degree’:‘primary school’}

原文地址:https://www.cnblogs.com/kingforn/p/10890611.html

时间: 2024-10-10 06:20:18

函数-非固定参数的相关文章

python-函数-非固定参数

非固定参数: 非固定参数的作用:可以传不固定个数的参数进去,为以后的扩展准备. 在函数中,加了名字的非固定函数输出是会显示为字典形式,没有加名字的非固定函数输出时会显示为元组形式. def sud(name,age,*args,**kwargs):#*args 会把多传入的参数变成一个元组形式显示:**kwargs 会把多传入的参数变成一个字典的形式显示 print(name,age,args,kwargs) returnsud("zhangsan",20,"beijing&

Retrofit 动态参数(非固定参数 非必须参数)(Get Post请求)

关键词:Retrofit 动态参数.非固定参数.非必须参数 有如下场景: 请求数据时: 1. 用户未登录时,不带参数userId: 2. 登录时带上参数userId. 如下接口: @GET("index.php?r=default/homepage") Observable<Response<Exercise>> getDataList(@Query("page") int page); @GET("index.php?r=defa

Python直接用字典数组导入到函数的非固定参数

正好是学logging模块的时候遇到的.代码是这样的: logging.basicConfig(filename='test.log',                     level=logging.DEBUG,                     format='%(name)s %(asctime)s %(module)s-%(lineno)d [%(levelname)s]:%(message)s',                     datefmt='%Y-%m-%d %

22、函数不固定参数

 不固定参数*args放到元祖里面 关键字参数是放到字典里面 也可以放混合必填参数 原文地址:https://www.cnblogs.com/cwl-bj/p/9625589.html

函数的非固定参数,默认参数,参数组

默认参数: 也可以给默认参数赋值,这个时候就取代了默认的值了: 默认参数的特点:调用函数的时候,默认参数非必须传递: 作用:1.自定义安装软件,默认安装值: 2.连接数据库的参数:比如默认端口号3306 参数组: *args,这个就是参数组,前面有一个星号*,后面可以跟任意字母,定义一个参数组. 接受多个实参,然后把实参放到一个元祖里去.下面的列表作为实参,也是可以的.不过都是转换为元祖. 也可以这么应用,如下图: 如果传输字典实参到函数,可以如下:**kwargs,两个*.把N个关键字参数,转

函数的非固定参数

默认参数特点:调用函数的时候,默认参数非必需传递 def test(x,y=2): #定义默认参数y=2 print(x) print(y) test(1,3) 输出: 1 3

Python基础【day04】:函数介绍、参数调用

本节内容 函数介绍 函数参数及调用 函数的非固定参数 函数介绍 一.介绍 在我们以往的学习编程的过程当中,碰到的最多的两张编程方式或者说编程方法:面向过程和面向对象.其实不管是哪一种,其实都是编程的方法论而已.但是现在有一种更古老的编程方式:函数式编程,以它的不保存的状态,不修改变量等特性,重新进入我们的视野. 面向对象 --->类 ---->class面向过程 --->过程--->def函数式编程-->函数--->def 二.函数定义 我们上初中那会也学过函数,即:y

18.函数定义和参数

函数定义:函数是指一组语句的集合通过一个名字封装起来,要执行这个函数,只需调用函数名即可def function(x,y): """ 函数说明 :param x: 参数x,int类型 :param y: 参数y int类型 :return: 返回值 """ res=x*y print(res) return res # return 是函数返回值,不写默认返回的是none,如有多个返回值,以元组形式返回,return下面的代码不再执行functi

Retrofit2.0 公共参数(固定参数)

请先阅读: Retrofit 动态参数(非固定参数.非必须参数)(Get.Post请求) 在实际项目中,对于有需要统一进行公共参数添加的网络请求,可以使用下面的代码来实现: RestAdapter restAdapter = new RestAdapter.Builder() .setEndpoint(ctx).setRequestInterceptor(new RequestInterceptor() { @Override public void intercept(RequestFacad