字符串的转义,格式化,拼接

Posted jidanguanbing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串的转义,格式化,拼接相关的知识,希望对你有一定的参考价值。

  字符串转义

  转义符 "\"

  转义字符串的意义在于将一些有特殊含义的字符标识为普通字符,在函数解析字符串时看到转义字符,就不再对其做做特殊处理,而是当做普通字符打印。

  当反斜杠"\"位于行尾时,意味着换行。(一般只有在代码过长的情况下使用)

str = hello,       world
print(str)
>>> hello,world

  如果反斜杠"\"所在的位置不是行尾,并且后接特殊字符时,则意味着"\"后面的特殊字符不做特殊处理。

print("Let\‘s go!")
>>>Lets go!

print(\"Hello world!\" she said)
>>>"Hello world!" she said

print("\"Hello world!\" she said")
>>>"Hello world!" she said

  如果要在代码中间进行换行可以使用 \n

str = hello,\nworld
print(str)
>>> hello,
>>> world

  # 转义还有好多写法用于不同的功能  暂略。。。

 


 

  字符串格式化

  使用%格式化:要插入多个变量的话,必须使用元组。

info = "my name is %s . I‘m %s ." % (xxx, 18)
print(info)
>>> my name is xxx . Im 18 .

  如果要格式化的字符串和参数数量不同,则会抛出异常。

  如果参数过多,代码可读性会变得很低。而且python官方文档不推荐使用%格式化字符串。

 

  使用str.format()格式化字符串

  str.format() 是对 %格式化 的改进,它使用普通函数调用语法,并且可以通过 __format__() 方法为对象进行扩展。

  使用str.fromat()时,替换字段用大括号进行标记。

info = "my name is . I‘m .I‘m from." .format(xxx, 18, [china])
print(info)
>>> my name is xxx. Im 18.Im from[china].

  或者可以通过索引来以其他顺序引用变量

info = "I‘m from2. My name is 0. I‘m 1." .format(xxx, 18, [china])
print(info)
>>> Im from[china]. My name is xxx. Im 18.

  还可以指定变量

info = "I‘m fromcountry. My name is name. I‘m age." .format(name=xxx, age=18, country=[china])
print(info)
>>>Im from[china]. My name is xxx. Im 18.

  从字典中读取数据时还可以使用**

info = name: xxx, age: 18
str = "my name is name. i‘m age"
print(str.format(**info))
>>>my name is xxx. im 18

  在处理多个参数和更长的字符串时,可读性依然很差。

 

  f-strings

  f-strings 是指以 f 或 F 开头的字符串,其中以  包含的表达式会进行值替换。

name = xxx
age = 18
print(f"my name is name, i‘m age")
>>> my name is xxx, im 18

  多行f-strings

name = xxx
age = 18
country = china
info = 
    f"my name is name."
    f"i‘m age."
    f"i‘m from country."


print(info)

>>>"my name is xxx.i‘m 18.i‘m from china."

  每行都要加上 f 前缀,否则格式化会不起作用。若字符串中包含括号 ,那么就需要用双括号包裹它。

  可以用反斜杠进行转义字符,但是不能在 f-string 表达式中使用,#也不能出现在表达式中。

print(f"You are very \"handsome\"")
>>>You are very "handsome"

print(f"You are very \"handsome\"")
>>>SyntaxError: f-string expression part cannot include a backslash

 

  字符串拼接

  加号

a = hello
b = world
c = a + b
print(c)
>>> helloworld

  逗号,有坑

a = hello
b = world
c = a, b
print(a, b)
>>> hello world

print(c)
>>> (hello, world)

  c是个元组

 

  还有直连的,格式化,及字符串的join方法

  

 

 

  

以上是关于字符串的转义,格式化,拼接的主要内容,如果未能解决你的问题,请参考以下文章

Java:JSON字符串在Java中已经转义过了,如何再拼接函数呢

容器类型的进阶使用(字符串)

js 拼接字符串和转义字符的使用

python 第13课 字符串 转义字符 字符串拼接 字符串赋值 input()获得键盘输入

python 第13课 字符串 转义字符 字符串拼接 字符串赋值 input()获得键盘输入

Python入门-2编程基本概念:14字符串-转义字符-字符串拼接-字符串复制-input()获得键盘输入