zoukankan      html  css  js  c++  java
  • 命名空间和作用域

    内置命名空间

      #python解释器一启动就能认识

      #内置名字再启动解释器时候就加载进去了

      例如:input(),print(),len(),,,,,

    全局命名空间

      #是在程序从上到下加载的过程中以此加载到内存的

      #放置了我们所有的函数名和变量名

    局部命名空间

      #函数内部定义的名字

      #当函数被调用的时候,才会产生这个命名空间,随着这个函数的结束,又消失了

    在局部:可以使用内内置和全局命名空间

    在全局:可以使用局部命名空间的名字,但是不能用局部中使用

    在内置:在内置是不能使用局部和全局的名字的,因为解释器的启动并不依赖与局部和全局命名空间

    如果自己有的话,就不找上一级要,如果没有的话就找上一级要,上一级如果没有的话就会报错

    def input():

      print("小王要变强")

    def print():

      print(input())#函数名带括号,指的是函数的调用

      print(input)#如果不带括号的话,输出的是input的内存地址

     作用域

      1.全局作用域-->作用在全局-->内置和名字空间都属于全局作用域

      2.局部作用域-->作用在局部-->函数(局部空间里面的名字属于局部作用域)

           #如果在局部声明了一个局部变量,那么就可以在全局里面使用

      #全局使用了一个变量,在局部不能使用

       a=1

      def func(a):

        a=a+1

        return a

      a=fun(a)#用这种方法增加了隐蔽性,一般在公司上班,避免使用global,就使用这种传参的方式

  • 相关阅读:
    可恶的Desktop_1.ini 规格严格
    BoundChecker 规格严格
    MySQL NetFlow Analysiser 忘记密码(转载) 规格严格
    Oracle 基本查询 规格严格
    NAN 规格严格
    面试题:为什么java不允许 super.super.xxx 这样的语句?
    国人眼中的Scrum
    NetBeans 时事通讯(刊号 # 1 Apr 02, 2008)
    面试题:为什么java不允许 super.super.xxx 这样的语句?
    快来测试你的脑年龄
  • 原文地址:https://www.cnblogs.com/648071634com/p/11649940.html
Copyright © 2011-2022 走看看