python中参数组 *args,**kwargs,位置参数(一个星*返回元祖),关键字参数(两个星*返回字典)

# 参数组 *args

def send_mail(*names):    for name in names:        print(‘%s发测试报告!‘%name)

send_mail()  # 不传参数!send_mail(‘路明‘) # 传一个参数:发测试报告! (‘路明‘,)  返回元祖send_mail(‘曹雪莲‘,‘dxl‘,‘zhangshan‘) # 传多个参数:发测试报告! (‘曹雪莲‘, ‘dxl‘, ‘zhangshan‘)
def szz(name,age,sex,addr,phone,qq,mail):    print("打印")

 # 关键字传参 ,可不用按顺序szz(name=‘dongxl‘,qq=‘877766766‘,age=18,addr=‘shanghai‘,mail=‘[email protected]‘,sex=‘nv‘,phone=148383838)
# 也可以一起用,但是要先写位置参数,在写关键字参数,关键字参数后面不能再出现位置参数
szz(‘dongxl‘,qq=‘877766766‘,age=18,addr=‘shanghai‘,mail=‘[email protected]‘,sex=‘nv‘,phone=148383838)

# 总结# 调用的函数的时候,可以全部都用位置参数,位置是--对应的,必须按照位置来传参# 也可以用关键字参数,不用指定关键字,不需要按顺序来
# 也可以一起用,但是要先写位置参数,在写关键字参数,关键字参数后面不能再出现位置参数
def xiaohei(**info):    print(info)

# 参数是否传,不是必填的# 位置传参不可以  xiaohei(‘1‘,‘2‘)# 关键字传参可以  返回字典# 是否限制参数的个数 不限制xiaohei()xiaohei(name=‘donxl‘,age=18,phone=‘139188777‘)# xiaohei(‘码云‘,‘20‘) #报错
def op_mysql(host,port,user,passwd,db):    print(host)    print(port)    print(user)    print(passwd)    print(db)db_info=[‘127.0.0.1‘,3306,‘root‘,‘123456‘,‘szz‘]op_mysql(*db_info)  # 一个星* 调用函数,代表拆开这个列表,挨个对应好
db_info2={    ‘host‘:‘127.0.0.1‘,    ‘port‘:3306,    ‘user‘:‘szz‘,    ‘passwd‘:‘123456‘,    ‘db‘:‘szz‘}op_mysql(**db_info2) # 两个*调用函数,把字典解开,host=127.0.0.1,port=3306
 

原文地址:https://www.cnblogs.com/skyxiuli/p/10740714.html

时间: 2024-12-07 00:12:16

python中参数组 *args,**kwargs,位置参数(一个星*返回元祖),关键字参数(两个星*返回字典)的相关文章

python的函数介绍 位置参数 关键字参数 默认参数 参数组 *args **kwargs

1.数学意义的函数与python中的函数 数学意义的函数 y = 2*3+1 x =3 y =7 x是自变量,y是因变量 2.python中定义函数的方法 一个函数往往都是为了完成一个特定的功能而存在的,所以注释信息加上是个好习惯 def atest(x): "The function definitions" x += 1 return x def:     定义函数的关键字 atest:     函数名 ():     内可定义形参 "":    文档描述(非必

python之路---10 *args **kwargs 命名空间 作用域 函数的嵌套

二十八.函数进阶 1.   "*"  和  "**" ① 在形参位置时   都是聚合的作用 *args    位置参数→元组 **kwargs   关键字参数→字典 混合时顺序为: 位置  , *args ,  默认值 , **kwargs ② 在实参位置时    都是打散的作用 *args      字符串,元组,字典 → 位置参数 **kwargs     字典 → 关键字参数 2.名称空间    用来存放名字(变量, 函数名, 类名, 引入的模块名)的 1.

Python中def function(*args)用法

Python中可用def function(): 创建一个自定义函数. 下面我将用代码解释def function(*args): 的用法 --- *args输入参数如何工作的: *args ```可以接受序列的输入参数.当函数的参数不确定时,可以使用 *args. #!/usr/bin/python # -*- coding: UTF-8 -*- def biggest_number(*args): print max(args) return max(args) def smallest_n

python中如何不区分大小写的判断一个元素是否在一个列表中

python中判断某一个元素是否在一个列表中,可以使用关键字in 和 not in. 示例如下: 如果需要输出相应的信息,可以搭配使用if语句,这里不赘述. ------------------------------------------------------------------------------------------分割线------------------------------------------------------------------------------

python中如果函数后面有多于一个括号是怎么回事?

一般而言,调用一个函数是加一个括号.如果看见括号后还有一个括号,说明第一个函数返回了一个函数,如果后面还有括号,说明前面那个也返回了一个函数.以此类推. 比如fun()() def fun(): print("this is fun"); def _fun(): print("this is _fun"); return _fun; Your task is to write a higher order function for chaining together

如何表示只有一个元素的元祖

在Python中我们经常会用到几种序列类型,列表(List),元祖(Tuple)与字典(Dict) 其中元祖使用小括号来表示,且不可以修改元素值 t = ('a', 'b', 1, 2) 但是 当元祖只有一个元素的时候比较特殊,用type()打印结果 t = (1) print(type(t)) # <class 'int'> 明明是元祖的格式,为什么识别为 int 型呢 这是因为当只有一个元素的时候,对于int型或字符型来讲,只是相当于运算的一个优先级,系统没有当作元祖的格式 如果要表示只有

Python&amp;int&amp;method&amp;String切片、索引,列表、元祖、字典

一.int的两个方法 a. __add__() bit_length() number_one = 7number_two = 5print(number_one + number_two)print(number_one.__add__(number_two))print(number_one.bit_length())print(number_two.bit_length()) 效果: 121233 二.String索引和切片 name = 'Jane'print(name[0])print

Python中subprocess 模块 创建并运行一个进程

python的subprocess模块,看到官方声明里说要尽力避免使用shell=True这个参数,于是测试了一下: from subprocess import call import shlex cmd = "cat test.txt; rm test.txt" call(cmd, shell=True) 运行之后: 1:打开并浏览了test.txt文件 2:删除了test.txt文件 from subprocess import call import shlex cmd = &

Python中可避免读写乱码的一个强大方法

昨天在帮同学解析一批从网络上爬取的文件时,遇到一个奇葩的问题,文件本身的编码是gbk,Eclipse编辑环境的默认编码是utf8,使用常规的open方法批量打开文件时,某些文件中存在一些不可被gbk识别的特殊字符导致读取错误,而这些特殊字符又是存在于utf8编码中的.经不断尝试,发现一个很好的解决办法:使用Python自带的codecs.codecs就是为编码转码而生的,关于此功能的更多详情请移步 https://docs.python.org/3.2/library/codecs.html #