python学习笔记——变量作用域

#!/user/bin/env python
# coding:utf-8
'''
Created on 2018/2/28

@author: yl
'''
print 'python变量作用域'

#复刻一个经典java面试题
number = 199
sum = 0

#sum在方法内是局部变量,修改不会影响外部的sum,这是对基本类型而言
def plus(i):
    sum = number+i
    print 'function result:'+str(sum)

plus(1)
print sum

#对于复合类型引用则是修改同一个对象
names = ['张三','李四','王五','赵六','田七']
def rename(name):
    names[0] = name  
    
rename('小三')
print names[0]

#使用global在方法内定义或覆盖全局变量
result = 0
def sub(i):
    global result
    result = 100-i
    
sub(1)
print result

#方法引用
def functionA():
    def functionB():#相当于内联方法或闭包
        print 'this is functionB'
    return functionB

print functionA() #输出functionB对象,而非执行
print 'execute'
functionA()() #执行function的内联方法


输出:

python变量作用域
function result:200
0
小三
99
<function functionB at 0x000000000544A0B8>
execute
this is functionB

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值