【Python基础011】Python中字符串的具体用法

1、创建

        字符串的创建共有3种方式

        1)单/双引号创建短字符串

s = 'hello world'

s = “hello world”

        2)三个单/双引号创建短字符串

        三个单/双引号一般用于多行文本的注释,如果将这样的字符串用print打印,或者赋给一个变量,会输出一个长字符串,同时这个长字符串还将保留原始的格式。

s = '''hello



              world'''

        3)转化生成

        可以使用str()函数将其他形式的变量转化为字符串

d = 12141252

s = str(d) # '12141252'

2、转义字符

        转义字符通常用于在字符串中指定换行符,制表符或者在字符串中需要出现引号的情景,具体实现为“\ +特殊字符”

转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\b 退格(Backspace)
\t 制表符
\r 回车
\n 换行符
a = 'I\nLove\nPython' # \n 换行符

print(a)

b = "aa\tbb\tcc" # \t 制表符

print(b)

c = 'Let\'s go' # 单引号中同时包含单引号使用'进行转义

print(c)

3、拼接

        连接字符串可以使用(+),也就是字符串的加法运算。还可以将多个字面字符串直接放到一起实现拼接。

a='Hello'

b='World'

c=a+b # 使用加号进行字符串拼接

print(c)

c='Hello''World' # 将多个字面字符串直接放到一起实现拼接

print(c)

4、复制

        Python 中使用*可以实现字符串复制。

a = 'Python'*3

print(a)

5、下标与切片

        所有序列类型都可以进行某些特定的操作,这些操作包括:索引、切片以及检查某个元素是否属于序列的成员。

        1) 下标即索引

        字符串的本质就是字符序列,可以通过在字符串后面添加[],在[]里面指定偏移量,可以提取该位置的单个字符。

        正向搜索:

                最左侧第一个字符,偏移量是0,第二个偏移量是1,以此类推。直到len(str)-1 为止。

        反向搜索:

                最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,以此类推,直到-len(str)为止。

        2)字符串的切片

        字符串的截取是实际应用中经常使用的技术,被截取的部分称为“子串”。Python 可以通过切片获取子串。切片与使用索引来访问单个元素类似,语法格式如下,其中string 表示需要取子串的源字符串变量。   

 string[start:end:step]

        1) start、end、step 三个参数为正数时表示从string 的第start 个索引位置开始到第end 个索引之间截取子串(包括start 不包括end),截取的步长是step。

s='ILOVEPYTHON'

print(s[:]) # start 和end 都省略,截取整个字符串输出结果:ILOVEPYTHON

print(s[2:]) # end 省略,从start 开始到结束输出结果:OVEPYTHON

print(s[:2]) # start 省略从0 开始到end-1 输出结果:IL

print(s[2:4]) # 从start 开始到end-1 输出结果:OV

print(s[1:5:2]) # 从start 提取到end-1,步长是step 输出结果:LV

        2) start、end、step 三个参数为负数时表示从string 的倒数第start 个索引位置开始到倒数第end 个索引之间截取子串(包括start 不包括end),截取的步长是step,最后一个元素的索引为-1。

s='ILOVEPYTHON'

print(s[-3:]) # 从倒数第三个开始到结束输出结果HON

print(s[-8:-3]) # 从倒数第八个开始到倒数第四个输出结果VEPYT

print(s[::-1]) # 步长为-1,从右向左截取输出NOHTYPEVOLI

6、格式化

        1)format 基本用法

        Python2.6 开始,新增了一种格式化字符串的函数str.format(),它增强了字符串格式化的功能。字符串格式化参数并不是用百分号(%)表示,而是用一对大括号({}),而且支持按顺序指定格式化参数关键字格式化参数

        a.顺序指定格式化参数

       

 print(“{0} {1} {2}”.format(11,22,33)) # 运行结果:11 22 33

print(“{1} {0} {2}”.format(11,22,33)) # 运行结果:22 11 33

        上面的代码在字符串中指定了三对空的大括号,这代表三个格式化参数,不需要指定数据类型,可以向其传递Python 语言支持的任何值。通过format 方法传入三个值(11,22,33),这三个值会按顺序替换格式化字符串中的三对空的大括号。

        b.关键字格式化参数

        命名格式化参数是指在一对大括号中指定一个名称,然后调用format 方法时也要指定这个名称。

print(“{a} {b} {c}”.format(a=1,b=2,c=3)) # 运行结果是:1 2 3

        上面的代码在三对大括号中分别添加了“a”“b”“c”。通过format 方法指定了这三个关键字参数的值。可以看到,并没有按顺序指定关键字参数的值。这也是使用关键字参数的好处。只要名字正确,format 参数的顺序可以任意指定。当然顺序方式和关键字参数方式可以混合使用,而且还可以指定顺序方式中格式化参数从format 方法提取参数值的顺序,甚至可以取format 方法参数值的一部分。

s="我叫{0},今年{1}岁"

print(s.format('张三',23,13000))

c = "我的名字是{name},年龄是{age}"

print(c.format(age=19,name='李四'))

        2)format 填充对齐

        format 方法还可以控制值的左、中、右对齐, “^”、“<”、“>”分别是居中、左对齐、右对齐,后面带宽度。

        语法:        

‘{:X<>^x}.format('xx')’

        X为填充的字符,只能是一个字符,不指定的话默认是用空格填充。

print("{:*>8}".format("245"))

print("{:#^20}".format("Python"))

        3) 数字格式化

        format 方法还支持很多其他的控制符,例如,可以将整数按浮点数输出。

数字 格式 输出 描述
1.23456789 {:.3f} 1.234 保留小数点后三位
-1.23456789 {:-.3f} -1.234 带符号保留小数点后三位
1.23456789 {:.0f} 1 不带小数
6 {:0>5f} 00006 数字补零,填充左边,总宽度为5
6 {:a<3f} 6aa 数字补a,填充右边,总宽度为3
1000000 {:,} 1,000,000 以逗号分隔的数字格式
0.23 {:.2%} 23.00% 百分比格式
1000000 {:.2e} 1.00E+06 科学计数法
16 {:5d}    16 右对齐,宽度5
16 {:<5d} 16 左对齐,宽度5
16 {:^5d}   16   居中对齐,宽度5
a = "我是{0},我身高{1:.2f}"

print(a.format("张三",1.734))

相关推荐

  1. Pythonpythonisinstance

    2023-12-30 12:30:03       33 阅读
  2. PythonPython@wraps

    2023-12-30 12:30:03       34 阅读
  3. Python——字符替换字符串字符

    2023-12-30 12:30:03       37 阅读
  4. Python常见

    2023-12-30 12:30:03       65 阅读
  5. pythonprint函数

    2023-12-30 12:30:03       55 阅读
  6. pythonyield

    2023-12-30 12:30:03       62 阅读
  7. pythonsplit函数

    2023-12-30 12:30:03       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-30 12:30:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-30 12:30:03       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-30 12:30:03       82 阅读
  4. Python语言-面向对象

    2023-12-30 12:30:03       91 阅读

热门阅读

  1. Linux cp 命令

    2023-12-30 12:30:03       50 阅读
  2. 单片机MCU堆栈概念与区别

    2023-12-30 12:30:03       50 阅读
  3. oracle-检查点队列

    2023-12-30 12:30:03       52 阅读
  4. TeeInputStream

    2023-12-30 12:30:03       56 阅读
  5. 704.二分查找

    2023-12-30 12:30:03       61 阅读
  6. react中package.json中版本号的规则

    2023-12-30 12:30:03       58 阅读