Python中字符串常用方法

用转义序列代表特殊字符

字符串字面值中用字符反斜杠() 后跟一个或一些字符代表特殊的一个字符

转义格式含义
\’单引号(’)
\"双引号(")
\\一个反斜杠()
\n换行符
\r返回光标至行首(回车符)
\f换页
\t水平制表符
\v垂直制表符
\b倒退
\a响铃
\0空字符(字符值为零)
\0oooo为两位八进制表示的字符
\xXXXX为两位十六进制表示的字符
\uXXXXXXXX为四位十六进制表示的UNICODE16字符
\UXXXXXXXXXXXXXXXX为八位十六进制表示的

ASCII编码表

Linux 查看方式:

  $ man ascii 

常用ASCII编码:

字符十进制十六进制
‘0’480x30
‘A’650x41
‘a’970x61

python3中字符串默认存储的是UNICODE编码值

0x0000 ~ (从0 开始)

raw 字符串(原始字符串)

格式:

r’字符串内容’
r"字符串内容"
r’’‘字符串内容’’’
r""“字符串内容”""
作用:
让转义符号 \ 无效

示例:
用字符串形成一个Windows下的路径:

      C:\newfile\test.py
    path = 'C:\newfile\test.py'
    print(path)
    path = r'C:\newfile\test.py'
    print(path)  # 打印: C:\newfile\test.py

字符串的运算

运算符:

  • += * *=

+ 加号运算符用于拼接字符串

  x = "abcd"
  y = '1234'
  z = x + y  # 拼接
  print(z)
  a = y + x
  print(a)

+= 运算符 用原字符串与右侧的字符串拼接生成新的字符串, 再用原变量绑定新的字符串

如:

  x = 'abcd'
  x += '123'
  print(x)  # abcd123

* 运算符 生成重复的字符串

  x = "ABCD" * 3
  print(x)  # ABCDABCDABCD
  y = 3 * "123" 
  print(y)  # 123123123: 字符串只能和整数相乘

*= 运算符 生成重复的字符串,再用变量重新绑定

  x = '123'
  x *= 3   # 等同于 x = x * 3
  print(x)  # 123123123

字符串的比较运算

运算符:
< <= > >= == !=

规则:
依次按编码值进行两两比较,一旦不同,则比较结束,返回比
较结果,当编码值和长度完全相同时,两个字符串相等

示例:

  'A' < 'B'       # True
  'ABC' > 'ABB'   # True
  'ADC' < 'ABC'   # False
  'ABC' >= '123'  # True
  'AD' >= 'ABC'   # True
  'AB' < 'ABC'    # True
  'ABC' < 'abc'   # True
  'abcd' != 'dcba' # True

in / not in 运算符

作用:
in 用于序列,字典,集合中,用于判断某个值是否存在于容器
中,如果存在则返回True,否则返回False
not in 写in 的返回结果相反
格式:
对象 in 序列

示例:

  x = 'welcome to tarena!'
  'to' in x  # True
  'hello' in x  # False
  'a' in x  # True

字符串的索引操作

索引 index
python 字符串是不可以改变的序列

语法:

字符串[整数表达式]

说明:
python 序列都可以用索引(index) 访问序列中的元素
python 序列的正向索引是从0开始的,第二个索引为1,最后一个索引为len(s)-1
python 序列的反向索引是从-1开始的,-1代表倒数第一个,-2 代表倒数第二个,以此类推, 第一个是-len(s)

示例:

  s = 'ABCDE'
  print(s[1])  # B
  print(s[-1])  # E
切片 slice
作用:
从字符串序列中取出相应的元素重新组成一个字符串序列

语法:

s[(开始索引b):(结束索引e)(:(步长s))]

注: () 代表其中的内容可省略
说明:
开始索引是切片开始切下的位置,0代表第一个元素,与索引相同结束索引是切片的终止索引(不包含终止点)步长是切片每次获取完当前元素后移动的方向和偏移量
  1. 没有步长,相当于步长为1(默认值:1)
  1. 当步长为正整数时,取正向切片:开始索引默认为0,结束索引是最后一个元素的下一个位置
  1. 当步长为负整数时,取反向切片:反向切片时,默认的起始位置为最后一个元素,终止位置为第一个元素的前一个位置
    示例:
  s = "ABCDE"
  a = s[1:4]    # 'BCD'
  a = s[1:]     # 'BCDE' 等同于 a = s[1:5]
  a = s[:4]     # 'ABCD' 等同于 a = s[0:4]
  a = s[:2]     # 'AB'
  a = s[1:1]    # ''  空字符串
  a = s[3:0]    # '' 空字符串
  a = s[0:5:2]  # 'ACE'
  a = s[::2]    # 'ACE
  a = s[4:1:-2]  # 'EC'
  a = s[:1:-2]  # 'EC'
  a = s[::-2]   # 'ECA'
  a = s[::-1]   # 'EDCBA'

``

运算符的优先级表

