zoukankan      html  css  js  c++  java
  • 【python基础】函数

    一、函数的定义和调用

      把具有某一段功能的代码提取出来, 封装成一个代码块, 在需要的时候进行调用

    二、特点

      1、去除重复的代码
      2、当函数功能发生修改时, 只需要修改函数体即可
        (增强程序的拓展性)

    三、函数体

      实现函数功能的代码
      1、函数声明的时候, 不会执行函数体  

      2、函数调用的时候, 才会执行函数体

      3、一个函数体可以被多次执行(一个函数可以被多次调用)

      函数名建议:1、不能与python内置的函数名重名
              2、不要使用拼音,多个英文单词组成的时候,中间以下划线连接

    四、函数的注释: 解释说明程序

      1、功能
      2、参数(函数的使用方法) 函数名(参数)
      3、返回值

      在函数体中,输入三对引号,回车,自动生成函数说明文档格式;

      查看函数的说明文档 函数名.__doc__   

      如果该函数没有说明文档, 函数名.__doc__ 返回一个 None

    1 def get_sum(a, b):
    2 """
    3 求两个数的和
    4 :param a: 一个数
    5 :param b: 另一个数
    6 :return: 两个数的和
    7 """
    8     return a + b
    1 def get_big_num(a, b):
    2     if a > b:
    3         return a
    4     else:
    5         return b
    6 
    7 print(get_big_num.__doc__)  # None

    五、函数的参数

      1、位置参数:postional arguments 默认的参数
         实参的个数与形参相同, 实参与形参一一对应;

      2、默认值参数: default arguments
         定义一个函数的时候,给形参一个默认的值,给默认值参数的形参传值时, 函数会采用实参的值

        注意
          (1)默认值参数的赋值时机: 函数声明的时候就被赋值了;
             程序执行的过程:顺序执行
               函数的声明定义语句(默认值参数的赋值)——> 被执行
               函数体 ——> 不被执行(调用时才执行)
    ·        (2)如果默认值参数的值是一个可变数据类型对象,那么函数多次调用, 操作的是同一个参数对象
            如果不想使用同一个参数变量,可以使用实参进行覆盖

      3、可变参数

       可变长的参数 ,参数的个数是不确定的,用于接收(0-N)个参数

        (1)可变元祖参数: *参数名
          传入的实参 *元组: *具有打散序列的功能, 将元组中的每个元素作为可变参数传入

        (2)可变字典参数:**参数名
          传入实参时: key=value, key=value, 关键字参数形式传入
          传入实参时 **字典: **具有打散字典的功能, 将字典中的键值对以关键字参数的形式传入  

      要求遵守顺序: 位置参数, 可变元组参数, 默认值参数, 可变字典参数

    六、递归函数

      如果一个函数在内部调用自身,这个函数就是递归函数

      使用递归求n的阶乘

    1 def get_factorial(n):
    2     if n == 2:
    3         return 1 * 2
    4     else:
    5         return get_factorial(n-1) * n
    6 
    7 print(get_factorial(5))        
  • 相关阅读:
    Money-去哪了每日站立会议
    Money去哪了- 每日站立会议
    Money-去哪了每日站立会议
    Money去哪了- 每日站立会议
    Money去哪了- 每日站立会议
    Money去哪了 个人计划列表
    软件需求NABCD分析-Money去哪了
    满足小学生在线答题,记录错题及更正错题的四则运算
    11.21 个人总结
    11.20 个人总结
  • 原文地址:https://www.cnblogs.com/Tree0108/p/12109996.html
Copyright © 2011-2022 走看看