zoukankan      html  css  js  c++  java
  • 函数

     一、函数初级

      函数是一系列代码的集合,用来完成某项特定的功能

    优点

    1. 避免代码的冗余
    2. 让程序代码结构更加清晰
    3. 让代码具有复用性,便于维护

    函数四部分

    1. 函数名:使用该函数的依据
    2. 函数体:完成功能的代码块
    3. 返回值:功能完成的反馈结果
    4. 参数:完成功能需要的条件信息

     

    函数的定义与调用的完整语法

    1、定义
        def 是声明函数的关键字,后面跟着函数名,括号内是函数的参数
            def 函数名(参数1,参数2,参数3,...):
                '''注释'''
                函数体               # 函数体写具体的逻辑代码
                return 返回的值      # retrun后面是函数的返回值,是函数体代码的运行成果
    2、调用
        函数名(参数1,参数2,参数3,...)
    3、注意
        -- 先定义再调用
        -- 函数名存放的是函数地址
        -- ()会触发函数体的执行
        -- 函数执行完毕得到的是函数的返回结果,通常称之为函数的返回值,也称函数值

      

    函数的参数

      实参:外界调用函数传入的参数,拥有实际值

      位置实参:按位置对应传递参数,必须出现在关键字实参之前
      关键字实参:不需要按位置对应传参,用参数名标注为谁传参,必须出现在位置实参之后

      形参:函数定义时,()中定义用来接受实参的值

    参数特性:

    1. 形参是对实参的值拷贝
    2. 先位置实参后关键字实参传参
    3. 位置实参:只能给位置形参传参(位置形参|默认形参|可变长位置形参)
       关键字实参:可以给任意形参传参
    4. 出现顺序:位置形参 > 默认形参 > 可变长位置形参 > 关键字形参 > 可变长关键字形参

    def fn1(a, b, c=10, *args, d, e=20, f, **kwargs):
        pass

     

    示例:

    ls=[1,2,3,4,5]
    num=10
    def fn(arg,n):
        arg[2]=300
        print('',arg[2])
        print('2*',id(n))
        n=100
        print('3',n)
        print('4',id(n))
    
    
    fn(ls,num)
    print('',ls[2])
    print('6*',id(num))
    
    
    # 1×   300
    # 2*   1709010688
    # 3    100
    # 4    709013568
    # 5×   300
    # 6*   1709010688

     

     

     二、函数详解

    1)根据函数体划分

    空函数:用来罗列功能 

    函数体用pass占位,pass代表什么也不做

    def func():             
      pass ​
    
    func():

    非空函数:正常可以完成某项功能

    def func():               
      print('非空函数')     
    
    func():  #调用后执行函数体

     

    2)根据参数列表划分

     无参函数:不需外界资源 

    def start():   
        print('系统启动')

     

    有参函数:需要外键资源 

    def login(usr, pwd):   
       if usr == 'owen' and pwd == '123':         
        print('登录通过')     
    
      else:         
        print('登录失败')

     

    3)根据返回值划分:return是用来结束函数的

    空返回:没有return、空return

    #------------------------1-------------------------- 
    def demo(x, y):     
      print( x + y )     
    
    
    #------------------------2-------------------------- 
    def demo(x, y):   
      print( x + y )     
    
          return

    一值返回 

    def demo(x, y):     
      return x + y

     

    多值返回 :装有多个值的元组

    def demo(x, y):     
      return x + y, x - y, x * y, x / y
  • 相关阅读:
    二分法查找(C语言)
    冒泡排序法(C语言)
    Python 字符串操作方法大全
    guns搭建笔记
    mysql数据库下载及安装
    docker安装
    自动化学习路径及问题汇总目录
    UI自动化使用docker做并行执行
    allure趋势图无数据
    allure报告不显示@Attachment
  • 原文地址:https://www.cnblogs.com/zhouyongv5/p/10620725.html
Copyright © 2011-2022 走看看