zoukankan      html  css  js  c++  java
  • python学习之旅(十五)

    Python基础知识(14):函数(Ⅴ)

    一、装饰器

    decorator:本质上就是函数,可以增强函数的功能。

    定义起来虽然有点复杂,但使用起来非常灵活和方便

    1、不修改被装饰函数的源代码

    2、不修改被装饰函数的调用方式

    3、装饰函数对被装饰函数透明

    import functools
    def log(text):
        def decorator(func):
            @functools.wraps(func)
            def wrapper(*args, **kw):
                print('%s %s():' % (text, func.__name__))
                return func(*args, **kw)
            return wrapper
        return decorator
    
    @log('execute')
    def now():
        print('2015-3-25')
    
    
    结果:    
    now()
    execute now():
    2015-3-25

    二、偏函数

    functools.partial:把一个函数的某些参数给固定住(即设置默认值),返回一个新的函数,调用这个新函数会更简单

    #int函数使用参数base=?,把字符串中的进制数按照对应的进制转成十进制数,默认按照十进制数进行转换
    int("30")
    30
    
    int("1010",base=2)
    10
    
    int("12",base=8)
    10
    
    int("30",base=10)
    30
    
    int("30",base=16)
    48

    使用functools.partial创建一个偏函数用来把二进制数转换成十进制数

    import functools
    int2=functools.partial(int,base=2)
    int2("10")
    2

    当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单

    资料来源:

    廖雪峰官网:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318435599930270c0381a3b44db991cd6d858064ac0000

  • 相关阅读:
    ulimit c unlimited
    2021.9.28 Sqoop
    2021.9.30 利用sqoop将hive数据导出到mysql
    2021.10.2 建造者模式
    111每日博客
    1029每日博客
    112每日博客
    113每日博客
    Panda 交易所视点观察!区块链金融应用迎新规,哪些版块受影响?
    c# 读取word
  • 原文地址:https://www.cnblogs.com/finsomway/p/10019749.html
Copyright © 2011-2022 走看看