• 偏函数


     1 # int()函数:可以将字符串转为整型,默认是十进制转换,可以设置进制格式。
     2 print(int("123"))
     3 print(int("1101"))   # 默认int转换时为十进制数
     4 
     5 # 可以使用base设置进制格式,一般常用的进制格式为  2  8  10  16
     6 print(int("1101", base=2))
     7 
     8 # 仿写偏函数的功能
     9 def myInt(num):
    10     return int(num, base=2)
    11 myInt("1101")   # == int("1101", base=2)
    12 print(myInt("1101"))
    13 
    14 # 偏函数:把函数的某些参数固定(默认值),返回一个新的函数,
    15 # 使用偏函数后再调用函数会简单点。
    16 
    17 # 导入functools 模块:import functools
    18 # functools.partial  可以创建偏函数,可以不再使用函数的方式创建
    19 
    20 import functools
    21 
    22 # 语法格式:functools.partial(即将更改的函数, 原函数的各个参数)
    23 # 第一个参数为函数名
    24 # 从第二个参数开始:为即将固定的参数, 从左向右依次给原函数的参数赋值
    25 # 注:如果在偏函数中原函数的参数未全部赋值,后期调用函数时,
    26 # 从没有值的参数开始赋值
    27 
    28 twoBaseInt = functools.partial(int, base=2)
    29 print(twoBaseInt("1100"))
    30 
    31 
    32 def printAB(a,b):
    33     print("a ===", a)
    34     print("b ===", b)
    35 
    36 newAB = functools.partial(printAB)
    37 newAB(1,2)
    38 nextAB = functools.partial(printAB, 100)
    39 nextAB(200)
    40 nextAB1 = functools.partial(printAB, 222, 333)
    41 nextAB1()
    42 
    43 nextAB2 = functools.partial(printAB, b=3000)
    44 nextAB2(2)
    45 
    46 def divTwo(a, b):
    47     return a // b
    48 
    49 print(divTwo(10, 3))   # 10 // 3
    50 print(divTwo(18, 2))   # 18 // 2
    51 newDiv = functools.partial(divTwo, b = 2)
    52 print(newDiv(10))
    53 print(newDiv(21))
  • 相关阅读:
    cocos2d-3.0 Helloworld::onTouchMoved的处理机制的推測
    一个Nodejs的简单计算測试程序
    js正則表達式语法
    奇妙的go语言(网页下载)
    java环境变量配置
    【数据结构与算法】二叉树深度遍历(非递归)
    $.each 和$(selector).each()的差别
    HDU-2844-Coins(多重背包)
    curl命令具体解释
    Arduino 数码管LED屏驱动
  • 原文地址:https://www.cnblogs.com/BKY88888888/p/11266036.html
Copyright © 2020-2023  润新知