python笔记之序列(str的基本使用和常用操作)

序列

序列:列表(list),元组(tuple),字典(dict),集合(set),str,range()

有序列表: list,tuple
无序列表: dict,set
可变序列: list,dict,,set
不可变: tuple

str的基本使用和常用操作

字符串的定义
name = "马小跳"
age = "17"  
字符串的访问

示例:

s = "python"  
print(s[0])
print(s[3])

运行结果:

p
h
范围,切片

示例:

s = "python"
print(s[0:6]) #指定开始和结束  
print(s[:])   # 默认从开始到结尾  
print(s[2:])  # 从2到结尾,包含2
print(s[:5])  # 从开始到5,不包含5  

运行结果:

python
python
thon
pytho
步长

示例:

s = "di_zoi_lvn_jen_l?g"
print(s[::2]) #从开始到结尾,步长为2

运行结果:

d_o_v_e_?
转义字符

\ 转义
\n 换行
\t 制表符


print("淘气包\n马\t小跳")  

运行结果:

淘气包
马	小跳
按照原始字符串进行输出

R
r
示例:

print(r"C:\Users\acer\Desktop\文本文档")
print(R"C:\Users\acer\Desktop\文本文档")

运行结果:

C:\Users\acer\Desktop\文本文档
C:\Users\acer\Desktop\文本文档
编码和解码

编码: encode()
解码: decode()

baidu = "我是百度"
print(baidu.encode())
new = baidu.encode()
print(new.decode())

运行结果:

b'\xe6\x88\x91\xe6\x98\xaf\xe7\x99\xbe\xe5\xba\xa6'
我是百度
字符串的拼接

示例:

a = "蟒蛇是谁?"
b = "Python"
print(a+b+str)  

运行结果:

蟒蛇是谁?Python
判断字符是否包含给定字符

如果包含返回True,不包含返回False

示例:

a = "Python"
print("P" in a)  

运行结果:

True  
重复输出字符串

示例:

print("a"*10)  

运行结果:

aaaaaaaaaa   
字符串的替换

用法:
变量.replace("被替换的字符",'替换字符')
示例:

s1 = "python"
s2 = s1.replace("py","p")
print(s1)
print(s2)

运行结果:

python
pthon

注意:字符串本身不会改变,会返回一个新的字符串(结果)

字符串的查找

变量.index("需要查找的字符")
变量.find("需要查找的字符")

区别:
index查找失败会报错并终止程序
find 查找失败会返回-1,不会影响程序的运行

示例1: index 查找成功 和find 查找失败

print("dfafdfsf".index("f"))
print("dfafdfsf".find("z"))

运行结果:

1
-1

示例2: index 查找失败

print("dfafdfsf".index("z"))

运行结果:

Traceback (most recent call last):
  File "G:/PyCharm_/python_basic/day01/first.py", line 1, in <module>
    print("dfafdfsf".index("z"))
ValueError: substring not found  
去除字符串两边指定的字符

注意:默认去除两边空格,是两边的,不是中间

示例:

print("    py  thon  ".strip())  #默认去除两边空格
print("aaa pytho aa na a".strip("a"))  #去除两边指定的字符

运行结果:

py  thon
 pytho aa na
去除左边指定的字符,默认去除空格

示例:

print("aa  python  ".lstrip("a"))

运行结果:

  python  
去除右边指定的字符,默认去除空格

示例:

 print("aaa pythonaaaa".rstrip("a"))

运行结果:

  aaa python
开头首字母大写

示例:

s = "pyThon"
print(s.capitalize())  #开头首字母大写
print(s.upper())  #全部转换大写
print(s.lower())  #全部转换小写
print(s.title())  #无论是否大小写,只会让首字符大写

运行结果:

Python
PYTHON
python
Python
判断是否全部大写,小写,首字母大写

示例:

s1 = "PYTHON"
s2 = "python"
s3 = "Python"
print(s1.isupper())   #是大写返回True 不是返回 False
print(s2.islower())   #是小写返回True 不是返回 False
print(s3.istitle())   #开头是大写返回True 不是返回 False

运行结果:

True
True
True
判断是否以某个字符开头或结尾(区分大小写)

如果是返回True,不是返回False

示例:

s = "Python"
print(s.startswith("p"))
print(s.endswith("n"))

运行结果:

False
True
判断当前字符串是否全部是字母和数字

如果是返回True,不是返回False

示例:

print("111aaaa#%$".isalnum())
print("111aaaa".isalnum())

运行结果:

False
True
判断当前字符串是否全部是字母

如果是返回True,不是返回False

示例:

print("aadfaf".isalpha())
print("aadfaf12".isalpha())

运行结果:

True
False
判断当前字符串是否全部是数字

如果是返回True,不是返回False

示例:

print("123123".isdigit())
print("123123aa".isdigit())

运行结果:

True
False
字符串拆分成列表

示例: 以" . " 来拆分字符串

print("www.baidu.com".split("."))

运行结果:

['www', 'baidu', 'com']
将序列中的元素以指定字符连接成一个新的字符串

示例:

a =['www', 'baidu', 'com']
print("!".join(a)) #以“!”来连接
print("".join(a))  #直接连接

运行结果:

www!baidu!com
wwwbaiducom