1, 函数接收不定长变量, 函数直接接收方式:
- def f(*v):
- print(v)
- f(10,12,21)
- MacBook-Pro-2:~ yunlei.han$ python3 log.py
- (10, 12, 21)
2, 函数接收不定长变量, 函数间接接收方式:
- def f(*v):
- print(v)
- v = input(">>>:")
- f(v)
- MacBook-Pro-2:~ yunlei.han$ python3 log.py
- >>>:10,12,21
- ('10,12,21',)
3,input 语句接收的数据类型是字符串, 可以通过下面方式处理成列表
- get = input(">>>:")
- element = ""
- _list = []
- for i in get :
- if i.isdigit():
- element = element + i
- else:
- element = int(element)
- _list.append(element)
- element = ""
- print (_list)
- MacBook-Pro-2:~ yunlei.han$ python3 log.py
- >>>:10,12,21,
- [10, 12, 21]
结论:
当 python 函数需要用 input 语句间接接收不定长参数的时候, 可以先把 input 语句接收的字符串处理成列表, 然后让函数接收这个列表, 而不是让函数通过 "*v" 不定长参数方式继续接收 input 语句拿到的字符串.
来源: http://www.bubuko.com/infodetail-3120247.html