#!/usr/bin/env python3#coding: utf-8#File: args_kwargs_demo.py#Author: lxw#Date: 10/9/17 11:16 AM

"""Demos for "*args" & "**kwargs" in Python.

Reference: [Python中如何使用*args和**kwargs](http://python.jobbole.com/83476/)"""

def func_args(*args):print("type(args):{0}\targs:{1}\n".format(type(args), args))def func_kwargs(**kwargs):print("type(kwargs):{0}\tkwargs:{1}\n".format(type(kwargs), kwargs))def func_args_kwargs(*args, **kwargs):print("type(args):{0}\targs:{1}".format(type(args), args))print("type(kwargs):{0}\tkwargs:{1}\n".format(type(kwargs), kwargs))deffunc(arg1, arg2, arg3):print("arg1:{0}\targ2:{1}\targ3:{2}".format(arg1, arg2, arg3))defmain():#函数定义

func_args_kwargs(1, 2, 3)

func_args_kwargs(1, a = 2, b = 3)

func_args_kwargs(a= 1, b = 2, c = 3)

func_args(1, 2, 3)#func_args(1, a = 2, b = 3) # TypeError: func_args() got an unexpected keyword argument 'a'

#func_args(a = 1, b = 2, c = 3) # TypeError

#func_kwargs(1, 2, 3) # TypeError: func_kwargs() takes 0 positional arguments but 3 were given

#func_kwargs(1, a = 2, b = 3) # TypeError

func_kwargs(a = 1, b = 2, c = 3)print("---" * 10, "\n")#函数调用

args = (1, "two", 3)

func(*args)

args= [1, "two", 3]

func(*args)delargs[0]print(args)

func("One", *args)

args_dic= {"arg3": 3, "arg1": "1", "arg2": "two"}

func(**args_dic)del args_dic["arg1"]print(args_dic)

func(1, **args_dic)if __name__ == '__main__':

main()else:print("Being imported as a module.")"""# Output:

type(args): args:(1, 2, 3)

type(kwargs): kwargs:{}

type(args): args:(1,)

type(kwargs): kwargs:{'a': 2, 'b': 3}

type(args): args:()

type(kwargs): kwargs:{'a': 1, 'b': 2, 'c': 3}

type(args): args:(1, 2, 3)

type(kwargs): kwargs:{'a': 1, 'b': 2, 'c': 3}

------------------------------

arg1:1 arg2:two arg3:3

arg1:1 arg2:two arg3:3

['two', 3]

arg1:One arg2:two arg3:3

arg1:1 arg2:two arg3:3

{'arg3': 3, 'arg2': 'two'}

arg1:1 arg2:two arg3:3"""

python args函数_Python函数参数*args和**kwargs相关推荐

  1. python *args用法_python函数参数*args**kwargs用法实例

    #coding=utf8 __author__ = 'Administrator' # 当函数的参数不确定时,可以使用*args和**kwargs.*args没有key值,**kwargs有key值 ...

  2. python 参数个数 同名函数_Python——函数的参数

    函数的参数 定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调 ...

  3. python调用函数_Python 函数中的 4 种参数类型

    作者:小小程序员 链接:https://zhuanlan.zhihu.com/p/89538123 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 在调用函数时,通常 ...

  4. 设置与读取C#控制台应用程序Main函数中的参数args

    在项目属性面版->调试->命令行参数设置.空格分隔. 读取:string[] str = Environment.GetCommandLineArgs(); Main函数是C#应用程序的入 ...

  5. python函数调用位置_python函数定义,调用,传参,位置参数及关键字参数,返回值

    使用函数是真正开始编程的第一步,函数y=f(x)我们并不陌生,对x进行一顿操作得到一个值y.给不同的x,进行相同的操作,得到相应的y值. 程序层面函数是执行特定任务的一段代码,将一段代码定义成函数并为 ...

  6. python not函数_python 函数

    1 为什么使用函数 在没有接触函数时,有时候需要将一个功能多次写,如果需要修改其中一个变量,则需要把所有实现该功能的代码一处一处改.不利于代码维护,代码量大了,组织结构也会很不清晰. 所以总结不使用函 ...

  7. 用python画竹子_python函数

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创建函数,这 ...

  8. python教程:可变长参数(*args、**kwargs)、返回值(return)

    一.可变长参数 1.默认参数: 代码如下: def information_register(name, age, country, sex):print("---注册信息---" ...

  9. python value函数_python 函数基础

    什么是函数? 函数在Python中是最基本的程序结构,用来最大化地让我们的代码进行复用.简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运行.Python中的函数在其他 ...

最新文章

  1. ssm开发框架原理_SSM 单体框架 - 前端开发:视频讲解
  2. 开课吧python课程-Python教父廖雪峰加入开课吧 打造技术品类黄金内容班底
  3. 查看dll 的是32位还是64位
  4. 【String类、static、Arrays类、Math类】
  5. 将图形以JPEG格式输出到浏览器或文件
  6. 交叉验证技术(part1)--概述
  7. 高斯混合模型GMM的理解
  8. sp_addlinkedserver oracle,sp_addlinkedserver使用方法
  9. 搜索关键字字符串NSSCanner:scanString()详解
  10. C++ 通讯录管理系统实验报告
  11. 谱比法计算岩石的品质因子的c语言程序,地层品质因子计算方法及系统与流程...
  12. 各种小巧的Hello World
  13. 项目管理:CocoaPods建立私有仓库
  14. Android studio显示红叉,提示Error:please select android sdk
  15. 50元打造双网卡负载均衡服务器(Network Load Balancing)
  16. 基于Java Web技术的动车购票系统
  17. 有没有人可以解答一下?
  18. 对 Linux 初级、中级、高级用户非常有用的 60 个命令(转)
  19. 免费修复受损的mp4视频文件
  20. JavaWeb名片管理系统设计及详细分析

热门文章

  1. caffe教程翻译:Alex’s CIFAR-10 tutorial, Caffe style
  2. [云炬ThinkPython阅读笔记]2.3 表达式和语句
  3. 科大星云诗社动态20210416
  4. elasticsearch 数据类型_基于 MySQL Binlog 的 Elasticsearch 数据同步实践
  5. 在C#中利用Keep-Alive处理Socket网络异常断开的方法
  6. javascript如何释放内存
  7. OBJECT_ID 与objectproperty
  8. 前端优化方案-JavaScript 优化方案 收藏 此文于2010-06-04被推荐到CSDN首页
  9. EasyGui的用法简介
  10. 不同寻址方式的灵活应用——改变每个单词首字母大小写