python 函数相关概念及使用方法

函数概念:

                        功能模块化

                        具有名称的,实现特定功能的代码集合(可以重复利用)

python定义函数: #不建议超过20行,过于复杂

                        关键字:def                                         #define function

                                     def  max([形参列表]):       #定义一个名叫max的函数,()内可以传多个参

                                                ...

                                                ...                                 #函数体

                                                return                          #返回值(可以不写,等于没有返回值)

       注:python是弱数据类型,参数和返回值类型不做要求


Python调用函数:                 #函数本身不会执行,必须通过调用来执行

             不含参函数调用:

                                max()                                      #调用max函数

                含参函数调用:

                                def max(name,age):                 #定义一个含参函数

                                print(f’我的名字是{name}’)

                                print(f’我的年龄是{age}’)

                                max(‘小王’,’18’)                         #输入参数并调用

        运行结果如下:


函数的分类:

        按有无参数:

                含参函数

                无参函数

        按有无返回值:

                有返回值函数                                 #返回结果,例如做运算、判断等

                无返回值函数                                 #仅输出,如上述max函数


return关键字使用:

                只能出现在函数中,函数执行到return时,会立即结束执行,

                                                                                        并且返回return的结果

        与if搭配用于判断真假:

                        Return False                               #结果为假

                        Return True                                #结果为真


函数内常用注释:

“””                                 #文档注释

...                                   

...

...                                 #这是注释的内容

”””


局部变量(local variable)与全局变量(global variable)

        局部变量:

                        定义在函数内部的变量,在函数外无法使用

        全局变量:

                         定义在脚本内的变量(最外层,与函数同级别),在函数内外都能用

注:在函数内部,全局变量仅可以被访问,不可以被修改(其他语言有的可以改,但不建议)

                如一定要改,则需要先在函数体前声明

                global ‘全局变量’  即可


函数调用的内存分析:

        内存溢出: 

                          内存不够用

        内存泄漏:   

                           垃圾内存没有得到回收

        函数调用从内存角度来看,就是压栈操作(push)

        函数调用结束后,就会出栈/弹栈(pop)

                        #每次调用结束,局部变量就会被释放,否则会出现栈内存溢出(存不下)的情况


函数参数的问题:

        默认值参数:

                        在定义时直接赋值,然后直接调用(默认值参数必须在普通参数后面)

        可变参数:

                        加个*号,就是可变参数(eg:*args)

                        有多个参数时:封装成一个元祖,调用方式与元祖一样

        命名参数:

                        加**,封装成字典,调用方式与字典一样


函数递归(recursion):(做法略)

        自身调用

        终止条件

注:递归效率一般不高

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值