python_3

模块调用
模块文件,内一个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

如果函数有返回值呢么需要在装饰器中接受返回值并返回该值

猜你喜欢

转载自blog.csdn.net/ff12123/article/details/81102033