Python函数中不定长参数的写法

1、不定长参数的写法,用 *变量名 表示

2、不定长参数累加

3、不定长参数,使用**c接受m=23,n=56的值;

传参时,a必写,b、c可以缺省

def fun(a, b, *args):
 print(a)
 print(b)
 print(args)
 print("="*30)
 ret = a + b
 for i in args:
  ret += i
 return ret
print(fun(1,2,3,4))

结果:

1
2
(3, 4)
==============================
10

1,2分别赋值给a,b,剩下的参数以元组的形式赋值给args

字典形式参数:

def fun(a, b, *args, **kwargs):
 print(a)
 print(b)
 print(args)
 print(kwargs)
fun(1, 2, 3, 4, name = "hello", age = 20)

结果:

1
2
(3, 4)
{'name': 'hello', 'age': 20}

传入元组和字典:

def fun(a, b, *args, **kwargs):
 print(a)
 print(b)
 print(args)
 print(kwargs)
tup = (11,22,33)
dic = {"name":"hello", "age":20}
fun(1, 2, *tup, **dic)

结果:

1
2
(11, 22, 33)
{'name': 'hello', 'age': 20}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • Python基础之文件读取的讲解

    with open(filename) as fp: dataMat = [] for line in fp.readlines(): # fp.readlines()返回一个list,list of strs # 也即line类型为`str` curLine = line.strip().split('\t') # 只有`str`类型才有strip()成员函数, # 在经过split()分割,得到list类型 # 也即curLine类型为list # curLine 仍然是由字符串构成的lis

  • Python字符串逆序的实现方法【一题多解】

    https://www.jb51.net/article/156406.htm https://www.jb51.net/article/156407.htm 1. 使用索引 >> strA = 'abcdefg' >> strA[::-1] 'gfedcba' 2. 使用 list 的 reverse 方法 >> l = [c for c in strA] >> l.reverse() >> ''.join(l) 'gfedcba' 3. 使用

  • 使用Python自动化破解自定义字体混淆信息的方法实例

    注意:本示例仅供学习参考- 混淆原理 出于某种原因,明文信息通过自定义字体进行渲染,达到混淆目的. 举个例子: 网页源码 <p>123</p> 在正常字体的渲染下,浏览者看到的是 123 这 3 个数字. 如果创建一种自定义字体,把 1 渲染成 5,那么浏览者看到的便是 523 这 3 个数字. 这样便达到混淆信息的效果,常见于对付爬虫之类的自动化工具. 破解方法 下载自定义字体文件(通常在 css @font-face 中找到),保存成 a.ttf 文件. 安装以下依赖项目 te

  • centos6.5安装python3.7.1之后无法使用pip的解决方案

    编译安装全是坑-- 第一遍装完无法使用pip,报错找不到ssl模块.各种报错: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. ... configure: error: Invalid --with-openssl value ... 结果各种捣鼓. 1.注意cetos6.5自带的openssl版本是1.0.1,需要升级到1.0.2

  • Python字符串逆序输出的实例讲解

    1.有时候我们可能想让字符串倒序输出,下面给出几种方法 方法一:通过索引的方法 >>> strA = "abcdegfgijlk" >>> strA[::-1] 'kljigfgedcba' 方法二:借组列表进行翻转 #coding=utf-8 strA = raw_input("请输入需要翻转的字符串:") order = [] for i in strA: order.append(i) order.reverse() #将列

  • Python实现去除列表中重复元素的方法总结【7种方法】

    这里首先给出来我很早之前写的一篇博客,Python实现去除列表中重复元素的方法小结[4种方法],感兴趣的话可以去看看,今天是在实践过程中又积累了一些方法,这里一并总结放在这里. 由于内容很简单,就不再过多说明了,这里直接上代码,具体如下: # !/usr/bin/env python # -*- coding:utf-8 -*- ''' __Author__:沂水寒城 功能: python列表去除方法总结(7种方法) ''' import sys reload(sys) import copy

  • Python标准库使用OrderedDict类的实例讲解

    目标:创建一个字典,记录几对python词语,使用OrderedDict类来写,并按顺序输出. 写完报错: [root@centos7 tmp]# python python_terms.py File "python_terms.py", line 9 from name,language in python_terms.items(): ^ SyntaxError: invalid syntax 代码如下: from collections import OrderedDict p

  • 强悍的Python读取大文件的解决方案

    Python 环境下文件的读取问题,请参见拙文 Python基础之文件读取的讲解 这是一道著名的 Python 面试题,考察的问题是,Python 读取大文件和一般规模的文件时的区别,也即哪些接口不适合读取大文件. 1. read() 接口的问题 f = open(filename, 'rb') f.read() 我们来读取 1 个 nginx 的日至文件,规模为 3Gb 大小.read() 方法执行的操作,是一次性全部读入内存,显然会造成: MemoryError ... 也即会发生内存溢出.

  • Python语言检测模块langid和langdetect的使用实例

    之前使用数据编码风格检测的模块chardet比较多一点,今天提到的两个模块是检测数据的语言类型,比如是:中文还是英文,模块的使用方法也比较简单,我这里只是简单地使用了一下,因为项目中有这个需求,所以拿来用了一下,并没有深入地去研究这两个模块,模块的地址链接我都给出来了,需要的话可以去研究下: def langidFunc(): ''' https://github.com/yishuihanhan/langid.py ''' print langid.classify("We Are Famil

  • Python常用的json标准库

    当请求 headers 中,添加一个name为 Accept,值为 application/json 的 header(也即"我"(浏览器)接收的是 json 格式的数据),这样,向服务器请求返回的未必一定是 HTML 页面,也可能是 JSON 文档. 1. 数据交换格式 -- JSON(JavaScript Object Notation) http 1.1 规范 请求一个特殊编码的过程在 http1.1 规范中称为内容协商(content negotiation) JSON 特点

随机推荐