Python字符串的N种表示方法

原文链接:http://www.juzicode.com/archives/5288

1、使用单引号、双引号、三引号

使用单引号、双引号、三引号包含字符串内容:

#微信公众号:桔子code / juzicode.com
s1 = 'juzicode.com'
print('s1=',s1)
s2 = "juzicode.com"
print('s2=',s2)
s3 = '''juzicode.com'''
print('s3=',s3)

运行结果:

s1= juzicode.com 
s2= juzicode.com 
s3= juzicode.com 

如果要表示包含换行符的字符串,可以在字符串中使用\n换行,或者三引号中直接输入换行符:

#微信公众号:桔子code / juzicode.com
s1 = '微信公众号:桔子code\njuzicode.com'
print('s1=',s1)
s2 = "微信公众号:桔子code\njuzicode.com"
print('s2=',s2)
s3 = '''微信公众号:桔子code\njuzicode.com'''
print('s3=',s3)
s32 = '''微信公众号:桔子code
juzicode.com'''
print('s32=',s32)

运行结果:

s1= 微信公众号:桔子code
juzicode.com
s2= 微信公众号:桔子code
juzicode.com
s3= 微信公众号:桔子code
juzicode.com
s32= 微信公众号:桔子code
juzicode.com

2、带字符“\”的路径

从前面的例子可以看到如果表示换行,需要使用”\n”的方法表示,如果在windows系统中,表示路径时需要使用“\”分隔符,就不能使用单个的“\”,必须使用“\\”进行转义表示单个的“\”。另外可选的方法是在字符串前使用r或者f作为前导,这样就可以用单个“\”表示:

#微信公众号:桔子code / juzicode.com
s1 = 'D:\\juzicode\\com\\'
print('s1=',s1)
s2 = r'D:\juzicode\com'
print('s2=',s2)
s3 = f'D:\juzicode\com'
print('s3=',s3)

运行结果:

s1= D:\juzicode\com\
s2= D:\juzicode\com
s3= D:\juzicode\com

从这里可以看到s1字符串中用的是2个“\”,打印出来时就只有1个”\”。

在上面例子中也可以看到,用r和f做前导时,路径最后的”\”并没有输入,如果输入了会报“SyntaxError: EOL while scanning string literal”异常。

3、在字符串中包含引号

交替使用单引号和双引号或者三引号和双引号,但是不可以交替使用单引号和三引号,因为三引号本身是由单引号组成的,被出现解析歧义:

#微信公众号:桔子code / juzicode.com
s1 = '微信公众号"桔子code"'
print('s1=',s1)
s2 = "微信公众号'桔子code'"
print('s2=',s2) 
s2 = '''微信公众号"桔子code"'''
print('s2=',s2) 
s4 = "微信公众号'''桔子code'''"
print('s4=',s4) 

运行结果:

s1= 微信公众号"桔子code"
s2= 微信公众号'桔子code'
s2= 微信公众号"桔子code"
s4= 微信公众号'''桔子code'''

另外一种方法就是使用转义字符表示双引号或者单引号:

#微信公众号:桔子code / juzicode.com
s1 = '微信公众号\'桔子code\''
print('s1=',s1)
s2 = "微信公众号\"桔子code\""
print('s2=',s2) 

运行结果:

s1= 微信公众号'桔子code' 
s2= 微信公众号"桔子code"

4、格式化字符串

前面的方法都是特定字符串内容,当需要将数值、list、字符串等变量格式化字符串时,可以使用%,f,format等方法进行格式化:

#微信公众号:桔子code / juzicode.com
name = '桔子code'
age = 20
l = [1,2,3,4,5]

s1 = 'name:%s,age:%d'%(name,age) 
print('s1=',s1)
s2 = f'name:{name},age:{age},list:{l}'
print('s2=',s2) 
s3 = 'name:{0},age:{1},list:{2}'.format(name,age,l)
print('s3=',s3) 

运行结果:

s1= name:桔子code,age:20
s2= name:桔子code,age:20,list:[1, 2, 3, 4, 5]
s3= name:桔子code,age:20,list:[1, 2, 3, 4, 5]

原文链接:http://www.juzicode.com/archives/5288

扩展阅读:

  1.  Python基础教程2b–数据类型-string(字符串)
  2.  Python基础教程4–格式化字符串
  3. Python字符串查找子串方法

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注