Python之道(1)---从Python函数参数类型说起
来源:互联网 发布:淘宝买东西怎么评价 编辑:程序博客网 时间:2024/06/05 18:38
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/函数参数.pyname: dinggender: mangrade: sixage: 8nation: 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/函数参数.pyname: dinggender: mangrade: sixage: 8nation: 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 sumsumplus(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 sumsumplus(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))
输出
2245
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: yygender: malegrade: sixage: 7nation: Chinamore: {'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: yygender: malegrade: sixage: 7nation: Chinamore: {'live_xiaoqu': 'tiananmen', 'live_city': 'Beijing'}name: yygender: malegrade: sixage: 7nation: Chinamore: {'live_xiaoqu': 'tiananmen', 'live_city': 'Beijing'}
Python函数参数排序
当定义的函数同时存在多种参数类型的时候,各种类型的参数要按照一定的顺序进行排列,具体的顺序为:
必选参数》默认参数》可变参数》关键字参数
阅读全文
0 0
- Python之道(1)---从Python函数参数类型说起
- 从python的random函数说起
- Python函数参数类型
- python 函数参数类型
- 【Python 2 C++(一)】从python说起
- 浅析python函数参数类型
- python函数参数类型总结
- python函数—参数类型
- Python之函数-参数
- 从一个Python程序的性能说起
- 从python的列表推导式说起
- python之函数参数传递
- python函数之参数传递
- Python中函数可变参数类型(*args、**kwargs)
- Python函数非匹配参数类型传递
- [python]学习笔记5-函数参数类型
- Python函数参数类型*、**的区别
- python调用c函数参数类型问题
- hadoop以及相关组件介绍以及个人理解
- OpenMV时间操作
- git笔记
- MySQL出现[Err] 1050
- 多个iframe中Ajax请求导致 status canceled 的原因分析
- Python之道(1)---从Python函数参数类型说起
- Winform程序 与网页动态交互
- C++11 学习6.1: Pointers to Functions
- 百度富文本编辑框的使用
- vue-router、vue-loader、vue-cli的作用
- 设计模式—适配器模式
- Scrapy爬虫(三)——简易动态网页爬虫
- Android自定义控件(1)——Quick Start
- Linux技巧:dos转unix文件格式方法