python的global是什么意思,python语句中str是什么意思

  

  三元表达式if条件成功值if条件else else成功值#if条件成功结果if条件else成功结果a=20b=10c=5 if ab else 10 print(c)# 5函数的命名空间命名空间一共分为三种:   

  

    全局命名空间   

  

    局部命名空间   

  

    内置命名空间   

  

  python解释器提供的名称存储在*内置命名空间:输入、打印、字符串、列表、元组中.都是我们带的时候可以用的熟悉的方法。   

  

  三种命名空间之间的加载与取值顺序:   

  

  加载顺序:内置命名空间(程序运行前加载)-全局命名空间(程序运行时自上而下加载)-局部命名空间(程序运行时加载)。   

  

  取值顺序:   

  

  本地调用:本地命名空间-全局命名空间-内置命名空间   

  

  x=1 def f(x): print(x)# 10 print(10)被全局调用:全局命名空间-内置命名空间   

  

  DEF FUN (a,b,c) : return max (a,b,c) #使用带有内置命名空间的MAX print(FUN(1,2,3)) DEF MAX (a,b)3360 c=a if Abel b return c print(MAX(1,5)) #使用1   

  

  范围就是作用域,根据有效作用域可以分为全局范围和局部范围。   

  

  包括作用域,在内的全局作用域:可以在整个文件的任何地方引用,全球通用。   

  

  内置命名空间、全局命名空间:本地命名空间,它只能在局部作用域.本地范围内生效   

  

     

  

  print(globals())print(locales())a=20b=50 def haha(): x=1y=2 print(globals())# name ' ' { ' _ _ name _ ' 3360 ' _ _ main _ _ '在全局范围内,' __package__': None,_ _ loader _ _ ' : _ frozen _ import lib _ external。0x7fc551375710处的SourceFileLoader对象,' __spec__': None,__annotations__': {},' __builtins__':模块' builtins '(内置),' __file__': 'xx.py ',' __cached__': None,' a': 20,B' 3360 50,'哈哈' 3360函数haat0x7fc 500x7fc551375710处的SourceFileLoader对象,' __spec__': None,__annotations__': {},' __builtins__':模块' builtins '(内置),' __file__': 'xx.py ',' __cached__': None,' a': 20,B' 3360 50,'哈哈' 3360函数hahaat0x7FC   

  

  命名空间范围是不可分的。   

  

  globals和locals方法   

  

  全局范围:全局命名空间,内置命名空间   

  

  本地范围:本地命名空间   

  

  小的可以大范围用,大的不能小范围用;   

  

  在小范围内,如果要使用当前小范围内可用的变量,使用自己的;如果小区域不存在,就用上一级的;如果不存在,使用上一级的,以此类推。否则,报告一个错误。   

  

  为什么会有范围这个概念?   

  

  为了函数中的变量不会影响整个世界   

相关文章