zoukankan      html  css  js  c++  java
  • python_函数中使用*和**

    Python在函数中,使用*接收元组,使用**接收键/值对

    当要使函数接收元组或字典形式的参数 的时候,有一种特殊的方法,它分别使用*和**前缀 。这种方法在函数需要获取可变数量的参数 的时候特别有用。

    [注意]

    [1] 由于在args变量前有*前缀 ,所有多余的函数参数都会作为一个元组存储在args中 。如果使用的是**前缀 ,多余的参数则会被认为是一个字典的健/值对 。 [2] 对于def func(*args):,*args表示把传进来的位置参数存储在tuple(元组)args里面。例如,调用func(1, 2, 3) ,args就表示(1, 2, 3)这个元组 。

    [3] 对于def func(**args):,**args表示把参数作为字典的健-值对存储在dict(字典)args里面。例如,调用func(a='I', b='am', c='wcdj') ,args就表示{'a':'I', 'b':'am', 'c':'wcdj'}这个字典 。 [4] 注意普通参数与*和**参数公用的情况,一般将*和**参数放在参数列表最后。

    【示例】

    # -*- coding: utf-8 -*-
    
    def read_tuple(*args):
        """
            *args: 用来接收元组
        """
        for a in args:
            print a
            
            
    def read_dict(**args):
        """
            **args: 用来接收字典
        """
        for key, value in args.items():
            print key
            print value
            
            
    name = ("Lili", "Jack", "Lucy")
    message = {"zhangsan": 24, "lisi" : 20, "wangwu":30}
    
    read_tuple(*name)
    read_dict(**message)
    
    read_tuple(1, 2, 3)
    read_dict(name = "zhangshan", age = 12, sex=u"")

    【截图】

  • 相关阅读:
    java事件处理机制(自定义事件)
    EL表达式 (详解)
    Java编程思想(四) —— 复用类
    优秀辅助网站使用记录
    快速部署tomcat项目的Shell脚本
    数据库SQL优化大总结
    常用排序算法及应用背景
    Java面试通关秘籍汇总集
    Java堆、栈和常量池以及相关String详解
    常用加密算法概述
  • 原文地址:https://www.cnblogs.com/zhuhaiying/p/6269124.html
Copyright © 2011-2022 走看看