Python之道(1)---从Python函数参数类型说起
2017-08-02 16:21
316 查看
Python参数分类:
必选参数默认参数
可变参数
关键字参数
1.必选参数
程序示例:def student(name,gender,grade,age=7,nation='China'): print("name: ",name) print("gender: ",gender) print("grade: ",grade) print("age: ",age) print("nation: ",nation) student('ding','man','six',8)
输出结果:
C:\Users\dingz\AppData\Local\Programs\Python\Python35\python.exe D:/Code/Python/Start/TestDemo/函数参数.py name: ding gender: man grade: six age: 8 nation: China
上面示例中三个形参name,gender,grade,属于必须按参数,调用函数时必须进行赋值,不然程序就无法运行。顾名思义,必选参数也就是必须进行赋值的参数。
2.默认参数
程序示例:def student(name,gender,grade,age=7,nation='China'): print("name: ",name) print("gender: ",gender) print("grade: ",grade) print("age: ",age) print("nation: ",nation) student('ding','man','six',8)
输出结果:
C:\Users\dingz\AppData\Local\Programs\Python\Python35\python.exe D:/Code/Python/Start/TestDemo/函数参数.py name: ding gender: man grade: six age: 8 nation: China
上面定义students函数的参数age=7,nation=’China’即为默认参数。顾名思义,默认参数一般会有默认的值,当函数调用不对默认参数进行赋值时,会使用默认的值,当你对它进行赋值,他就会使用所赋的值。如例子中的形参age和nation。形参要按顺序进行输入。
注意:默认参数一定要用不可变对象,如果使用列表等可变元素,运行时可能会有逻辑错误。
3.可变参数
可变参数顾名思义就是传入的参数个数是可以改变的,可以是0个,1个,2个……程序示例:
def sumplus(*num): sum=0 for i in num: sum=sum+i # print(sum) return sum sumplus(1,2,3,4) print(sumplus(1,2,3,4,5,7))
如上,在参数前面加上“*“就表示可变参数,也可以将列表或者元组作为参数传递,不过在列表或者元组名称之前要加上星号.
程序示例:
def sumplus(*num): sum=0 for i in num: sum=sum+i # print(sum) return sum sumplus(1,2,3,4) print(sumplus(1,2,3,4,5,7))
nums=[1,2,3,4,5,6,7,8,9]
print(sumplus(*nums))
输出
22 45
4.关键字参数
关键字参数即带参数名的参数,这些关键字参数在函数内部会组装成一个字典格式的数据。在参数名之前加**,即两个星号。程序示例:
def student(name,gender,grade,age=7,nation='China',**info): print("name: ",name) print("gender: ",gender) print("grade: ",grade) print("age: ",age) print("nation: ",nation) print("more: ",info) student('yy','male','six',live_city='Beijing')
输出:
name: yy gender: male grade: six age: 7 nation: China more: {'live_city': 'Beijing'}
也可以先构建一个字典,再把字典转换成关键字参数传进函数中。
程序示例:
def student(name,gender,grade,age=7,nation='China',**info): print("name: ",name) print("gender: ",gender) print("grade: ",grade) print("age: ",age) print("nation: ",nation) print("more: ",info) info={'live_city':'Beijing','live_xiaoqu':'tiananmen'} student('yy','male','six',live_city=info['live_city'],live_xiaoqu=info['live_xiaoqu']) student('yy','male','six',**info)
结果:
name: yy gender: male grade: six age: 7 nation: China more: {'live_xiaoqu': 'tiananmen', 'live_city': 'Beijing'} name: yy gender: male grade: six age: 7 nation: China more: {'live_xiaoqu': 'tiananmen', 'live_city': 'Beijing'}
Python函数参数排序
当定义的函数同时存在多种参数类型的时候,各种类型的参数要按照一定的顺序进行排列,具体的顺序为:必选参数》默认参数》可变参数》关键字参数
相关文章推荐
- Python函数中参数类型
- Python函数的参数类型以及参数传递是传值还是传址
- Python函数参数类型
- python——内置类型——函数——参数
- Python3学习(一)-基础、数据类型、变量、字符串和编码、list&tuple、if、for、while、dict、set、函数与参数
- python通过装饰器检查函数参数数据类型的方法
- Python函数参数类型*、**的区别
- Python函数_参数的多类型传值
- python函数参数类型总结
- python学习笔记12(函数三): 参数类型、递归、lambda函数
- 浅析python函数参数类型
- Python中函数可变参数类型(*args、**kwargs)
- python 函数的参数的几种类型
- python函数—参数类型
- Python函数小结(1)--参数类型(*, ** 的区别), 闭包
- Python函数参数的五种类型
- Python中函数参数(默认、列表、可变长度、字典类型)
- python-基础笔记3-函数的参数类型
- Python基本语法_函数属性 & 参数类型 & 偏函数的应用
- 「python」函数的参数、返回值、类型与函数嵌套