1 字符串前加 u
u"我是含有中文字符组成的字符串。"
- 作用:后面字符串以 Unicode 格式进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。
2 字符串前加 r
r"\n\n\n\n” # 表示一个普通生字符串 \n\n\n\n,而不表示换行了
- 作用:去掉反斜杠的转义机制。(特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。 )
- 应用:常用于正则表达式,对应着re模块。
3 字符串前加 b
- response = b'<h1>Hello World!</h1>' # b' ' 表示这是一个 bytes 对象
- 作用:b" "前缀表示:后面字符串是 bytes 类型。
- 用处:网络编程中,服务器和浏览器只认bytes 类型数据。如:send 函数的参数和 recv 函数的返回值都是 bytes 类型
附: 在 Python3 中,bytes 和 str 的互相转换方式是
- str.encode(‘utf-8’)
- bytes.decode(‘utf-8’)
4 字符串前加 f
df_count = spark.sql(
"""
select
count(account_id)
from table_a
where local_dt = '{dt1}'
and dt between '{dt2}' and '{dt3}'
""".format(dt1=DT(local_dt),dt2=DT(local_dt)-1,dt3=DT(local_dt)+1)
).collect()
等价于
purchase = spark.sql(f"""
select
local_dt,
*
from table_b
where local_dt between '{dt1}' and '{dt2}'
and dt between '{dt3}' and '{dt4}'
""")
Reference:https://www.cnblogs.com/liangmingshen/p/9274021.html