模块调用
模块文件,内一个python源文件都可以是一个模块文件,可以在一个python文件中定义函数或是变量
然后在另一个文件中使用import filename 导入这个模块,导入之后便可以使用 模块名.变量\模块名.函数名的方式使用
局部变量以及全局变量
局部变量就是在函数内部定义的变量,只在函数内部生效
若是在函数里面想要改变全局变量的值,呢么需要使用global关键字 声明以下变量即可
num = 1 #全局变量
def dee_1():
print num
def dee_2():
num = 23#局部变量
print num
dee_1()
dee_2()
引用
a = 1
print 'a的内存地址是:%d'%id(a)
print '1的内存地址是:%d'%id(1)
def deu_1(num):
print '%d的内存地址是:%d'%(num,id(num))
deu_1(a)
#在储存变量时,将其与对应的内存地址相联系
a = 1
print 'a的内存地址是:%d' %id(a)
print '1的内存地址是:%d' %id(1)
def deu_1(num):
print '%d的内存地址是:%d'%(num,id(num))
result = 'hello boy'
return result
ade = deu_1(a)
print '%s内存地址为:%d'%(ade,id(ade))
装饰器
概念:把函数当作一个参数,传递给函数,返回一个加强版的函数
本质是一个返回函数的函数
# def kea(num):
# print 'woman is %d years old'%num
def oiur(kan):
def lean(num):
if num <= 0:
num = 0
kan(num)
return lean
# q = oiur(kea)
# q(9)
@oiur 先定义装饰器,表示对如下函数进行装饰
def kea(num):
print 'woman is %d years old'%num
kea(-9)
def ouet(nam):
def nine(arg):
print '1+1'
result = nam(arg)
print '#@$@#@$@$#@@$'
return result
return nine
@ouet
def ninw(good):
result = 'good'
return result
dwaa = ninw('dwawqewqeq')
print dwaa
如果函数有返回值呢么需要在装饰器中接受返回值并返回该值