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

    函数

    • 定义:具有特定功能的一段代码

    • 优点:

      • 解决代码的重复书写问题

      • 可以将功能的实现者和使用者分开,提高开发效率

      • 增加的代码的可移植性

    • 分类:

      • 库函数:print、input、abs等

      • 自定义:用户自己封装的函数

    • 格式:


      def 函数名([参数列表]):
      函数体

      []表示可选,参数可以没有,也可以有多个。

    • 函数名:

      • 遵循标识符的命名规范(与变量命名相同)

    • 函数调用:

      • 函数定以后不会执行,需要调用才执行

      • 调用:函数名([参数])

    • 示例:


      # 无参无返回值
      def print_hello():
         print('Hello')

      # print_hello()

      # 带参无返回值
      def print_n_hello(n):
      for i in range(n):
          print('Hello')  

      # print_n_hello(5)

      # 带参有返回值
      def add(a, b):
      c = a + b
      # 返回结果
      return c
      print(add(3, 5))
    • 函数参数

      • 形参:形式参数,函数定义处的参数

      • 实参:实际参数,函数调用处的参数

      • 必传参数:也叫位置参数,前面定义的函数中使用的都是必传参数,调用时的形式必须要与定义的一致。

      • 默认参数:就是有默认值的参数,必须放在最后

      • 可变长度参数:函数调用时传递必定义时的参数要多,多出来的参数会保存在args和kwargs中


      def show(a, b='默认值'):
         # a就是必传参数
         print(a)
         # b就是默认参数,就是有默认值的参数,必须放在最后
         print(b)

      # show(1, 2)
      # 关键字参数,传递参数的时候指定了名字,顺序就无所谓了
      # show(b=456, a=123)

      def var_len_args(a, b, name='默认名称', *args, **kwargs):
         print(a)
         print(b)
         print(name)
         # args是一个元组,用来存放所有的多出来的位置参数
         print(args)
         # kwargs是一个字典,用来存放所有的多出来的默认参数
         print(kwargs)

      var_len_args(1, 2, 3, 4, age=18)  
    • *的特殊用法


     def show(a, b):
         print(a, b)

     l = [1, 2]
     # 略显啰嗦
     # show(l[0], l[1])
     # 精简方法
     show(*l)


     def show2(a='aa', b='bb'):
         print(a, b)

     d = {'a':'apple', 'b':'banana'}

     # show2(a=d['a'], b=d['b'])
     # 上面方式的简单书写方法
     show2(**d)
    • 练习:

      • 前面所有的练习,能用函数的就封装成函数

      • 封装函数:生成随机的字符串,参数:长度(默认为4)、类型(默认为0)

      • 试着查找并学习各种数据类型相关的函数

  • 相关阅读:
    C#基于LibUsbDotNet实现USB通信(一)
    Visual Studio 删除空行
    不安全代码只会在使用 /unsafe 编译的情况下出现
    VS2013 中 CString类型转换为LPCSTR类型
    Linux 下各文件夹的含义
    每日算法---Two Sum
    跟我一步一步写出MongoDB Web 可视化工具(二)
    跟我一步一步写出MongoDB Web 可视化工具(一)
    springcloud 微服务之间传递token解决方案
    Git设定不合并的文件
  • 原文地址:https://www.cnblogs.com/kiki5881/p/8541893.html
Copyright © 2011-2022 走看看