• python全栈day9


    01 函数的初识

    1.函数是什么?

      具备某一项功能的工具即函数。而想要使用函数,那么需要首先对它进行定义。


    2.函数怎么定义?

    def 函数名(参数1,参数2,参数3,...):
        '''注释'''
        函数体
        return 返回的值
    #函数名要能反映其意义

    3.函数的优点?
      1)减少代码重复率;
      2)增强代码的阅读性。

    4.函数的使用原则:先定义再调用

      定义函数名的规则和定义变量的规则是一样的,都是必须由字母数字下划线组合,不能以数字开头,不能是python中的关键字,也不能和内置函数同名。在使用过程中要区分函数的定义阶段和调用阶段。

    #定义阶段
    def func():
        print('Hello world!')
    
    #调用阶段
    func() 

      注意:1.函数在定义过程中只检查语法错误,逻辑错误不会检测,在pycharm等软件中逻辑错误不会标红。

         2.函数的执行者:函数名()

    02 函数返回值return

    1.作用
      1)在函数体中如果遇到return直接结束函数。
      2)给函数的执行者返回值。


    2.在函数中返回值分情况讨论:
      1.函数中只使用return
        返回值为None

    def func(a,b):
        print(a,b)
        return 
    
    print(func(1,2))
    #返回值为None

      

      2.使用return 单个值
        返回值为原封不动的单个值,数据类型不会改变。

    def func(a,b):
        c = a + b
        return c
    
    s = func(1,2)
    print(s,type(s))
    #返回值为1+2的结果3,类型为<class 'int'>


      3.使用return返回多个值。
        返回值为一个元组,由多个值组成的一个元组。

    def func(a,b):
        c = a + b
        return a,b,c
    
    s = func(1,2)
    print(s,type(s))
    #返回值为(1,2,3),类型为<class 'tuple'>

      

      注意:工作中,定义函数尽量不要出现print

    03 函数参数
    1.实参
      1)位置参数
        原则:按照顺序,一一对应

    def func(a,b):    
        c = a + b
        return a,b,c
    
    print(func(1,2))        #1,2和函数中的a,b  按照顺序,一一对应

      

      2)关键字参数
        原则:可以不按照顺序,但是必须一一对应。

    def func(a,b):
        c = a + b
        return a,b,c
    
    print(func(b = 2,a = 1))
    #按照key = value形式定义实参,顺序可以不和形参顺序相同,但是必须一一对应

      

      3)混合传参:
        原则:关键字参数一定要在位置参数后面

    def fun1(a,b,c,d,e):
        c = [1,2,3]
        d = {'name':'alex'}
        e = ('taibai','wusir')
        return a + b
    
    print(fun1(1,10,c = 3,d = [1,2,3],e = {'name':'alex'}))

      

    2.形参
      1)位置参数
        原则:按照顺序,一一对应
      2)默认参数
        原则:给其传值,将原默认参数覆盖掉,不传值,不报错,使用默认值。
        应用场景:不经常改变的参数,但是一直在用。

    def msg(name,sex = 'man'):      #当文件录入时,信息中的sex多为‘man’时可以将其定为默认参数
        with open('msg','a',encoding='utf-8') as f:
            f.write('{}    {}
    '.format(name,sex))


      3)陷阱:默认参数为可变数据类型(面试必考)
        可变的数据类型的默认参数,它始终使用的是一个,id值永远相同。

    def func1(x,l1 = [])
      l1.append(x)
      return l1
    print(func1(1)) #这时返回[1] print(func1(100)) #这时返回[1,100],在此证明l1[]这个列表的是一个,id值相同

      

  • 相关阅读:
    文件或目录损坏且无法读取的解决办法
    MP3/视频播放
    系统备份
    网线水晶头接法
    网站模板
    EasyNVR将如何能够把内网各种各样的监控摄像机对接到公网云平台
    EasyNVR将如何能够把内网各种各样的监控摄像机对接到公网云平台
    EasyPusher手机直播推送是如何实现后台直播推送的
    EasyPusher手机直播推送是如何实现后台直播推送的
    EasyDarwin开源流媒体服务器支持basic基本认证和digest摘要认证解析
  • 原文地址:https://www.cnblogs.com/abner28/p/9482142.html
Copyright © 2020-2023  润新知