Python字符串常用操作篇(上)

目录

一、字符串的基础认识

1、概念

2、引号的使用

 3、let's go的表示

 4、转义字符

 二、字符串的格式化

1、%格式化字符串

2、str.format()方法格式化字符串

3、f-string格式化字符串

 三、字符串的运算

1、520+1314 和"520”+“1314"—样吗?

2、文本进度条

 四、字符串对象


一、字符串的基础认识

1、概念

字符串是一种用来表示文本的数据类型,它是由符号或者数值组成的一个连续序列

2、引号的使用

Python支持使用单引号、双引号和三引号定义字符串,其中单引号和双引号通常用于定义单行字符串,三引号通常用于定义多行字符串,注意:成对出现

(1)单引号代码例子

str1 = 'hello'
str1
str1 = 'hello \
 hello \
 hello'
str1

 (2)双引号代码例子

str1 = "hello"
str1
str1 = "hello \
 hello \
 hello"
str1

(3)三引号代码例子

str1 = ''''hello
 hello
 hello'''
str1
str1 ="""hello
 hello
 hello"""
str1

 (4)引号嵌套:定义字符串时单引号与双引号可以嵌套使用,

注意:使用双引号表示的字符串中允许嵌套单引号,但不允许包含双引号,同样,使用单引号表示的字符串中不允许包含单引号

①双引号嵌套单引号

str1 = "'hello'"
str1

②单引号嵌套双引号

str1 = '"hello"'
str1

 3、let's go的表示

(1)通过引号嵌套实现

str4 ="let's go"   
str4

(2)反斜杠“\”转义:在字符串中的引号前添加“\”,解释器会将“\”之后的引号视为解释为一个普通字符,而非特殊符号

str4 = 'let\'s go'       #通过反斜杠“\”转义,“\”之后的字符视为普通字符,而非特殊符号
str4

 4、转义字符

(1)转义字符:由“\”和具有特殊意义的字符组成(一些普通字符与反斜杠组合后会失去原有意义,产生新的含义)

(2)转移字符通常用于表示一些无法显示的字符,例如空格、回车等等。

转义字符功能说明
\b退格(Backspace)
\n换行
\v纵向制表符
\t横向制表符
\r回车

(2)字符串 'let\'n learn Python'的表达

str4 = 'let\n learn Python'
str4

(3)字符串D:\Users\User\Desktop\ppt的表达

①方法一

str2 = "D:\\Users\\User\\Desktop\\ppt"
print(str2)

②方法二

str2 = "D:/Users/User/Deskto/ppt"
str2

③方法三

str2 = r"D:\Users\User\Desktop\ppt"
str2

 二、字符串的格式化

1、%格式化字符串

(1)格式:"xxxxxx %s xxxxxx %s" % (value1, value2)

①value1,value2值:被格式化为字符类型

②%s就是格式化符,也是占位符,不论是字符还是数值,都会被格式化为格式化符对应的类型

(2)使用说明

①Python将一个带有格式符的字符串作为模板,使用该格式符为真实值预留位置,并说明真实值应该呈现的格式

name = "李强"
print("你好,我叫%s" % name)

②一个字符串中可以同时包含多个占位符

age = 12
print("你好,我叫%s, 今年我 %d 岁了" % (name,age))

(3)不同的占位符为不同类型的变量预留位置,常见的占位符,如下所示:

 (4)注意:使用占位符%时变量的类型,若变量类型与占位符不匹配程序会产生异常

age = '12'
print("你好,我叫%s, 今年我 %d 岁了" % (name,age))


%虽然强大,但用起来难免有些麻烦,代码也不是特别美观,所以,在python 2.5 之后,提供了更加优雅的str.format()方法🧐


2、str.format()方法格式化字符串

(1)使用format()方法格式化字符串,无需关注变量的类型

 (2)使用说明

①使用名称占位符

s2 = "年龄 {age} 名字 {name}".format(age=18, name="张三")
print(s2)  # xxxx 18 xxxx hangman

②若字符串中包含多个没有指定序号(默认从0开始)的“{}”,则按 “{}”出现的顺序分别用format ()方法中的参数进行替换,否则按照序号对应的format ()方法的参数进行替换

# 使用序号占位符,为空默认从左到右01234.。。
value1 = 123
value2 = 456
s3 = "xxxx {1} xxx{0}".format(value1,value2)
print(s3)  # xxxx [9, 0] xxx(7, 8)
s3 = "xxxx {}".format(value1)
print(s3)  # xxxx [9, 0] xxx(7, 8)
# 也可以混合使用
s4 = "xxxx {} XXX {name} xxx {}".format(value2,value1,name="s4")
print(s4) 

(3)拓展用法

① format()方法中<模板字符串>的槽除了包括参数序号,还可以包括格式控制信息

②槽的内部样式 {<参数序号>: <格式控制标记>}

<格式控制标记>:用来控制参数显示时的格式

包括:<填充><对齐><宽度>,<.精度><类型>6 个字段,这些字段都是可选的,可以组合使用

# 0表示format()方法的参数下标,对应于第一个参数,可不指定,默认从0开始
# .4f表示格式化为实数,保留4位小数
print('{0:10.4f}'.format(10/3))
print('{0:.2%}'.format(1/3))
print('{:.2%}'.format(1/3))

③对齐方式

# 格式化为百分数字符串,总宽度为10,保留2位小数,>表示右对齐 <表示左对齐   ^表示居中对齐
print('{0:>10.2f}'.format(1/3))
print('{0:<10.2}'.format(1/3))
print('{0:^10.2}'.format(1/3))

3、f-string格式化字符串

(1)f-string的介绍:它是2015年python 3.6根据PEP498新添加的一种字符串格式化方法

(2)f-string的用法:它是一个文字字符串,前缀为’f’,其中包含大括号内的表达式,表达式会将大括号中的内容替换为其值

# 字符串前面加字符f,Python 3.6之后的版本支持这种用法
width = 8
height = 6
print(F'Rectangle of {width}*{height}\n Area:{width*height}')
print(f'{width}')
name = '申小兮'
age = 20
gender = '女'
f'我的名字是{name},今年{age}岁了,我的性别是:{gender}。'

 三、字符串的运算

1、520+1314 和"520”+“1314"—样吗?

(1)显然是不一样的,+ 表示字符串的拼接* 表示字符串的重复

(2)代码展示

print(520+1314)
print("520"+"1314")

2、文本进度条

import time
scale = 10
print("----执行开始----")
for i in range(scale+1):
    a = "*" * i      #'*'重复i次
    b = '.' * (scale - i)   #.重复(scale-i)次
    c = i/scale * 100
    print("\r{:3.0f}%[{}{}]".format(c,a,b),end="")   #^指居中对齐,3指输出宽度为3;.0f指保留0位小数e
    time.sleep(0.1)            #循环每执行一次休眠0.1s
print("\n----执行结束----")

 

 四、字符串对象

 1、字符串字符串属于不可变对象,所有方法都是返回处理后的字符串或字节串,均不对原字符串进行任何修改

str1 = "1234"
str1[1]

str1[1] = '3'

 具体的对象方法使用,将在下篇介绍🧐

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五秒法则

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值