• 函数_命名空间和作用域


    #函数进阶----命名空间和作用域

    # a = 1
    # def func():
    # print(a)
    # func() 调用是可以的

    # def func():
    # a = 1
    #
    # func()
    # print(a) 不可以的

    #命名空间和作用域
    # print()
    # input()
    # list
    # tuple
    #命名空间有三种
    # 内置的命名空间--------->python解释器
    #就是python解释器一启动就可以使用的名字存储在内置命名空间中
    #内置的名字在启动解释器的时候被加载到内存里

    # 全局命名空间----------->我们写的代码,但不是函数中的代码
    #是在程序从上到下执行的时候,依次加载到内存的
    #放置了我们设置的所有的变量名和函数名

    # 局部命名空间----------->函数
    #函数内部定义的名字
    #当调用函数的时候,才会产生这样的名称空间,随着函数的执行的结束,这个命名空间就结束了

    #在局部:可以使用全局,可以使用内置命名空间
    #在全局:可以使用内置命名空间,不能使用局部(使用结束了,内存消失)
    #在内置:不能使用全局和局部的,因为没有读到

    # def func():
    # a = 1
    #
    # func()
    # print(a)

    # def input():
    # print("you are lovely")
    #
    # input()

    # def max():
    # print('有啊')


    # print(max([1,2,3]))
    #在正常情况下,我们使用全局的名字
    #我们在全局定义了和内置空间中使用相同的名字,会使用全局的名字
    #当我们自己有的时候,就用自己的.
    # 如果自己没有,就找s上一级要.,上一级没有再找上一级,如果到内置没有的话就报错.(内置--->全局--->局部)
    # 使用的时候(局部---->全部--->内置)

    # def input():
    # print("up")
    #
    # def func():
    # input()
    # func()
    #可以 打印出来是 up

    # def func():
    # print("123")

    # func ----->函数名指向函数地址
    # 函数名()--->函数的调用
    # 函数的内存地址()--->函数的调用
    # print(if(func))
    #
    # def func1():
    # a = 1
    #
    # def func2():
    # print(a)
    # 这个是不对的,没有办法调用,各个局部函数内容是独立的

    #作用域有两种
    #全局作用域-------作用在全局-----内置和全局
    #局部作用域-------作用在局部-----函数

    # a = 1
    # def func():
    #
    # a += 1
    #
    # print(a)

    # 对于不可变数据类型,在局部可以查看全局变量
    # 但是不能修改
    # 但是global可以修改全局变量

    # a = 1
    # def func():
    # global a
    # a += 1
    # print(a)
    # func()
    # print(a)

    # a = 1
    # b = 2
    # def func():
    # x = "aaa"
    # y = "bbb"
    # print(locals())
    #
    #
    # # func()
    # print(globals())

    # 也可以传参和返回值得到相应的结果
  • 相关阅读:
    JavaScript函数中的this四种绑定形式
    jQuery的html()、text()和val()的使用和区别
    iframe-父子-兄弟页面相互传值(jq和js两种方法)
    Spring Boot 嵌入式 Tomcat 文件上传、url 映射虚拟路径
    SpringMVC上传图片
    <iframe>和<frame>标签属性详解
    Mybatis 事物回滚最简单的操作方式
    SpringBoot配置log4j
    springboot整合redis(集群)
    Maven setting.xml简易配置
  • 原文地址:https://www.cnblogs.com/jly1/p/9576322.html
Copyright © 2020-2023  润新知