字符串的相关方法
isdigits:判断字符串是不是一个数字字符串,返回True或者False
isalpha:判断字符串是不是一个字母字符串,返回True或False
isalnum:判断字符串是否是数字字符串或者字母字符串,或者数字–字母字符串,返回True,False
str1 = '12345'
str2 = 'abcde'
str3 = 'abc123'
str4 = 'abc123...'
print(str1.isdigit(), str2.isdigit(), str3.isdigit(), str4.isdigit())
print(str1.isalpha(), str2.isalpha(), str3.isalpha(), str4.isalpha())
print(str1.isalnum(), str2.isalnum(), str3.isalnum(), str4.isalnum())
对齐:ljust、rjust、center、等价于< 、>、^
str5 = '分隔符'
print(str5.center(10, '*'))
print(str5.ljust(10, '*'))
print(str5.rjust(10, '*'))
验证字符串开头或结尾是否符合要求:startswith\endswith
tel = '135456789076'
print(tel.startswith('135'))
print(tel.endswith('1111'))
if '/cj/2022/08-30/9840009.shtml'.startswith('https://www.chinanews.com.cn') == False:
print('https://www.chinanews.com.cn' + '/cj/2022/08-30/9840009.shtml')
print('/cj/2022/08-30/9840009.shtml')
str():构造器语法:将其他数据转为字符串
for i in range(1, 1000):
# print(str(i),type(str(i)))
lenght = len(str(i))
# print(lenght)
numSum = 0
for j in str(i):
numSum += int(j) ** lenght
if numSum == i:
print(f'{i}是阿姆斯特朗数')
split:切割,将字符串按照指定符号进行切割,没有被切掉的元素被添加得到一个列表中
str1 = '123,000'
list1 = str1.split(',')
print(list1)
join():按照指定的间隔符将容器中的字符串拼接都一起(前提:容器中所有元素都是字符串)
str2 = '+'.join(list1)
print(str2)
str3 = ''.join(list1)
print(str3)
replace:替换,将新字符串替换到字符串的位置
字符串.replace(oldstr,newstr,替换次数(不写表示全部))
str1 = '123,000'
print(str1.replace(',', ''))
print(str1.replace('0', '+', 1))
strip():默认将字符串两端中的空白符号去掉(包括:空格、换行等)
strip():可以指定去除字符串两端的哪些符号
print('*' * 20)
str1 = '\n ab\tcd \n'
print(str1)
print('*' * 20)
print(str1.strip())
print('*' * 20)
print(str1.strip(' '))
print('*' * 20)
str1 = '\n ab\tcd \n'
list1 = str1.split(' ')
print(list1)
手机号 身份证号码 银行卡号不需要参与计算是数字符号作为字符串存储
tel='12345657'
print(tel.replace(tel[3:7],len(tel[3:7])*'*'))
# 123****7
王者荣耀屏蔽不文明用语原理。
人为收集不文明用语。
根据玩家输入的一句话去识别。
检测到,进行*替换,将替换的结果输出。
python
list1 = ['卧槽', '臣卜木曹', '菜鸡', '辣鸡', '垃圾']
content = '卧槽,你可真菜,菜鸡!!!'
for i in list1:
content = content.replace(i, '*' * len(i))
print(content)
count:判断某个元素在字符串中出现的次数。
index:从左向右在字符串中查找某个符号第一次出现的位置(下标);可以指定从哪个位置开始查找。找不到报错。
rindex:从右向左查找元素第一次出现的位置,返回正向下标。找不到报错。
find:从左向右在字符串中查找某个符号第一次出现的位置(下标);可以指定从哪个位置开始查找。找不到返回-1
rfind:从右向左查找元素第一次出现的位置,返回正向下标。找不到返回-1
content = '卧槽,你可真菜,菜鸡!!!'
print(content.index('菜'))
print(content.index('菜', 7))
print(content.rindex('菜'))
print(content.find('菜'))
print(content.find('菜', 7))
print(content.rfind('菜'))
转义字符
字符串啊的一种,具有特殊含义的字符串
在很久之前,转义字符是反斜杠\加上ASCII码表中的数字,(一般是八进制数字)组成的有特殊含义的字符。
在C语言中规定反斜杠\加上ASCII码表中部分符号组成有特殊含义的字符,python使用的是C语言对应的形式。
二、常见转义字符
\n:换行 将光标移动到下一行开头
\t:制表符Tab键,能对齐字符串,其宽度不一定四个空格。\t的长度 = 8 - 字符串长度 % 8
\r:将鼠标光标移动到本行开头
str1='ab\'cd'
# \’、\“、\\表示没有特殊含义的‘、“、\自身
三、转义字符的长度:1
print(len('\n\t')) #2
四、操作系统
Mac Linux Windows 三大操作系统换行符各不相同
Windows:\r\n
mac:\r
Linux:\n
str1 = 'ab\ncd'
# print(str1)
# str2 = 'ab\tcd'
# str3 = 'abc\tde'
# str4 = 'abc\tdef'
# print(str2)
# print(str3)
# print(str4)
# for i in range(10):
# print(f'\r{i}', end='')
进度条
使用\r实现进度条
from time import sleep
lenght = 50
for i in range(lenght):
# 进度条的空白槽
a = (lenght - i) * ' '
# 进度条的进度
b = '🟥' * i
print(f'\r|{b}{a}|', end='')
sleep(0.5)
原始字符串
概念:在前面添加r或者R,将字符串中具有特殊含义的符号变得无意义
作用:应用场景:正则表达式、代码中引入文件路径
str1 = 'D:\\n\\t\\r......'
str2 = r'D:\n\t\r......'
print(str1)
print(str2)
#结果 D:\n\t\r......
#结果 D:\n\t\r......
如何安装三方模块
1、可视化安装。
Windows操作系统:File——>settings ——> project:项目名 ——>python Interpreter
Mac系统:pycharm ——>preference
2、根据提示自动安装
import requests
3、使用命令安装
打开terminal
仅对Windows而言
激活拟环境
cd命令:切换文件夹
使用cd命令进行文件夹切换,直到路径下子文件为venv为止
使用命令./venv/scripts/activate 激活虚拟环境
使用上述命令,windows默认会报错,因为微软仅用了策略组,使用链接
https:/go.microsoft.com/fwlink/?Link ID=135170中的命令Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser解除禁用
使用pip/pip3安装模块
手动修改镜像源。windows系统:pip config set global.index-url https://pypi.douban.com/simple
pip install selenium
进度条模块
import time
from tqdm import tqdm
for i in tqdm(range(1,1001),desc='这是一个进度条'):
pass
time.sleep(0.1)