zoukankan      html  css  js  c++  java
  • Python字符串前缀u、r、b、f含义(转)

    1、字符串前加 u

    例子:

    u"字符串中有中文"

    含义:

    前缀u表示该字符串是unicode编码,Python2中用,用在含有中文字符的字符串前,防止因为编码问题,导致中文出现乱码。另外一般要在文件开关标明编码方式采用utf8。Python3中,所有字符串默认都是unicode字符串。

     

    2、字符串前加 r

    例子:

    r"
    	"

    含义:

    在普通字符串中,反斜线是转义符,代表一些特殊的内容,如换行符 。

    前缀r表示该字符串是原始字符串,即不是转义符,只是单纯的一个符号。

    常用于特殊的字符如换行符、正则表达式、文件路径。

    注意不能在原始字符串结尾输入反斜线,否则Python不知道这是一个字符还是换行符(字符串最后用表示换行),会报错:

    SyntaxError: EOL while scanning string literal

     

    那如果是一个文件夹路径就是以结尾怎么办呢,可以再接一个转义的字符串:

    >>>print r'C:Program Filemypath''\'C:Program Filemypath

     

    3、字符串前加 b

    例子:

    b'<h1>Hello World!</h1>'

    含义:

    前缀b表示该字符串是bytes类型。用在Python3中,Python3里默认的str是unicode类。Python2的str本身就是bytes类,所以可不用。
    常用在如网络编程中,服务器和浏览器只认bytes类型数据。如:send 函数的参数和 recv 函数的返回值都是 bytes 类型。
    在 Python3 中,bytes 和 str 的互相转换方式是

    str.encode('utf-8')bytes.decode('utf-8')

     

    4、字符串前加 f

    例子:

    >>> account = '测试工程师小站'>>> month = '30'>>> f'我的微信公众号是:{account},已经连续发文{int(month) * 5}天啦!''我的微信公众号是:测试工程师小站,已经连续发文150天啦!'

    含义:

    Python3.6新加特性,前缀f用来格式化字符串。可以看出f前缀可以更方便的格式化字符串,比format()方法可读性高且使用方便。而且加上f前缀后,支持在大括号内,运行Python表达式。你还可以用fr前缀来表示原生字符串。

  • 相关阅读:
    Day 20 初识面向对象
    Day 16 常用模块
    Day 15 正则表达式 re模块
    D14 模块 导入模块 开发目录规范
    Day 13 迭代器,生成器,内置函数
    Day 12 递归,二分算法,推导式,匿名函数
    Day 11 闭包函数.装饰器
    D10 函数(二) 嵌套,命名空间作用域
    D09 函数(一) 返回值,参数
    Day 07 Day08 字符编码与文件处理
  • 原文地址:https://www.cnblogs.com/annatest/p/14066192.html
Copyright © 2011-2022 走看看