运算符描述
(), [], {key: value}, {}元组表达式、列表表达式、字典表达式、集合表达式
x[index], x[index:index],x(arguments…), x.attribute索引,切片,函数调用,属性引用
**指数 (最高优先级)
~, +, -按位翻转, 正号,负号
*, /, %, //乘,除,取模和地板除
+, -加法, 减法
>>, <<右移, 左移运算符
&位与(AND)
^位异或(XOR)
|位或(OR)
<=, <, >, >=, ==, !=,is, is not, in, not in比较,身份测试,成员资格测试
not布尔非
and布尔与
or布尔或
if - else条件表达式
lambdalambda表达式

字符串序列相关的函数:

len(x) 返回序列的长度

max(x) 返回序列中最大值元素

min(x) 返回序列的最小值元素

字符串编码转换函数:

ord© 返回一个字符c的Unicode 编码值

chr(i) 返回i这个值对应的字符

整数转为字符串的函数

bin(i) 将整数转为二进制的字符串

oct(i) 将整数转为八进制的字符串

hex(i) 将整数转为十六进制的字符串

字符串的构造函数 str

str(obj=’’) 将对象转为字符串

python3 中常用的字符串方法:
方法调用语句:

对象.方法名(方法传参)

示例:

   'abc'.isalpha()  # 正确
   123.isalpha()    # 报错

字符串的常用方法

如下假设字符串变量名为S

常用字符串方法

方法说明
S.isdigit()判断字符串中的字符是否全为数字
S.isalpha()判断字符串是否全为英文字母
S.islower()判断字符串所有字符是否全为小写英文字母
S.isupper()判断字符串所有字符是否全为大写英文字母
S.isspace()判断字符串是否全为空白字符
S.center(width[,fill])将原字符串居中,左右默认填充空格
S.count(sub[, start[,end]])获取一个字符串中子串的个数
S.find(sub[, start[,end]])获取字符串中子串sub的索引,失败返回-1
S.strip([chars])返回去掉左右char字符的字符串(默认char为空白字符)
S.lstrip([chars])返回去掉左侧char字符的字符串(默认char为空白字符)
S.rstrip([chars])返回去掉右侧char字符的字符串(默认char为空白字符)
S.upper()生成将英文转换为大写的字符串
S.lower()生成将英文转换为小写的字符串
S.replace(old, new[, count])将原字符串的old用new代替,生成一个新的字符串
S.startswith(prefix[, start[, end]])返回S是否是以prefix开头,如果以prefix开头返回True,否则返回False,
S.endswith(suffix[, start[, end]])返回S是否是以suffix结尾,如果以suffix结尾返回True,否则返回False
以下是不常用的
S.title()生成每个英文单词的首字母大写字符串
S.isnumeric()判断字符串是否全为数字字符
‘S{0}’.format(s0)字符串填充,{0}:表示填充format中的第s0个元素
空白字符是指空格,水平制表符(\t),换行符(\n)等不可见的字符

字符串的格式化表达式

作用:
生成一定格式的字符串

运算符 %
语法格式:
格式化字符串 % 参数值
格式化字符串 % (参数值1, 参数值2, …)

示例:

  >>>  fmt = "name: %s, age:%d"
  >>>  n = 'tarena'
  >>>  a = 15
  >>>  result = fmt % (n, a)  # result='name: tarena, age:15'
  >>>  s2 = '成绩: %d'  % 100
  >>>  s3="name: {0}, age:{1}".format(tarena,15)
  >>>  s3
  >>>  name: tarena, age: 15

格式化字符串中的占位符和类型码
占位符和类型码 意义
%s 字符串,使用str(x) 函数转换
%r 字符串, 使用repr(x) 函数转换
%c 整数转为单个字符
%d 十进制整数
%o 八进制整数
%x 十六进制整数(字符a-f小写)
%X 十六进制整数(字符A-F大写)
%e 指数型浮点数 (e小写),如:2.9e+10
%E 指数型浮点数 (E大写),如:2.9E+10
%f,%F 浮点十进制形式
%g,%G 十进制形式浮点或指数浮点自动转换
%% 等同于一个%字符

占位符和类型码之间的格式化语法:

% [- + 0 宽度.精度] 类型码
说明:
  • - : 表示左对齐(默认为右对齐)
  • + : 表示显示正号
  • 0 : 表示左侧空白位置补零
  • 宽度 整数,整个数据输出的宽度(占用的字符数)
  • 精度 整数,保留小数占后多少位(默认为6位)

示例:

  "%d" % 123        # '123'
  "%10d" % 123      # '       123'
  "%-10d" % 123     # '123       '
  "%10s" % "ABC"    # '       ABC'
  "%010d" % 123     # '0000000123'
  "%+010d" % 123    # '+000000123'
  pi = 3.1415926535897932
  "%f" % pi         # '3.141593'
  "%.10f" % pi      # '3.1415926536'
  "%7.2f" % pi      # '   3.14'  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值