python基础之函数进阶

装饰器

s1.pydef outer(func):
    def inner():
        print("before")
        func()
        print("after")
    return inner

@outer
def f1():
    print("F1")

s2.pyimport s1s1.f1()

#输出

before

F1

after

装饰器格式

@+函数

功能

  1 自动执行outer函数并且将下面的函数名f1当作参数传递

  2 将outer函数的返回值,重新赋值给f1

  f1重新赋值成装饰器函数的内存函数

f1等于inner这个函数

装饰器之返回值

def outer(func):
    def inner():
        print("before")
        r = func()
        print("after")
        return r
    return inner

@outer
def f1():
    print("F1")
    return "dada"

import zsq
ret = zsq.f1()
print(‘fanhuizhi‘,ret)

#输出

before
F1
after
fanhuizhi dada

装饰器之参数

def outer(func):
    def inner(a):
        print("before")
        r = func(a)
        print("after")
        return r
    return inner

@outer
def f1(arg):
    print(arg)
    return "dada"

import zsq
ret = zsq.f1(‘aaa‘)
print(‘fanhuizhi‘,ret)

#输出

before
aaa
after
fanhuizhi dada

def outer(func):
    def inner(*args,**kwargs):
        print("before")
        r = func(*args,**kwargs)
        print("after")
        return r
    return inner

@outer
def f1(arg):
    print(arg)
    return "dada"
@outer
def f2(a1,a2):
    print(a1)
    print(a2)

import zsq
ret = zsq.f1(‘aaa‘)
print(‘fanhuizhi‘,ret)
zsq.f2(11,22)

#输出

before
aaa
after
fanhuizhi dada
before
11
22
after

时间: 2024-10-14 22:29:49

python基础之函数进阶的相关文章

python基础_函数进阶

函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数根据 有没有参数 以及 有没有返回值,可以 相互组合,一共有 4 种 组合形式 无参数,无返回值 无参数,有返回值 有参数,无返回值 有参数,有返回值 定义函数时,是否接收参数,或者是否返回结果,是根据 实际的功能需求 来决定的! 如果函数 内部处理的数据不确定,就可以将外界的数据以参数传递到函数内部 如果希望一个函数 执行完成后,向外界汇报执行结果,就可以增加函数的返回值

Python基础九函数进阶(一)

Q:Python运行代码时,遇到函数是怎么做到的? A:从Python解释器开始执行之后,就在内存中开辟一个空间,每当遇到一个变量的时候,就把变量名和值之间的对应关系记录下来,但是当遇到函数定义的时候,解释器只是象征性的将函数名读入内存,表示知道这个函数存在了,至于函数内部的变量跟逻辑,解释器根本不关心. 当执行到函数调用的时候,Python解释器会再开辟一块内存来存储这个函数里面的内容,这个时候,才关注函数里面有哪些变量,而函数中的变量会存储在新开辟出来的内存中,函数中的变量只能在函数内部使用

python基础之函数进阶之函数作为返回值/装饰器

因为装饰器需要用到返回函数的知识,所以在这里将返回函数和装饰器合并讲解. 什么是返回函数? 我们知道,一个函数中return可以返回一个或者多个值,但其实,return不仅可以返回值,还可以返回函数. 实例: def col(*arg): def sum(): res_sum=0 for i in arg: res_sum=res_sum+i return res_sum return sum a=col(1,2,3,4,5) print(a)<function col.<locals>

Python基础九函数进阶(二)

回顾一下 函数名的本质就是函数的内存地址 1可以被引用 2可以当做容器类性的元素 3可以当做函数的参数和返回值 一.闭包 闭包的含义:内部函数引用外部作用域(非全局)的变量  (内部函数指的是函数内部定义的函数) 有与有了作用域的关系,我们就不能拿到函数内部的变量和函数了.如果我们有需求就是想拿到那怎么做呢?返回呀!我们都知道函数内的变量我们想要在函数外不用,可以直接返回这个变量,那么如果我们想在函数外部调用函数内部的函数呢? 是不是直接就把这个函数名字返回就好了呢? 这才是闭包函数最常用的方法

python基础——sorted()函数

python基础——sorted()函数 排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来. Python内置的sorted()函数就可以对list进行排序: >>> sorted([36, 5, -12, 9, -21]) [-21, -12, 5, 9, 36] 此外,sorted()函数也是一个

Python基础07 函数

Python基础07 函数 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 函数最重要的目的是方便我们重复使用相同的一段程序. 将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句. 函数的定义 首先,我们要定义一个函数, 以说明这个函数的功能. def square_sum(a,b): c = a**2 + b**2 return c 这个函数的功能是求两个数的平方和. 首先

python基础——匿名函数及递归函数

python基础--匿名函数及递归函数 1 匿名函数语法 匿名函数lambda x: x * x实际上就是: def f(x): return x * x 关键字lambda表示匿名函数,冒号前面的x表示函数参数. 匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果. 2 匿名函数举例 用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突.此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数: >>> f = lam

python基础教程函数参数

python里有很多的内置函数给我们的工作带来了很多发便利,在我们实现某些功能或者优化代码的时候,可以自己定义一个函数,同时我们在定义一个类的时候也会用到函数的一些知识去构造一个方法,这里就涉及到一些关于函数的基础知识和函数传参的知识. 一.函数的相关介绍 1.函数定义:函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. 函数特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 2.函数的定义示例 定义一个函数要使用def语句,依次写出函数名.括

Python学习笔记(一)python基础与函数

1.python基础 1.1输入与输出 输出 用print加上字符串,就可以打印指定的文字或数字 >>> print 'hello, world' hello, world >>> print 300 300 >>> print 100+200 300 print语句也可以跟上多个字符串,用逗号","隔开,就可以连成一串输出: >>> print 'The quick brown fox', 'jumps over