zoukankan      html  css  js  c++  java
  • 函数初识

    函数

    函数的格式

    • def fun (): def关键字 函数名后面必须加:fun()表示函数会被执行
    • return 表示函数的返回值,默认为None,一旦出现return,此函数停止,后面的内容不再执行,如果有多个返回值,则会将多个值打包成元组返回。

    函数的参数

    • 形参就是一个变量名,实参就是值 传参就是在赋值

    • 参数原则,位置参数一定在关键字参数之前,并且一一对应。

    • 万能参数 形参 *args 接受任意多个位置参数,**kwargs接受任意多个关键字参数。

      *args 接受的是多个位置参数, 会将接收到的的参数打包成元组,**kwargs 接受的是多个关键字参数,会将参数打包成字典类型。
      位置参数  *args(位置参数)  默认值参数 > **kwargs(默认参数)
      
    • 万能参数 实参 *args传递任意多个位置参数, **kwargs接受任意多个关键字参数。

      *将传递的可迭代对象打散,  **会将接受的字典打散
      

    函数的作用域

    • 全局作用域: 在整个文件的任何位置都可以使用(遵循 从上到下逐⾏执行).

    • 局部作用域: 在函数内部可以使用.

      global  在函数内部修改全局变量,如果全局不存在则会创建
      nonlocal 只修改上一层变量,如果上一层中没有变量就往上找一层,只会找到函数的最外层,不会找到全局进行修改
      a = 100
      def func():   
          global a    # 加了个global表示不在局部创建这个变量了. 而是直接使用全局的a   
          a = 28   
      print(a)
      func()
      print(a)
      ==================================================================
      a = 10
      def func1():   
          a = 20   
          def func2():
              nonlocal a       
              a = 30       
              print(a)  
          func2()   
          print(a)
      func1()
      加了nonlocal
      30
      30
      不加nonlocal
      30
      20
      

    函数的调用

    • 函数名()就是函数的调用,如果没有()只有函数名,就只是函数的内存地址传递,只要在加()就能执行此函数
  • 相关阅读:
    SpringMVC(十六) 处理模型数据之SessionAttributes
    SpringBoot_web开发-【实验】-登陆&拦截器
    SpringBoot_web开发-【实验】-国际化
    SpringBoot_web开发-【实验】-引入资源
    什么是NIO?
    SpringBoot_web开发-扩展与全面接管SpringMVC
    SpringBoot_web开发-webjars&静态资源映射规则
    SpringBoot_web开发-thymeleaf语法
    SpringBoot_web开发-引入thymeleaf
    (实例)Linux 内核添加exfat驱动
  • 原文地址:https://www.cnblogs.com/feiguoguobokeyuan/p/13345436.html
Copyright © 2011-2022 走看看