• python知识点


    python代码的执行不依赖于main函数;
    python代码从没有缩进的代码开始执行。
    区分:主执行文件、被调用文件
    def foo():

      str="function"
      print(str)
    if _name_ =="_main_":
      print("main")
      foo()
    如果这个文件被别的文件当作模块调用时,此时name的值为文件的名字,否则默认值为main。

    1、python没有块级作用域。代码块里的变量外部可以调用。
    2、局部作用域:函数是个单独的作用域,python中没有块级作用域,但是有局部作用域。
    3、作用域链:python中有作用域链,变量会由内到外找,先去自己作用域去找,自己没有再去上级去找,直到找不到报错。
    例:
    name="lzl"
    def f1():
      print(name)
    def f2():
      name="eric"
      return f1
    ret=f2()
    ret()

    #输出:lzl

    分析:f2()执行结果为函数f1的内存地址,即ret=f1;执行ret()等同于执行f1(),执行f1()时与f2()没有任何关系,name="lzl"与f1()在一个作用域链,函数内部没有变量是会向外找,所以此时变量name值为"lzl";

    记住:函数在未执行之前,作用域已经形成,作用域链也已经生成。

  • 相关阅读:
    第二章作业题
    数据类型及内置方法
    流程控制
    Python入门,基本数据类型
    练习题
    Java中的时间日期Date和Calendar
    String的static方法
    Java中基本类型的包装类
    Java中的API
    Java里的参数类型/返回值类型
  • 原文地址:https://www.cnblogs.com/zgang/p/10634882.html
Copyright © 2020-2023  润新知