zoukankan      html  css  js  c++  java
  • python学习之参数传递

    参数传递分为定义(形参)和调用(实参)两种情况。

    1. 定义(形参)

    • 默认参数
    def func(x, y=None):
    
    # 任何时候必须  优先定义   位置参数
    # 默认参数和可变参数*args  顺序无要求
    # 任何时候必须  最后定义   可变参数**kwargs
    
    • 可变参数之tuple
    def func(a, x=None, *y):
    
    # x为默认参数;
    # y为元组,可以为空,可以有1到多个元素,函数将依次读取y的元素,然后再函数里组成一个元组。
    func(1)          # 1, None, ()
    func(1,())       # 1, (),   ()
    func(1,2,3,8)      # 1, 2,  (3,8)
    
    • 可变参数之dict
    def func(x, y=0, **z):
    
    # x为位置参数
    # y为字典,可以为空,可以有1到多个字典元素,函数依次读取每个键值对,并传入在函数里组成一个字典。
    func(1)          # 1, 0, {}
    func(1, y=2, w=3)   # 1, 0, {'y': 2, 'w': 3}
    

    2. 调用(实参)

    def func(a,b,c):
    
    tuple = (1, 2, 3)
    func(*tuple)       # 1,2,3
    # *tuple 将tuple拆分为三个元素,一次传递给函数的位置参数a,b,c
    
    def func(a,b,c):
    
    dict = {'a': 1, 'b': 2, 'c': 3}
    func(**dict)       # 1,2,3
    # **dict将dict每个值按照键值对的关系传递给函数的对应参数
    # 因此key必须和位置参数(默认参数可省略)一一对应,不多不少才能成功
    
  • 相关阅读:
    动画 + 设置contentoffset,然后就 蛋疼了,
    xmpp这一段蛋疼的 坑,
    项目,
    一段测试代码,哦哦哦,
    libresolv,
    mutating method sent to immutable object'
    解析json,是还是不是,
    济南学习 Day 4 T1 am
    济南学习 Day 3 T3 pm
    济南学习 Day 3 T2 pm
  • 原文地址:https://www.cnblogs.com/jiukun/p/9325463.html
Copyright © 2011-2022 走看看