在字符串中使用 %% 有什么作用? % 运算符的各种用法总结

一、python中%%有什么用?

哪些特殊字符需要转义?

单引号,双引号。

反斜杠。

空白符。\t、\v、\n等。

略…

C语言中%%表示转义生成字符%,那python语言中需不需要呢?

print('%%')

# 输出结果为%%

print('%d%%' % 100)

# 输出结果为100%

由以上两串代码,可得:当有类似%d、%f、%s等格式转换符时,如果需要在后面添加百分号,就需要在格式转换符后加双百分号%%。

不然就会报错!

print('%d%' % 100)

#Traceback (most recent call last):
#  File "D:\ProgramData\Anaconda3\envs\torch18\lib\code.py", line 90, in runcode
#    exec(code, self.locals)
#  File "<input>", line 1, in <module>
#ValueError: incomplete format

二、%操作符的各种用法小结

  • 求余运算。比如9%3的结果是0。
  • 格式符。比如'我今年已经%d岁啦' % 100。第1个%就是格式转换符,把实际数据用指定格式表示在字符串中。
  • 分隔符。比如'我今年已经%d岁啦' % 100。第2个%就是分隔符,把字符串和实际数据分隔开。
  • 字符串模板占位符。
  • # 字符串模板中使用key
    temp = '教程是:%(name)s, 价格是:%(price).2f, 网址是:%(url)s'
    course = {'name':'Python教程', 'price': 9.9, 'url': 'http://c.biancheng.net/python/'}
    # 使用字典为字符串模板中的key传入值
    print(temp % course)
    course = {'name':'C++教程', 'price':15.6, 'url': 'http://c.biancheng.net/cplus/'}
    # 使用字典为字符串模板中的key传入值
    print(temp % course)  # 这里的%本质也是分隔符
    
    # 运行上面程序,可以看到如下输出结果:
    # 教程是:Python教程, 价格是:9.90, 网址是:http://c.biancheng.net/python/
    # 教程是:C++教程, 价格是:15.60, 网址是:http://c.biancheng.net/cplus/
    
    # 此代码块源于“C语言中文网”

    三、参考来源

    escaping – How can I selectively escape percent (%) in Python strings? – Stack Overflow

    物联沃分享整理
    物联沃-IOTWORD物联网 » 在字符串中使用 %% 有什么作用? % 运算符的各种用法总结

    发表评论