python 字符串
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
创建字符串很简单,只要为变量分配一个值即可。例如:
var1 = 'hello'
var2 = "world"
Python 访问字符串中的值
Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。
Python 访问子字符串,可以使用方括号来截取字符串,如下实例:
# 字符串的访问
s = "python"
print(s[0])
print(s[2])
# 范围,切片
print(s[0:6]) # 指定开始和结束
print(s[:]) # 有没有指定开头和结尾,默认就是从开始到结尾
print(s[2:]) # 从某一个到结尾
print(s[:2]) # 从开头到某一个
# 步长
print(s[0:6:2]) # 从开始到结尾,步长为2
输出结果:
p
t
python
python
thon
py
pto
Python字符串更新
你可以截取字符串的一部分并与其他字段拼接,如下实例:
var1 = 'Hello World!'
print ("已更新字符串 : ", var1[:6] + 'Python!')
输出结果:
已更新字符串 : Hello Python!
Python转义字符
在需要在字符中使用特殊字符时,python用反斜杠()转义字符。如下表:
转义字符 | 描述 |
---|---|
(在行尾时) | 续行符 |
\ | 反斜杠符号 |
' | 单引号 |
" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\e | 转义 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数,yy代表的字符,例如:\o12代表换行 |
\xyy | 十六进制数,yy代表的字符,例如:\x0a代表换行 |
\other | 其它的字符以普通格式输出 |
Python字符串运算符
下表实例变量a值为字符串 "Hello",b变量值为 "Python":
操作符 | 描述 | 实例 |
---|---|---|
+ | 字符串连接 | a + b 输出结果: HelloPython |
* | 重复输出字符串 | a*2 输出结果:HelloHello |
[] | 通过索引获取字符串中字符 | a[1] 输出结果 e |
[ : ] | 截取字符串中的一部分 | a[1:4] 输出结果 ell |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True | 'H' in a 输出结果 1 |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | 'M' not in a 输出结果 1 |
r/R | 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 | print( r'\n' ) print( R'\n' ) |
% | 格式字符串 | 请看Pyhton基本语法中输出格式化 |
实例:
a = "Hello"
b = "Python"
print("a + b 输出结果:", a + b)
print("a * 2 输出结果:", a * 2)
print("a[1] 输出结果:", a[1])
print("a[1:4] 输出结果:", a[1:4])
if( "H" in a) :
print("H 在变量 a 中")
else :
print("H 不在变量 a 中")
if( "M" not in a) :
print("M 不在变量 a 中")
else :
print("M 在变量 a 中")
print (r'\n')
print (R'\n')
输出结果:
a + b 输出结果: HelloPython
a * 2 输出结果: HelloHello
a[1] 输出结果: e
a[1:4] 输出结果: ell
H 在变量 a 中
M 不在变量 a 中
\n
\n
Python字符串常用操作
- 检查字符串的长度 len()
a = "python"
print(len(a))
#输出: 6
- 字符串的替换 replace()
s1 = "python"
#字符串本身不会改变,会返回一个新的字符串(结果)
s2=s1.replace("py","p")
print(s1)
print(s2)
print("aaaaa".replace("a","b",2))
print("www.baidu.cn".replace("cn","com"))
输出结果:
python
pthon
bbbaa
www.baidu.com
- 查找字符串
print("sdfsdf".index("f"))##返回结果为字符的索引
print("sadfasf".find("z"))##返回结果为字符的索引
#index 和 find的区别 就是 find查找失败会返回-1,不会影响程序的运行
#index 查找失败会报错并终止程序
输出结果:
2
-1
- 去除字符串两边指定的字符,默认去除空格
print(" python ".strip())
print("aaa python a".strip("a"))
输出结果:
python
python
- 去除字符串左边指定的字符,默认去除空格
print(" python ***".lstrip())
输出结果:
python ***
- 去除字符串右边指定的字符,默认去除空格
print("aaaa pythonaaaaa".rstrip("a"))
输出结果:
aaaa python
- 开头首字母大写
s = "python"
print(s.capitalize())
print(s.upper())
s = "PYTHON"
print(s.lower())
print(s.title()) #无论是否大小写,只会让首字符大写
输出结果:
Python
PYTHON
python
Python
- 判断是否全部大写,小写
s1 = "python"
s2 = "PYTHON"
print(s1.islower())
print(s2.isupper())
输出结果:
True
True
- 判断是否以某个字符开头和结尾
s= "python"
print(s.startswith("p"))
print(s.endswith("n"))
输出结果:
True
True
- 判断字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
print("111111aaaa#".isalnum())
#输出:False
判断当前字符串是否全是字母
print("abc".isalpha())
#输出:Ture
判断当前字符串是否全是数字
print("123234356".isdigit())
#输出:Ture
- 将字符串拆分成列表
print("www.baidu.com".split("."))
#输出:['www', 'baidu', 'com']
- 将序列中的字符串元素以指定字符连接成一个新的字符串
l1 = "www.baidu.com".split(".")
print(l1)
print(type(l1))
new_str = "-".join(l1)
print(new_str)
输出结果:
['www', 'baidu', 'com']
<class 'list'>
www-baidu-com
人生苦短,我用Python
对网络安全感兴趣的朋友可以关注我的连载 :