zoukankan      html  css  js  c++  java
  • 20180214:python 函数定义以及传参-形参/实参分不清以及可变参数

    在初学C语言函数时,经常会遇到形参与实参的区别,参数的传递和改变,变量的作用域问题。

    形参,即形式参数,在def关键字定义函数后,做为函数名之后的括号里的变量

    实参,即实际参数,在调用函数时传的值或者变量

    学习python,也可变通理解,举一个简单栗子说明:

    >>> def add(x,y):                #形参

           return x+y

    >>> add(100,200)               #实参

    300

    >>> add(x=100,y=200)           #实参

    300

    整个python函数的传参方式很简单,重点注意下可变参数

    1. 函数定义可变参数

    >>> def func(*params):       #params在函数体内类型是元祖

    调用方式

    >>> func(100,200,300)

    >>> def func(**params):     #params在函数体内类型是字典

    调用方式

    func(x=100,y=200,z=300) 

      2.一般的,可以用这两种可变参数使函数获得参数,衍生下列定义方式:

    >>> def func(x,*args,**kwargs)

      3.形参的两种特殊实参传递方式

      (1)以元祖为实参

    >>> def login(name, psw):

      print 'login name is' +name

      print 'login psw is' +psw

    >>> if __name__ == "__main__":

           account = ('Account','123')

           login(*account)

      (2)以字典为实参

    >>> def login(name, psw):

      print 'login name is' +name

      print 'login psw is' +psw

    >>> if __name__ == "__main__":

           account = {'name':'Account','psw':'123'}

           login(**account)

  • 相关阅读:
    MonoBehaviour.FixedUpdate 固定更新
    Gizmos 辅助线框
    Quaternion 四元数
    Object.Instantiate 实例
    c语言描述的静态查找表
    c语言描述的二叉树的基本操作(层序遍历,递归,非递归遍历)
    c语言描述的链队列的基本操作
    c语言描述的双向链表的基本操作
    c语言描述的简单选择排序
    c语言描述的二分插入排序法
  • 原文地址:https://www.cnblogs.com/hazelrunner/p/8446348.html
Copyright © 2011-2022 走看看