python 基础 - 字符串

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字符串常用操作

  1. 检查字符串的长度 len()
a = "python"
print(len(a))
#输出: 6
  1. 字符串的替换 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
  1. 查找字符串
print("sdfsdf".index("f"))##返回结果为字符的索引
print("sadfasf".find("z"))##返回结果为字符的索引
#index 和 find的区别 就是 find查找失败会返回-1,不会影响程序的运行
#index 查找失败会报错并终止程序

输出结果:

2
-1
  1. 去除字符串两边指定的字符,默认去除空格
print("    python  ".strip())
print("aaa python a".strip("a"))

输出结果:

python
 python
  1. 去除字符串左边指定的字符,默认去除空格
print("    python ***".lstrip())

输出结果:

python ***
  1. 去除字符串右边指定的字符,默认去除空格
print("aaaa pythonaaaaa".rstrip("a"))

输出结果:

aaaa python
  1. 开头首字母大写
s = "python"
print(s.capitalize())
print(s.upper())
s = "PYTHON"
print(s.lower())
print(s.title())  #无论是否大小写,只会让首字符大写

输出结果:

Python
PYTHON
python
Python
  1. 判断是否全部大写,小写
s1 = "python"
s2 = "PYTHON"
print(s1.islower())
print(s2.isupper())

输出结果:

True
True
  1. 判断是否以某个字符开头和结尾
s= "python"
print(s.startswith("p"))
print(s.endswith("n"))

输出结果:

True
True
  1. 判断字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
print("111111aaaa#".isalnum())
#输出:False

判断当前字符串是否全是字母

print("abc".isalpha())
#输出:Ture

判断当前字符串是否全是数字

print("123234356".isdigit())
#输出:Ture
  1. 将字符串拆分成列表
print("www.baidu.com".split("."))
#输出:['www', 'baidu', 'com']
  1. 将序列中的字符串元素以指定字符连接成一个新的字符串
l1 = "www.baidu.com".split(".")
print(l1)
print(type(l1))
new_str = "-".join(l1)
print(new_str)

输出结果:

['www', 'baidu', 'com']

www-baidu-com


人生苦短,我用Python

Python 目录

对网络安全感兴趣的朋友可以关注我的连载 :

从0到1学习网络安全 【目录】

你可能感兴趣的:(python 基础 - 字符串)