Python学习中的关键点1.2 - 函数

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');这种参数不传就报错。

                                参数组合-有定义顺序的(必选参数->默认参数->可变参数->命名关键字参数->关键字参数)


特殊点的函数     - 递归函数(自己调用自己)

递归怕不结束啊,不停调用自己,和死循环一样,会导致栈溢出。就像一个人一直没有女朋友。

这些就是函数的内容了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值