zoukankan      html  css  js  c++  java
  • Python——函数入门(一)

    一、理解函数

      举一个例子,当我们需要重复使用一个功能的时候,不可能每次都去复制一次代码,这个时候就需要用到函数了,所谓的函数,简单来说就是给函数取一个名字,当需要用到这个功能的时候,就可以通过这个名字去执行这个函数了。

      通常函数可以接受零或者多个参数,也能返回零个或多个值,对于函数的调用者,不需要了解函数内部的实现细节,只需要给函数传入参数和接受返回值就可以了。

    函数调用如图:

      对于函数的定义者来说,需要注意以下几点:

    • 对于函数内部动态数据,应该被定义为函数的参数
    • 对于函数调用者需要得到的数据,应该被定义为返回值
    • 函数内部实现的过程

    二、函数的定义与调用

    定义函数的语法格式如下:

    def 函数名(形参列表):
        函数的内部实现过程
        [return 返回值]
    • Python必须使用def声明函数。
    • 从语法来说,函数名只要是合法的标识符即可,但从可读性来说,函数名最好是由有意义的单词组成,单词之间用下划线分隔开,每个单词都是小写字母。
    • 形式列表,由多个形参名组成,形参名之间使用英文逗号隔开,只要在定义函数的时候指定了形参列表,调用者就必须为函数传入参数值。

    例:

    # 定义函数
    def max_num(x = 1,y = 2):
        z = x if x > y else y if y > x else (x,y)
        return z
    
    def say_max(name):
      print ('函数执行中.....')
      return '最大值为:%s'%name
    
    # 调用函数
    max_num()
    # x默认值为1,y默认值为2,返回 2
    # 重新对x,y赋值
    max_num(3,2)
    # 返回 3
    
    # 把max_num返回值当做参数传入say_max
    say_max(max_num(5,7))
    # 打印 函数执行中..... 返回 '最大值为:7'
    

    在函数体中,return可以返回表达式,也可以返回一个或多个值,上面max_num()函数可以简写成:

    def max_num(x = 1,y = 2):
        return x if x > y else y if y > x else (x,y)
    

    如果程序中需要返回多个值,我们可以把多个值包装成list之后返回,也可以直接返回多个值,Python会自动的把多个返回值封装成元组tuple,例:

    # 返回多个值
    def send_num(x,y,z):
        print ('函数运行中.....')
        return x,y,z
    
    # 返回列表
    def show_num(a,b,c):
      p = a,b,c
      return list(p)
    
    send_num(1,2,3)
    # 打印 函数运行中..... 返回 (1, 2, 3)
    show_num(1,2,3)
    # 返回 [1, 2, 3]
    

    三、递归函数

    一个函数内调用自己本身,就是递归函数,递归函数包含一种隐式循环,重复去执行某一段代码,但无须循环控制。

    例:

    def sum_num(n):
        if n == 0:
            return 0
        else:
            return n + sum_num(n-1)
    
    sum_num(5)
    # 返回 15  
    

    上面的例子中,函数不断调用自己本身,当sum(0)确定时,就可以推算出sum(1),sum(1)又可以推算出sum(2).........如此类推,最后就可以推算出sum(5),过程如下:

    sum(5) = 5 + sum(4) ----------> 5 + 10 = 15
    sum(4) = 4 + sum(3) ----------> 4 + 6 = 10
    sum(3) = 3 + sum(2) ----------> 3 + 3 = 6
    sum(2) = 2 + sum(1) ----------> 2 + 1 = 3
    sum(1) = 1 + sum(0) ----------> 1 + 0 = 1
    sum(0) = 0 
    

    总的来说,当一个函数体中,调用了函数本身,就是函数递归,注意,递归一定要向已知的方向进行。 

    四、为函数提供文档

    当我们要使用一个函数时,不知道该函数是用来做什么的,我们可以通过Python内置函数help()查看该函数的帮助信息。

    我们可以在定义一个函数时,给函数添加说明文档,只需要把一段字符串放在函数声明之后,函数整体之前,这段字符串将被视为这个函数的一部分,这部分就是函数的说明文档,我们可以通过help()函数的__doc__属性访问函数的说明文档。

    定义一个函数:

    def test(n):
        '''
        这里是说明文档
        '''
        return n
    

    通过help()函数查看test()函数说明文档,例:

    help(test)
    # 运行结果
    Help on function test in module __main__:
    
    test(n)
        这里是说明文档
    

    通过函数的__doc__属性访问函数的说明文档,例:

    print (test.__doc__)
    # 运行结果
    
            这里是说明文档
    

      

  • 相关阅读:
    17岁韩寒在CCTV《对话》舌战群吊的视频
    在线LaTex编辑器
    PowerShell 点滴记录
    程序阅读理解题目(高中语文版,附答案)
    jQuery Validate 应用
    ASP.net MVC 向子视图传递数据
    分库分表(sharding)后主键全局唯一性的解决方案
    Ajax局部刷新例子
    限制 Flash 在指定域名/网址中播放 (Flash 防盗链)
    javascript实现二级联动下拉框
  • 原文地址:https://www.cnblogs.com/mingmingming/p/11072371.html
Copyright © 2011-2022 走看看