- 字符串是python中非常常见的一种数据类型,字符串是由单独的字符组成的一个序列,通常用‘’,“”,“”“ ”“”,来扩起来,当然这三种写法的方式都是一样的,
- python中常用 反斜杠 \ 作为转义字符,通常\' \" \n \t ,其中 \n 是换行符,表示一个字符,所以下面示例中字符串长度是6
- 字符串的常用操作
可以将字符串看作是单个字符组成的数组,所以python字符串支持 索引、切片、步长切片 和遍历操作,但是python的字符串是不可变的数据类型,所以不能改变字符串内部的元素
- python字符串拼接
python字符串是不可变数据类型,但是要想改变python字符串,可以通过拼接+、或者join函数来实现,这样的实现方式是重新创建了一个新的字符串,而不是对原来字符串做了改变
- python 字符串操作
‘sep’ . join(number)
将字符串、列表、元祖、字典中的元素按照指定的分隔符 sep 连接返回一个新的字符串 string,其中,字符串中的每一个元素是单个字符,列表、元祖的单个元素是逗号隔开的元素,字典是以key值作为连接
分隔符 sep 可以为空
os.path.join(num1,num2,num3)
其中:windows上默认会用\连接 ,linux 、mac 上默认会用 / 连接
string.split(str,num) ,拆分字符串,使用指定的分隔符对字符串进行切片,并返回分割之后的字符串列表 list
str表示分隔符,默认为空格,但是不能为空(‘’),若字符串中没有分隔符,将把整个字符串当做列表中的一个元素
num表示分隔的次数,默认分隔0次
os.path.split(),按照路径(/--linux, \ --windows),将路径和文件名分隔开
str.strip() 去除字符串前后的空格
str.lstrip() 去除字符串左边的空格
str.rstrip() 去除字符串右边的空格
- python运算符
% 取余
// 取整
字符串是不可变的序列数据类型,不能直接修改字符串本身,
虽然字符串本身不可变,但可以像列表序列一样,通过方括号加下标的方式,访问或者获取它的子串,当然也包括切片操作。这一切都不会修改字符串本身,当然也符合字符串不可变的原则。
>>> a = "haha"
>>> a[1] = "z"
Traceback (most recent call last):
File "<pyshell#70>", line 1, in <module>
a[1] = "z"
TypeError: 'str' object does not support item assignment
类型错误:字符串类型不支持元素(项目)赋值
- 字符串常见运算
下表实例变量a值为字符串 "Hello",b变量值为 "Python"
- 字符串常用内置方法
* string.encode() # 编码成bytes类型
* string.find() # 查找子串
* string.index() # 获取下标
* string.replace() # 替换子串
* len(string) # 返回字符串长度,Python内置方法,非字符串方法。
* string.lower() # 小写字符
* string.upper() # 大写字符
* string.split() # 分割字符串
* string.strip() # 去除两端的指定符号
* string.startswith() # 字符串是否以xxx开头
* string.endswith() # 字符串是否以xxx结尾
* string.isalnum() 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回
False
* string.isalpha() 如果 string 至少有一个字符并且所有字符都是字母则返回True,否则返回False
* string.isdigit() 如果 string 只包含数字则返回 True 否则返回 False.
>>> m
'abc'
>>> m
'abc'
>>> m.encode()
b'abc'
>>> m.find('a')
0
>>> m.find('c')
2
>>> m.index('c')
2
>>> m.replace('a','A')
'Abc'
>>> len(m)
3
>>> m.upper()
'ABC'
>>> m.lower()
'abc'
>>> m.startswith('a')
True
>>> m.endswith('c')
True
>>> m.strip()
'abc'
>>> m.split()
['abc']
>>> n="abc123"
>>> n.isalnum()
True
>>> n.isalpha()
False
>>> m.isalpha()
True
>>> m.isdigit()
False
- 字符串格式化
简单的format格式化方法基本有两类:
1.{0}、{1}、{2}:这一类是位置参数,引用必须按顺序,不能随意调整,否则就乱了。例如:
tpl = "i am {0}, age {1}, really {0}".format("seven", 18)
2.{name}、{age}、{gender}:这一类是关键字参数,引用时必须以键值对的方式,可以随意调整顺序。例如:
tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18)
- python字符编码
-
1、ASCII编码:早期专门为英语语系编码,只有255个字符,每个字符需要8位也就是1个字节。不兼容汉字。
-
2、Unicode编码:又称万国码,国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。用2个字节来表示汉字。
-
3、UTF-8编码:为了节省字节数,在Unicode的基础上进行优化的编码。用1个字节表示英文字符,3个字符表示汉字。天生兼容ASCII编码,所以最为流行。
-
操作系统运行时,在内存中,统一使用的都是Unicode编码,当需要将数据保存到硬盘或者网络传输的时候,就转换为UTF-8编码,进行保存和传输。
-
用文本编辑器的时候,从文件系统或者说硬盘上读取的UTF-8编码字符被转换为Unicode字符到内存里,供程序或者操作系统使用。编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件。
-
浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8传输到客户的浏览器。