Python在函数中使用*和**接收元组和列表
2017-06-10 21:44
696 查看
当要使函数接收元组或字典形式的参数 的时候,有一种特殊的方法,它分别使用*和**前缀 。这种方法在函数需要获取可变数量的参数 的时候特别有用。
[注意]
[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] 注意普通参数与*和**参数公用的情况,一般将*和**参数放在参数列表最后。
[元组的情形]
#! /usr/bin/<a href="http://lib.csdn.net/base/11" class='replace_word' title="undefined" target='_blank' style='color:#df3434; font-weight:bold;'>Python</a>
# Filename: tuple_function.py
# 2010-7-19 wcdj
def powersum(power, *args):
'''''Return the sum of each argument raised
to specified power.'''
total=0
for i in args:
total+=pow(i,power)
return total
print 'powersum(2, 3, 4)==', powersum(2, 3, 4)
print 'powersum(2, 10)==', powersum(2, 10)
########
# output
########
powersum(2, 3, 4)==25
powersum(2, 10)==100
[字典的情形]
#! /usr/bin/python
# Filename: dict_function.py
# 2010-7-19 wcdj
def findad(username, **args):
'''''find address by dictionary'''
print 'Hello: ', username
for name, address in args.items():
print 'Contact %s at %s' % (name, address)
findad('wcdj', gerry='gerry@byteofpython.info', /
wcdj='wcdj@126.com', yj='yj@gmail.com'
在gvim中的输出结果:
[注意]
[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] 注意普通参数与*和**参数公用的情况,一般将*和**参数放在参数列表最后。
[元组的情形]
#! /usr/bin/<a href="http://lib.csdn.net/base/11" class='replace_word' title="undefined" target='_blank' style='color:#df3434; font-weight:bold;'>Python</a>
# Filename: tuple_function.py
# 2010-7-19 wcdj
def powersum(power, *args):
'''''Return the sum of each argument raised
to specified power.'''
total=0
for i in args:
total+=pow(i,power)
return total
print 'powersum(2, 3, 4)==', powersum(2, 3, 4)
print 'powersum(2, 10)==', powersum(2, 10)
########
# output
########
powersum(2, 3, 4)==25
powersum(2, 10)==100
[字典的情形]
#! /usr/bin/python
# Filename: dict_function.py
# 2010-7-19 wcdj
def findad(username, **args):
'''''find address by dictionary'''
print 'Hello: ', username
for name, address in args.items():
print 'Contact %s at %s' % (name, address)
findad('wcdj', gerry='gerry@byteofpython.info', /
wcdj='wcdj@126.com', yj='yj@gmail.com'
在gvim中的输出结果:
相关文章推荐
- Python在函数中使用*和**接收元组和列表
- Python在函数中使用*和**接收元组和列表
- Python在函数中使用*和**接收元组和列表
- Python在函数中使用*和**接收元组和列表
- Python在函数中使用*和**接收元组和列表
- 笔记--python列表及元组以及关于列表操作的函数使用
- 简明 Python 教程 第15章 更多Python的内容 上一页 在函数中接收元组和列表 注解
- 关于Python在函数中接收元组和列表的理解
- 自己使用python的列表del函数一个思维误区
- Python列表和元组的使用
- Python定义并使用列表和元组操作实例
- Python笔记第2章,文件,字符串,列表,元组,字典,集合的使用
- Python中列表与元组的使用
- python的元组和列表使用之一
- 在函数中接收元组和列表
- python split()函数使用拆分字符串 将字符串转化为列表
- 2.python基础之—列表,元组,字典,集合,字符串的使用方法
- Python中列表和元组的使用方法和区别详解
- Python学习19:其他应用(列表综合、列表或元组作为函数参数、lambda形式)
- python中的列表、元组的使用