Python学习中的关键点1.2 - 函数
2018-02-12 15:25
281 查看
Python中有很多现成的方法,方法的调用也特别简单
调用来源 -有python内置的、有第三方提供的、有自己定义的。内置的直接就写上方法名,传入参数(abs(-1)求绝对值的);第三方提供的,就先引用第三方包(import math)。然后包名点方法名,传入参数(math.fsum([1,2,3,4])求和,用的是math模块,也可以交math包);自己定义的就自己写def 方法名(参数):,后面写具体实现。(def my_sum(a,b): return a+b);当然需要严谨点做一些异常判断和类型判断什么的。
方法定义 -确定方法名和参数的个数,对参数的类型进行一些校验,return返回结果就执行结束了。没有return默认None;return多个就是tuple数据集了。
参数说明 -python中的参数还是有很多不太一样的。
参数类型-位置参数、默认参数、可变参数、关键字参数、命名关键字参数、参数组合。
位置参数-不喜欢这种名字,就是和其他语言一样的参数,就像我人有name和age一样。def person(name,age):xxxx。唯一要注意的是,这个参数定义了几个就一定要传几个参数进来。少了就报错的
默认参数-这个简单,定义参数的时候给个默认值person(name,age=7):xxx,这个age就变成
默认参数 了,区别是有这个参数,你就可以选择不传这个参数啦。当然你要把age变成10这就
肯定要给新的了。
可变参数-这个参数和别的语言是有点不一样的,这个参数数量是不固定的,需要在名字前面
加个星号(*name),这个name可以看做是list和tuple。你如果有list和tuple放到方法里面用,
也可以用星号把数据集传进去。可以不传参数
关键字参数-和可变参数是一样理解的,不过这个参数可以看做是python中的dict(键值对),
参数名前面加两个星号(**name){key1:'xxx',key2:'ooo'}。可以不传参数
命名关键字参数-上面那种方法,可以传入各种名字的关键字,但是想限制就只有几种关键字,
比如person下有name,age,我另外就只要city和height,我就这么定义def person(name,age
,*,city,height)。限制关键字的名称的用法就是在限制的参数开始前加个星号。后面调用的时候
就只能写person('justin','18',city='SH',height='199cm');这种参数不传就报错。
参数组合-有定义顺序的(必选参数->默认参数->可变参数->命名关键字参数->关键字参数)
特殊点的函数 - 递归函数(自己调用自己)
递归怕不结束啊,不停调用自己,和死循环一样,会导致栈溢出。就像一个人一直没有女朋友。
这些就是函数的内容了
调用来源 -有python内置的、有第三方提供的、有自己定义的。内置的直接就写上方法名,传入参数(abs(-1)求绝对值的);第三方提供的,就先引用第三方包(import math)。然后包名点方法名,传入参数(math.fsum([1,2,3,4])求和,用的是math模块,也可以交math包);自己定义的就自己写def 方法名(参数):,后面写具体实现。(def my_sum(a,b): return a+b);当然需要严谨点做一些异常判断和类型判断什么的。
方法定义 -确定方法名和参数的个数,对参数的类型进行一些校验,return返回结果就执行结束了。没有return默认None;return多个就是tuple数据集了。
参数说明 -python中的参数还是有很多不太一样的。
参数类型-位置参数、默认参数、可变参数、关键字参数、命名关键字参数、参数组合。
位置参数-不喜欢这种名字,就是和其他语言一样的参数,就像我人有name和age一样。def person(name,age):xxxx。唯一要注意的是,这个参数定义了几个就一定要传几个参数进来。少了就报错的
默认参数-这个简单,定义参数的时候给个默认值person(name,age=7):xxx,这个age就变成
默认参数 了,区别是有这个参数,你就可以选择不传这个参数啦。当然你要把age变成10这就
肯定要给新的了。
可变参数-这个参数和别的语言是有点不一样的,这个参数数量是不固定的,需要在名字前面
加个星号(*name),这个name可以看做是list和tuple。你如果有list和tuple放到方法里面用,
也可以用星号把数据集传进去。可以不传参数
关键字参数-和可变参数是一样理解的,不过这个参数可以看做是python中的dict(键值对),
参数名前面加两个星号(**name){key1:'xxx',key2:'ooo'}。可以不传参数
命名关键字参数-上面那种方法,可以传入各种名字的关键字,但是想限制就只有几种关键字,
比如person下有name,age,我另外就只要city和height,我就这么定义def person(name,age
,*,city,height)。限制关键字的名称的用法就是在限制的参数开始前加个星号。后面调用的时候
就只能写person('justin','18',city='SH',height='199cm');这种参数不传就报错。
参数组合-有定义顺序的(必选参数->默认参数->可变参数->命名关键字参数->关键字参数)
特殊点的函数 - 递归函数(自己调用自己)
递归怕不结束啊,不停调用自己,和死循环一样,会导致栈溢出。就像一个人一直没有女朋友。
这些就是函数的内容了
相关文章推荐
- Python学习中的关键点1.3 - python中的一些函数应用
- Python学习20:利用函数来打印文件内容
- python学习之函数
- Python模块学习之os常用函数
- think python学习心得-(4)有返回函数
- python 学习笔记之range函数和list
- python 学习笔记--parse_known_args()函数
- python学习03--函数定义与调用
- python函数学习笔记
- Python学习之函数(全局变量和局部变量)
- 笔记python函数,python学习网址
- Python学习之路5 - 函数
- 王亟亟的Python学习之路(五)-dictionary,set,函数,函数参数
- 我的python学习笔记.用户输入.函数input()的工作原理
- python 函数装饰器学习
- python学习笔记(九)将函数存储在模块中,导入模块
- 【11】Python函数学习(上)
- Python学习笔记 — 函数
- Python学习笔记(12)- 函数(2)
- python学习例程3-函数