码迷,mamicode.com
首页 > 编程语言 > 详细

Python-TypeError: not all arguments converted during string formatting

时间:2018-05-19 23:50:13      阅读:412      评论:0      收藏:0      [点我收藏+]

标签:ret   error   family   else   oat   使用   for   报错   pre   

Where?

  运行Python程序,报错出现在这一行 return "Unknow Object of %s" % value

 

Why?

   %s 表示把 value变量装换为字符串,然而value值是Python元组,Python中元组不能直接通过%s 和 % 对其格式化,则报错

 

Way?

  使用 format 或 format_map 代替 % 进行格式化字符串

 

出错代码

def use_type(value):
    if type(value) == int:
        return "int"
    elif type(value) == float:
        return "float"
    else:
        return "Unknow Object of %s" % value

if __name__ == ‘__main__‘:
    print(use_type(10))
    # 传递了元组参数
    print(use_type((1, 3)))

 

改正代码

def use_type(value):
    if type(value) == int:
        return "int"
    elif type(value) == float:
        return "float"
    else:
        # format 方式
        return "Unknow Object of {value}".format(value=value)
        # format_map方式
        # return "Unknow Object of {value}".format_map({
        #     "value": value
        # })


if __name__ == ‘__main__‘:
    print(use_type(10))
    # 传递 元组参数
    print(use_type((1, 3)))

  

 

Python-TypeError: not all arguments converted during string formatting

标签:ret   error   family   else   oat   使用   for   报错   pre   

原文地址:https://www.cnblogs.com/2bjiujiu/p/9062115.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!