2.3Python类型之字符串(String)

1.单引号和双引号字符串

Python 语言的单引号和双引号字符串语法上没有区别,所以以下一并讲解。

//单引号字符串字面量表达式的返回值
let s1 = 'hello';
s1;  // "hello"
typeof s1;  // "string"

//双引号字符串字面量表达式的返回值
let s2 = "hello";
s2;  // "hello"
typeof s2;  // "string"

单引号和双引号字符串字面量支持所有转义序列。

单引号和双引号字符串字面量不支持字符串插值。

单引号和双引号字符串字面量支持在每行末尾添加一个转义字符反斜杠 \ 转义隐式的换行符从而跨多行编写一行代码。注意:转义字符反斜杠 \ 以及后面的隐式的换行符不占用字符。

let str1 = 'one\
long\
line';

let str2 = "one\
long\
line";

console.log(str1);
console.log(str2);
//都输出
onelongline
onelongline

单引号和双引号字符串字面量不支持隐式的换行符。

let c = 'first line
second line';

console.log(c);
//报错
Uncaught SyntaxError: "" string literal contains an unescaped line break

2.三引号字符串

三引号字符串的另一个用途,详见文档字符串章节。

# 三个单引号
s = '''hello'''

# 三个双引号
s = """hello"""

模板字面量支持所有转义序列。

模板字面量支持字符串插值。

模板字面量支持在每行末尾添加一个转义字符反斜杠 \ 转义隐式的换行符从而跨多行编写一行代码。

注意:转义字符反斜杠 \ 以及后面的隐式的换行符不占用字符。

let str3 = `one\
long\
line`;

console.log(str3);
//输出
onelongline

模板字面量支持隐式的换行符。注意:此隐式的换行符占用一个字符。

let s = `first line
second line`;

console.log(s);
//输出
first line
second line

3.访问字符串中的字符

可以把字符串当成由字符组成的只读数组,所以可以使用类似数组中变量名后跟方括号 [] 包含索引的方式来访问字符串中索引对应的字符。

访问方式描述
s[i]索引 i 对应的字符
s[i:j]ij 的子串
s[i:j:k]ij 的子串,步长 k
//正数索引从左往右从0开始,负数索引从右往左从-1开始。
//查看
a = s[i]
a = s[i:j]
a = s[i:j:k]

//添加或更改(不支持此语法)
s[i] = 值
s[i:j] = 值
s[i:j:k] = 值

4.字符串长度

无论是单引号和双引号字符串字面量、模板字面量,一个空格占用一个字符。

注意:length 属性是只读的。

//查看长度
sl = len(s)

5.字符串连接

可以使用加号 + 连接字符串。

注意:加号 + 的操作数必须是字符串,否则会报错。

6.转义序列

转义序列描述
\忽略反斜杠与换行符
\\反斜杠(\
\'单引号('
\"双引号("
\a响铃(BEL)
\b退格符(BS)
\f换页符(FF)
\n换行符(LF)
\r回车符(CR)
\t水平制表符(TAB)
\v垂直制表符(VT)
\ooo八进制数 ooo 字符
\xhh十六进制数 hh 字符
\N{name}Unicode 数据库中名为 name 的字符
\uxxxx16 位十六进制数 xxxx 码位的字符
\Uxxxxxxxx32 位十六进制数 xxxxxxxx 码位的字符

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/python/pythonlang/35559.html

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2025年2月2日 21:53
下一篇 2025年2月3日 22:09

相关推荐

发表回复

登录后才能评论