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

  字符串转义

  转义符 "\"

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

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

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

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

print("Let\‘s go!")
>>>Let‘s 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 . I‘m 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. I‘m 18.I‘m from[‘china‘].

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

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

  还可以指定变量

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

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

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

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

  f-strings

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

name = ‘xxx‘
age = 18
print(f"my name is {name}, i‘m {age}")
>>> my name is xxx, i‘m 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方法

  

  

原文地址:https://www.cnblogs.com/jidanguanbing/p/11349504.html

时间: 2024-10-20 21:24:49

字符串的转义,格式化,拼接的相关文章

C#格式化字符串中转义大括号“{}”

原文:C#格式化字符串中转义大括号"{}" 今天,用C#写程序操作Excel,读取单元格内容根据所需格式生成字符串,使用String.Format(string format,object arg0)方法.以前只知"{0}"为索引占位符(即格式项),与参数列表中的第一个对象相对应,格式设置过程将每个格式项替换为对应对象的值的文本表示形式.但这次需将参数对象格式成一对大括号括起来的格式,即返回字符串"{对象arg0的文本表示形式}". [cshar

11 12 13 14 py单引号字符串、双引号字符串和转义符 字符串拼接 保持字符串的原汁原味

第11课 单引号字符串.双引号字符串和转义符 # 单引号字符串.双引号字符串和转义符 print('Hello World') print("Hello World") print("Let's go!") print('"OK"') print("'H',\"W\"") -------------------------- 输出结果 Let's go! "OK" 'H',"W

atitit.js的 字符串内容 转义  js处理html

atitit.js的 字符串内容 转义  js处理html 1. js处理html的问题 1 2. js的 字符串内容 转义 1 2.1. 处理流程 1 3. 下面的表格列出了其余的特殊字符,这些特殊字符都可以使用反斜杠来添加到文本字符串中: 2 4. --code 2 1. js处理html的问题 反斜杠问题 引号问题.回车换行造成的语句中断问题.. 2. js的 字符串内容 转义 一个回车 还有一个换行转义 一个引号转义.. 反斜杠转义 2.1. 处理流程 先替换反斜杠.在引号,在回车,在换

php单引号中字符串的转义("\")

我们知道php中的单引号不会对其中的字符串变量进行替换处理,只有双引号才能进行替换处理.那么单引号会对转义处理吗? <?php function dump($str){ echo "<pre>"; print_r($str); echo "</pre>"; } $str = 'aaa\nb'; $str2 = 'aaa\\nb'; $str3 = 'aaa\'b'; dump ($str); dump ($str2); dump ($s

【Oracle】存储过程在字符串单引号&#39;内拼接单引号&#39;

http://blog.csdn.net/u011704894/article/details/44976557 一般变量里面接3个单引号 eg: 'DELETE FROM RDM_SUPP_DATA_CONF  T  WHERE T.SUB_SYS_ID=''' || I_SYS_ID || ''' AND T.FILE_NAME=''' || I_TAB_NAME || ''' AND T.TYPE = ''' || I_DATA_TYPE || ''''; [Oracle]存储过程在字符串

python-raw字符串抑制转义

raw字符串抑制转义 有很多时候我们需要打开文件等,那么就需要输入路径,特别是window的路径,大多使用反斜杠,这个时候就会出现问题 例如: handler=open('c:\nb123.txt','w')   这个时候就出问题了,本来是打开nb123这个文本文件,但是由于前面有个反斜杠,在转义当中是换行,引起歧义 所以,我们需要把路径改成下面的样子: handler=open(<span class="hljs-string"><span class="

js字符串使用占位符拼接小结

js字符串使用占位符拼接,由于项目中经常用到jquery拼接字符串,各种引号很disgusting所以写了一个占位符拼接的的方法 String.prototype.signMix= function() { if(arguments.length === 0) return this; var param = arguments[0], str= this; if(typeof(param) === 'object') { for(var key in param str = str.repla

C语言对字符串进行转义excape操作的代码

把做工程过程比较重要的一些内容片段做个珍藏,下面内容内容是关于C语言对字符串进行转义excape操作的内容,希望对大伙有些帮助. { int i = 0, j; while( i < data_len ){ if( '%' != data[i]){ strncat(buf, data+i, 1); i++; continue; } j = 0; while( NULL != transfer_table[j][1] ){ if( 0 == strncasecmp(data+i+1, transf

Python数据类型之字符串及其转义

字符串 与数字一样,字符串也是值,用单引号或双引号括起来. 'Hello world!' 或 "Hello world!" 字符串的转义 当我想在屏幕上输出 Let's go! 时可以这样写 print("Let's go!")>>> Let's go! 当输出内容有'时  可以用双引号来标识字符串的开始和结尾. 如果想输出在屏幕上的字符串中有双引号时,可以用单引号来标识字符串的开始和结尾. print(' "hello world!&q

30 字符串的基本操作 格式化字符串(%,Template类,format方法*****)

Python视频课程(5)-Python字符串 第一课 字符串的基本操作 # 字符串:基本操作 字符串取单个字母 s1 = "I love python." print(s1[7]) # p print(s1[11]) # o # print(s1[15]) # 超过字符串长度 会报错 # 利用分片截取字符串的子字符串 取一段区间的字符串 print(s1[7:13]) # python print(s1[7:]) # python. print(s1[::2]) # Ilv yhn