码迷,mamicode.com
首页 > 编程语言 > 详细

python学习手册:第十七章——作用域

时间:2019-11-13 20:40:15      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:报错   code   def   映射   abc   python学习   sum   print   open   

变量名解析legb原则

  • 变量名引用分为三个作用域进行查找:首先是本地,其次是函数内,之后是全局,最后是内置
  • 在默认情况下,变量名赋值会创建或者改变本地变量
  • 全局声明和非本地声明将赋值的变量名映射到模块文件内部的作用域
def a(x,y):
    return x*y*g
g = 2
z=a(2,3)
x=a('abc',3) # g虽然在函数外边,但是由于它是在函数外定义的所以可以使用,另外:如果g在函数调用以后命名则会报错

legb原则可能带来的风险

使用内置作用域函数的时候,可能会被本地重新定义的函数覆盖

f = open(r'F:\a.txt')
l = f.read()
print (l)
def open(s):
    print (s)
open(r'F:\a.txt') 

# 121313
# F:\a.txt

global

global声明的变量可以在函数执行完毕后在外层使用

x = 1
def sum():
    global a
    a = x + 1
sum()
print(a)

python学习手册:第十七章——作用域

标签:报错   code   def   映射   abc   python学习   sum   print   open   

原文地址:https://www.cnblogs.com/yingyingdeyueer/p/11852940.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!