day10 函数基础

上节回顾

文件常用操作   

    f.flush立即刷入硬盘

    closed 是否关闭

    encoding 获取编码

    name 文件路径

模式

    文本模式t 是默认的只能处理文本文件,会自动处理编码和解码

    字节模式b 适用于任何文件类型,读取的都是二进制

 

函数基础

01函数概念

为什么用函数:

    面条版的程序存在问题:

    1.代码结构不清晰,可读性差

    2.有很多冗余(多余的重复的)代码

    3.后期的维护性极差,扩展性

    基于上述问题,程序中必须有对应的解决方案就是函数

 

什么是函数:

    函数是实现某一功能的代码的集合体

    相当于生活中的具备某个功能的工具

    要使用工具 必须要先制造工具才可以使用

    同理,在程序中想要使用函数,则必须先定义函数(创建函数)

 

02定义函数

定义函数的语法:

    def 函数的名字(参数1,...参数n):

        '''

        文档注释

        '''

        代码1

        代码2

        代码n

        return 值

    return 参数 注释 都是可选项

    

    def:定义的关键字

    函数的名字:用来查找函数和执行函数,命名与变量的命名规范一样

    文档注释:注释是给程序员看的备注信息,文档注释用户描述函数的具体细节

    代码块:具体实现功能的代码,也称之为函数体

    return:用于返回值给使用者

    

空函数:

    如果不包含任何函数体就称之为空函数,调用空函数是没有任何意义的

    def func():

        pass #略过函数体

    在程序开发初期有用,可以用于定义出程序的结构

 

什么样的代码应该定义成函数:

    这段代码会多次被执行

    这段代码是一个完整的独立的功能

 

    

参数是什么:

    参与运算的数据

    有参函数:当你的函数体执行需要依赖外界的数据才能完成功能,那就应该是有参函数

    无参函数:当你的函数执行不需要依赖外界的数据就能完成功能,那就是无参函数

    

03调用函数

函数的定义调用:

    定义阶段

    1.申请内存空间,将函数的代码存储到内存中

    2.把内存地址和函数名建立绑定关系

    需要强调的是:函数在定义阶段是不会执行函数体代码,但是会检测语法

返回值详解

    调用阶段

    1.通过函数名找到函数的内存地址

    2.加括号触发函数体的执行

    直接调用

    def func()

        print('hello')

    func()

    在表达式中调用

    def max(s,b):

        if a>b:

            return a

        else:

            return b

    print(max(10,20)*100)

    将函数的返回值作为参数

    10,20,30

    print(max(max(10,20),30))

 

04返回值

    return 关键字 用来返回一个值

    在函数定义中是可选的

    什么时候该有返回值:

    函数是工具,是帮你完成某个功能的,一些功能在完成后必须要产生一些结果给调用者

    什么时候不需要返回值:

    在调用这个函数时,不需要返回任何结果给调用者,那就不需要返回值

    return的特殊用法

    1.一次性返回多个值

    def func()

        return 1,2,3,4,'abc',1.1

    给的是元祖

    2.返回空值

    不写任何的retnu 默认返还None,        return后不返回任何值 

    return     None

    3.一个函数中有多个ruturn关键字

    函数执行过程中只要遇到了return 后续代码都不执行 函数立马返回

    我们可以利用这个特点 来结束函数的执行

 

05常见错误演示

函数必须遵循先定义后调用

1.错的

func1()

def func1():

    print('func1 run')

2错的(先定义 后调用)

def func2():

    print('func2 run')

    func3

func2()

def func3():

    print('func3 run')

 

3对的

def func2():

    print('func2 run')

    func3

def func3():

    print('func3 run')

func2()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值