栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python代码:参数为一个指定的函数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python代码:参数为一个指定的函数

python代码:参数为一个指定的函数

这段代码很精炼,以后coding时可以效仿着写。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author:
@file:testit.py
@time:2022-03-14 22:31
"""
# 书《Python核心编程(第二版).pdf》,作者:Wesley J. Chun
# 例11.5 测试函数(testit.py)
# testit()用其参数地调用了一个给定的函数,成功的话,返回一个和那函数返回值打包的True的返回值,或者False和失败的原因。

def testit(func, *nkwargs, **kwargs):
    try:
        retval = func(*nkwargs, **kwargs)
        result = (True, retval)
    except Exception as diag:
        result = (False, str(diag))
    return result

def test():
    funcs = (int, float)
    vals = (1234, 12.34, '1234', '12.34')

    for eachFunc in funcs:
        print('_' * 20)
        for eachVal in vals:
            retval = testit(eachFunc, eachVal)
            if retval[0]:
                print('%s = (%s) ' % ((eachFunc.__name__, eachVal), retval[1]))
            else:
                print('%s =  FAILED, %s.' % ((eachFunc.__name__, eachVal), retval[1]))

if __name__ == '__main__':
    test()

输出结果:

____________________
('int', 1234) = (1234) 
('int', 12.34) = (12) 
('int', '1234') = (1234) 
('int', '12.34') =  FAILED, invalid literal for int() with base 10: '12.34'.
____________________
('float', 1234) = (1234.0) 
('float', 12.34) = (12.34) 
('float', '1234') = (1234.0) 
('float', '12.34') = (12.34) 

Process finished with exit code 0
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/770019.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号