首页 > 其他分享 >96:__call__()方法和可调用对象

96:__call__()方法和可调用对象

时间:2022-11-19 16:25:04浏览次数:54  
标签:__ hourSalary 调用 daySalary call 96 yearSalary

###__call__方法和可调用对象

定义了__call__方法的对象,称为“可调用对象”,即该对象可以像函数一样被调用。

# 测试__call__,可调用对象
class SalaryAccount:
    '''工资计算类'''

    def __call__(self, salary):
        yearSalary = salary * 12
        daySalary = salary // 30
        hourSalary = daySalary // 8

        return dict(monthSalary=salary, yearSalary=yearSalary, daySalary=daySalary, hourSalary=hourSalary)


s = SalaryAccount()

print(s(5000))  # 可以像调用函数一样调用对象的__call__方法

输出结果:

D:\work\python\three\venv\Scripts\python.exe D:\work\python\three\mypy08.py 
{'monthSalary': 5000, 'yearSalary': 60000, 'daySalary': 166, 'hourSalary': 20}

 

标签:__,hourSalary,调用,daySalary,call,96,yearSalary
From: https://www.cnblogs.com/yuanzijian/p/16906315.html

相关文章

  • Android 使用ui控件 【文本显示控件,按钮控件】
    目录注意事项创建控件监控按钮按下修改文本展示控件的内容注意事项1创建控件后一定要设置控件id2控件的修改必须在主线程中创建控件在清单文件中创建控件,我是通过可......
  • [Bug0054] Centos7.x初始化数据库时./mysqld: error while loading shared libraries:
    问题Centos7.x初始化数据库时执行命令行mysqld--initialize--usermysql报错:./mysqld:errorwhileloadingsharedlibraries:libaio.so.1:cannotopensharedobj......
  • 前端010-overfloat
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>overfloat</title></head><bodystyle="width:980px;margin:0auto;"><h3>overflow:......
  • 2022csp普及组真题:解密(decode)
    2022csp普及组真题:解密(decode)题目【题目描述】给定一个正整数 k,有 k 次询问,每次给定三个正整数 ni,ei,di,求两个正整数 pi,qi, 使 ni=pi×qi, ei×......
  • Spring的一些常见面试题
    Spring八股文反射1、谈谈springioc的理解,原理和实现?总:两层意思:控制反转和容器。控制反转:他是一种思想理论,原来的对象是由我们使用者自己来进行控制的,而有了spring之后......
  • 序列数的重复与循环
    问题:如何生成一组重复与循环的序列数,如图所示。 函数公式解决:重复 =INT(ROW(A5)/5)(5为重复次数)循环 =MOD(ROW(A5),5)+1(5为循环值)思路:Row函数是返回参数所在单......
  • ROS应用层通信协议解析
    参考:http://wiki.ros.org/ROS/Master_APIhttp://wiki.ros.org/ROS/ConnectionHeader说明ROS本质上就是一个松耦合的通信框架,通信模式包括:远程调用(service-client)、订阅......
  • 29-30 初识索引 重新设置索引
     -----------------------------------------------------------------------------------------------------------------------------------------------#重新设置索......
  • Tomcat_安装&卸载&启动、启动问题分析
    Tomcat_安装&卸载&启动  Tomcat:web服务器软 1.下载:http://tomcat.apache.org/ 2.安装:解压压缩包即可。 注意:安装目录建议不要有中文和空......
  • 虚拟机Ubuntu环境下的Linux驱动开发环境搭建
    安装Ubuntu版本longtime版本,目前最新是22.04,下边是下载网址https://ubuntu.com/download/desktop具体的安装虚拟机和Ubuntu的教程,下边是参考教程网址https://blog.csd......