python字符串

字符串定义

# 字符串定义
str01 = 'test01'
str02 = "test02"
str03 = '''test03'''
str04 = """test04"""
print(str01, str02, str03, str04)

python的字符串可以用单引号,双引号,三引号定义

'''''' 会被用于多行注释

转义字符

\ 在python中被用于转义字符

# 转义字符
print("test \n test")
print("test \\n test")

字符串切割

使用字符串后加中括号的方式切割字符串

# 切割字符串
print(str01[0:2])   # te
print(str01[1:2])   # e
print(str01[:2])    # te
print(str01[2:])    # st01
print(str01[:])     # test01
print(str01[2:-1])  # st0

[start : end] ,首位为0,末位为-1,start省略为从头开始,end省略为到结尾结束

区间范围为左闭右开

步进值

print(str01[0:3])  # tes
print(str01[0:3:2])  # ts
print(str01[0:3:1])  # tes

[start : end : step] 步进值意为每隔step个字符显示字符

切片反转

print(str01[::-1])  # 10tset

四则运算符

print(str01 + str02)    # test01test02
print(str01 - str02)  	# TypeError: unsupported operand type(s) for -: 'str' and 'str'
print(str01 * 2)        # test01test01
print(str01 / 2)        # TypeError: unsupported operand type(s) for /: 'str' and 'int'

字符串前缀

常见的python字符串前缀有r、u、b、f

# r、u、b、f
print(r"test01\n")  # test01\n
print(u"test01\n")  # test01(换行)

print(b"test01\n")  # b'test01\n'
print(f"{str01}")	# test01

r\R 字符串:raw string(原始字符串)

转义字符会被认为是一个普通字符,常用于特殊的字符如换行符、正则表达式、文件路径。

u\U字符串:unicode string(unicode编码字符串)

表示该字符串是unicode编码,Python2中用在含有中文字符的字符串前,防止因为编码问题,导致中文出现乱码。另外一般要在文件开关标明编码方式采用utf8。Python3中,所有字符串默认都是unicode字符串。

b\B字符串:byte string(转换成bytes类型)

常用在如网络编程中,服务器和浏览器只认bytes类型数据

f\F字符串:format string(格式化字符串)

可以更方便的格式化字符串,比format()方法可读性高且使用方便

unicode编码

又称为统一码,unicode是一种国际组织制定能容纳所有文字和符号的字符编码方案。Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符,或者说有1114112个码位。码位就是可以分配给字符的数字。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。

UTF是“UCS Transformation Format”的缩写,可以翻译成Unicode字符集转换格式,即怎样将Unicode定义的数字转换成程序数据

摘自https://m.hqew.com/tech/news_437203

format()方法

用于格式化字符串,按顺序位置传入参数

print("{0},{1},{2}".format(str01, str02, 'test03'))

实例

# 示例1:两个数值相加
x = 4
y = 5
z = x + y
print("Output #2: 4 + 5 = {0:d}".format(z))

# 示例2:两个列表相加
a = [1 , 2 , 3 , 4]
b = ["first" , "second" , "third" , "fourth"]
c = a + b
print("Output #3: {0} + {1} = {2}".format(a , b , c))

输出结果:

D:\Anaconda\python.exe E:/PyCharmFile/pythonProject/basic/Demo01_.py
Output #2: 4 + 5 = 9.
Output #3: [1, 2, 3, 4] + ['first', 'second', 'third', 'fourth'] = [1, 2, 3, 4, 'first', 'second', 'third', 'fourth']

Process finished with exit code 0

示例1中,{}是占位符 ,{0}表示format()参数列表中的第一个参数,即指代 z , {0:d}表示指定z为整数类型

示例2中,{0}表示第一个参数a,{1}表示第二个参数b,{2}表示第三个参数c,因为这三个值都是列表,所以不用添:类型

常用函数

函数 返回值和功能
str.capitilaize() -> str 返回字符串首字母大写,其他字母都为小写的格式
str.count(substring:str, start:int, end:int) -> int 返回子字符串在字符串中的start位置到end位置出现了几次
bytes.decode(encoding:str, [error:str]) -> str 编码,将bytes对象按固定的编码方法转换为字符串,error参数规定是否报错
str.encode(encoding:str, [error:str]) -> bytes 解码,将字符串对象按固定的编码方法转换为bytes对象,error参数规定是否报错
len(str) -> int 返回字符串str的长度
str.find(substr:str, [start:int], [end:int]) -> int str中查找substr的位置,start为开始位置,end为结束位置
str.replace(old:str, new:str, [count:int]) str中的oldstr 替换为newstrcount为替换次数,省略代表全部替换
str.split(sep:str, maxsplit:int) -> list[str] sep为分隔符切片,如果maxsplit有指定值,则仅分割maxsplit个字符串
str.startswith(prefix:str, start:int, end:int) 判断字符串是否是以prefix开头,startend代表从哪个下标开始,哪个下标结束
str.endswith(prefix:str, start:int, end:int) 判断字符串是否是以prefix结尾,startend代表从哪个下标开始,哪个下标结束
str.lower() 将所有大写字符转换成小写
str.uppper() 将所有小写字符转换成大写
sep.join(list:list) -> str 通过seplist拼接成str
print('wYIYI'.capitalize())         # Wyiyi
print(str01.count('e', 0, 5))       # 1
print(str01.encode(encoding="utf-8", errors='strict'))  # b'test01'
print(b'test01'.decode(encoding="utf-8", errors='strict'))  # test01
print(len(str01))   # 6

find()

str1 = "There is a string accessing example"
print(str1.find("a"))   # 9
print(str1.find("a", 10, 20))   # 18

replace()

print(str1.replace("e", "a", 2)) # Thara is a string accessing example

split()

print(str1.split(" "))  # ['There', 'is', 'a', 'string', 'accessing', 'example']

join()

print(",".join(str1.split(" ")))    # There,is,a,string,accessing,example

你可能感兴趣的:(python,python,开发语言)