美文网首页
python函数参数传递

python函数参数传递

作者: zhuwen | 来源:发表于2017-04-24 17:11 被阅读0次

今天学习到python函数传递的一些内容,和其他语言的参数传递有很多类似的地方,也有很多是python语言专有的一些特性,记录下,我对python函数参数传递的一些认知。

函数

python函数是一些已经记录好的,可以重复使用的一些代码。函数的定义语句如下所示:

def functionname( parameters ):
   "函数_文档字符串"
   function_suite
   return [expression]

在函数的使用中,参数是必不可少的部分,让我们来看下,几乎所有语言都拥有的函数传递是一种传递方式是怎么样的:

def hello(name):
       print "hello"+name
hello("john")

在这一段函数之中,hello函数接受一个参数john,最终函数也会输出hello,john为结果。
当然,函数自然也支持多个参数的传递

def printinfo( name, age ):
   "打印任何传入的字符串"
   print "Name: ", name;
   print "Age ", age;
   return;
 
#调用printinfo函数
printinfo( 'miki',50);

这个特性显而易见,而且在其他语言之中也非常常见,下面让我们看下,python之中特有的一些机制,首先是参数顺序的转换

def printinfo( name, age ):
   "打印任何传入的字符串"
   print "Name: ", name;
   print "Age ", age;
   return;
 
#调用printinfo函数
printinfo( age=50, name="miki" );

函数顺序转换完成之后,函数一样能被调用。得到一样的输出结果,这在其他很多语言中并不具备这样的功能

python的变量传递功能并不仅仅只限于这样的功能,当加了星号(*)的变量名会存放所有未命名的变量参数。选择不多传参数也可。如下实例

  #!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 可写函数说明
def printinfo( arg1, *vartuple ):
   "打印任何传入的参数"
   print "输出: "
   print arg1
   for var in vartuple:
      print var
   return;
 
# 调用printinfo 函数
printinfo( 10 );
printinfo( 70, 60, 50 );

python函数参数传递还有着将字典或者列表传递的过程和其反转过程:

#!/usr/bin/python
def story(**kwds): 
        return 'Once upon a time there was a '\
                '%(job)s called %(name)s.'% kwds
def power (x,y,*others):
        if others:s                print 'Received redundant parameters:'.others
        return pow(x,y)
def interval(start,stop=None,step=1):
        'Imitates range() for step > 0' 
        print start,stop
        if stop is None: 
                start,stop = 0,start
        print start,stop
        result = []
        i = start
        while i < stop:
                result.append(i) 

在上述例子中,使用**kwd 参数,当我们传递的内容是里面所需要的job和name的时候,

print story(job = 'king', name ='gumby'  )

参数会自动往里面传递
这个特性特别有意思

args = {name:'aa',job='aa'}
print story(**args)

当往里面传递一个字典时,结果和单个参数的键值对类似。

相关文章

  • Python函数参数传递机制(超级详细)

    Python中,函数参数由实参传递给形参的过程,是由参数传递机制来控制的。通过学习《Python函数值传递和引用传...

  • Python 向对象传入任意数量的实参

    向函数传递任意参数 我们都知道,Python 可以通过 *params 向函数传递任意多个参数。举个栗子: 得到的...

  • Python 函数的参数传递\*args和\**kwargs

    Python 函数的参数传递*args和**kwargs 参数传递机制具有值传递(int、float等值数据类型)...

  • 深入函数参数

    函数参数 Python允许具有可变长参数的函数。使用*args作为函数参数,可以将任意数量的参数传递给该参数。然后...

  • 09:函数的参数类型

    python学习day_7: 函数的参数 1、必须参数(位置参数)调用函数时根据函数定义的参数位置来传递参数。 2...

  • python 参数传递总结

    参数的传递 python中函数的参数通过赋值的方式来传递引用对象。下面总结通过总结常见的函数参数定义方式,来理解参...

  • python的参数传递

    一、前言 在python中,函数参数的定义和传递有以下几种方式: 在python中,参数可以按照顺序传递,在调用函...

  • 常用数据结构和算法汇总

    Python List as belowPython语言特性1 Python的函数参数传递2 Python中的元类...

  • Python 函数(2)

    这篇主要总结Python函数参数传递。 背景### 函数的参数传递方式常见的有三种:1、传值调用;2、传指针调用;...

  • python函数调用的参数传递

    python的函数参数传递是"引用传递(地址传递)"。 python中赋值语句的过程(x = 1):先申请一段内存...

网友评论

      本文标题:python函数参数传递

      本文链接:https://www.haomeiwen.com/subject/ouupzttx.html