• python——函数的参数


    函数的参数

     

    一、位置参数

    1.  首先定义一个x2的函数,如:

    >>> def power(x):
    	return x*x
    
    >>> power(2)
    4
    >>> power(3)
    9
    

    对于函数power(),x就是一个位置参数 

    2.  再定义一个求x3,x4,x5,,,,的函数

    >>> def power(x,n):
    	s=1
    	while n>0:
    		n=n-1
    		s=s*x
    	return s
    
    >>> power(2,3)
    8
    >>> power(2,5)
    32
    

    而对于这个power()函数,x和n都是位置参数

    调用函数时,传入的参数需要按照位置顺序依次赋给参数x和n

    二、默认参数

    1.  给位置参数中的某一参数赋值就成了默认参数,如上面的power函数,若只求x5,只需让参数n=5即可

    如:

    >>> def power(x,n=5):
    	s=1
    	while n>0:
    		n=n-1
    		s=s*x
    	return s
    
    >>> power(2)
    32
    

    在这里,调用 power(2),相当于调用了 power(2,5) 

    2.  默认参数必须指向不变对象

    三、可变参数

    1.若要计算 a2+b2+c2+.....,定义一个函数calc()

    调用时,参数numbers接收的是一个tuple,可以传入任意个参数

    >>> def calc(*numbers):
    	sum=0
    	for n in numbers:
    		sum=sum+n*n
    	return sum
    
    >>> calc(1,2,3)
    14
    >>> calc()
    0
    

    2.  若已经有一个list或者tuple,想要调用可变参数,可以这样做:

    >>> nums=[1,2,3]
    >>> calc(nums[0],nums[1],nums[2])
    14
    #上面的调用有些繁琐,下面的更简单
    >>> calc(*nums)
    14
    

    *nums是表示把nums这个list的所有元素作为可变参数传入进去  

    3.  可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple

      

    四、关键字参数

    1.  关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict

    如:

    >>> def person(name,age,**kw):
    	print('name:',name,'age:',age,'other:',kw)
    
    	
    >>> person('Monica',28)
    name: Monica age: 28 other: {}
    >>> person('Rachel',23,sex='woman')
    name: Rachel age: 23 other: {'sex': 'woman'}
    >>> person('Phoebe',24,city='NewYork',job='singer')
    name: Phoebe age: 24 other: {'city': 'NewYork', 'job': 'singer'}
    

    2.  关键词参数具有扩展函数的功能

      

    五、命名关键字参数

    1.  要限制关键字参数的名字,就可以用命名关键字参数

    如:

    >>> def person(name,age,*,sex,job):
    	print(name, age, sex, job)
    
    	
    >>> person('Ross',24,sex='man',job='geologist')
    Ross 24 man geologist
    

    2.  和关键字参数**kw不同,命名关键字参数需要一个特殊分隔符 * ,* 后面的参数被视为命名关键字参数

    3.  如果函数定义的前面已经有了一个可变参数了,后面的命名关键字参数就不用加特殊分隔符了 

    如:

    >>> def person(name,age,*city,sex,job):
    	print(name,age,city,sex,job)
    
    

      

    4.  命名关键字参数必须传入参数名,这和位置参数不同,如果没有传入参数名,调用将报错 

    六、参数组合

    在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

  • 相关阅读:
    Python基础-16生成器-迭代器
    Python基础-15模块-包-库
    Python基础-14异常处理
    Python基础-13面向对象
    Python基础-12解析式
    Python 入门日记(十)—— 文件和异常
    Python 入门日记(九)—— 类
    Python 入门日记(八)—— 函数
    Python 入门日记(七)—— 用户输入和 while 循环
    Python 入门日记(六)—— 字典
  • 原文地址:https://www.cnblogs.com/canneddream/p/14174989.html
Copyright © 2020-2023  润新知