首页 > 编程语言 >【Python】将方法传递给函数的参数,并在函数中使用该方法

【Python】将方法传递给函数的参数,并在函数中使用该方法

时间:2022-11-09 16:44:33浏览次数:45  
标签:__ run 函数 Python demo self 方法 sum def

方法

    def sum(x, y):
        return x+y

 

函数

class demo:

    def __init__(self, x, y):
        self.x = x
        self.y = y

    def run(self, func):
        r = func(self.x, self.y)
        logs.debug(r)

 

调用

if __name__ == "__main__":
    demo(10, 20).run(sum)
    demo(1024, 2048).run(sum)
    demo(123.54, 321.28).run(sum)

 

执行结果

 

 

 

 完整实例

# coding:utf-8
from loguru import logger as logs

class demo:

    def __init__(self, x, y):
        self.x = x
        self.y = y

    def run(self, func):
        r = func(self.x, self.y)
        logs.debug(r)

class count:
    @staticmethod
    def sum(x, y):
        return x + y

    @staticmethod
    def sub(x, y):
        return x - y

    @staticmethod
    def mul(x, y):
        return x * y

    @staticmethod
    def division(x, y):
        return x / y


if __name__ == "__main__":
    c = count()
    logs.info(c.sum(10, 20))   # 正常调用
    demo(10, 20).run(c.sum) # 传参
    demo(1024, 2048).run(c.sub)
    demo(10, 100).run(c.mul)
    demo(999, 9).run(c.division)

 

 执行结果

 

标签:__,run,函数,Python,demo,self,方法,sum,def
From: https://www.cnblogs.com/phoenixy/p/16874251.html

相关文章

  • 多种方法实现单例模式 pickle模块
    目录单例模式类方法@classmethod实现元类实现模块实现装饰器实现双下call、反射实现pickle序列化模块单例模式类方法@classmethod实现classC1:__instance=None......
  • 函数式编程
    FunctionalInterface我们把只定义了单方法的接口称之为FunctionalInterface,用注解@FunctionalInterface标记。例如,Callable接口:@FunctionalInterfacepublicinterfaceC......
  • 别的电脑ssh win10 免密登录的方法
    首先要在win10里面把可选功能的opensshserver钩上,然后在win+r输入services.msc打开服务重启opensshserver服务然后使用管理员打开powershell,输入Not......
  • Pythontext_8
    1实例一:创建并打开记录蚂蚁庄园动态的文件2print("\n","="*10,"蚂蚁庄园动态","="*10)3file=open('message.txt','w')#创建或打开保存蚂蚁庄园动态信息......
  • 1.python基础使用
    1.git简介git是一个免费的开源的分布式版本控制系统,可以快速高效的处理从小型到大型项目的所有事务在实际工作中可以保留项目的所有版本,可以快速的实现版本的回滚和修......
  • python实验报告(第十章)
    一、实验目的1.掌握基本的文件操作2.掌握目录操作3.掌握高级文件操作二、实验环境python版本:3.10(64-bit)三、实验内容1.实例一:  实验结果:  2.实例二:  ......
  • Assert断言方法简述
    Assert的可用方法Jdk在1.4的时候,引入了assert关键字,这个assert关键字后面只可以接一个boolean类型,不为true的话,会抛出AssertionError(extendsError)junit扩展了它的方法,使......
  • Python简单函数--获取当前时间
    importtimedefgetTime():'''%y两位数的年份表示(00-99)%Y四位数的年份表示(000-9999)%m月份(01-12)%d月内中的一天(0-31)%H24小时制小时数(0-23)......
  • 大数据开发:Go中的方法
    我们知道Go中没有继承,接口的用法也与Java中的用法大相径庭,很多适合,我们需要使用OO的思想来组织我们达到项目,但是将Java的oo思想在Go中会比较痛苦,Go中的方法和面向对象的类......
  • 2022 年你需要掌握的 7 种关于 JavaScript 的数组方法(下)
    4.Array.forEach()现在这是一个经典。那个 forEach() 方法的工作原理很像常规 for 循环。它在数组上循环并对每个项目执行一个函数。 .forEach() 的第一个参数是......