Entrada de base cero para aprender Python (13) -string

Las cadenas y tuplas son muy similares y no se pueden modificar fácilmente una vez que se definen

Si tiene que modificarlo, puede usar porciones y concatenaciones
Inserte la descripción de la imagen aquí
para que la cadena anterior str1 todavía esté allí, y se sobrescriba después de la asignación. El mecanismo de recolección de basura de Python eliminará las cadenas sin etiquetas.
Inserte la descripción de la imagen aquí

Métodos integrados para cadenas

método sentido
capitalizar() Cambie el primer carácter de la cadena a mayúsculas y todos los demás caracteres a minúsculas
casefold () Todas las letras de la nueva cadena se vuelven minúsculas
centro (ancho, fillchar = '') Devuelve una nueva cadena de caracteres centrada (ancho <= longitud de la cadena, nueva cadena = cadena original; ancho> ancho de la cadena, todos los caracteres están centrados, la izquierda y la derecha se rellenan con los caracteres especificados por el parámetro fillchar)
contar (sub [, inicio [, final]]) Devuelve el número de apariciones no superpuestas de sub en la cadena. Los parámetros opcionales start y end se utilizan para especificar las posiciones inicial y final.
termina con (sufijo [, inicio [, final]]) Si la cadena termina con la subcadena especificada por el sufijo, devuelva True; de ​​lo contrario, devuelva False; los parámetros opcionales start y end se utilizan para especificar las posiciones inicial y final
expandtabs ([tabsize = 8]) Devuelve una nueva cadena usando espacios para reemplazar las pestañas. Si no se especifica el parámetro de tamaño de pestaña, entonces 1 pestaña = 8 espacios por defecto
buscar (sub [, inicio [, final]]) Busque la subcadena en la cadena y devuelva el valor de índice más bajo de la coincidencia; los parámetros opcionales start y end se utilizan para especificar las posiciones inicial y final; si la subcadena no coincide, devuelve -1
unirse (iterable) Concatenar varias cadenas y devolver una nueva cadena; use la cadena que llama a este método como separador e insértelo en el medio de cada cadena especificada por el parámetro iterable;
codificar (codificación = 'utf-8', errores = 'estricto') Codifique la cadena en el formato de codificación especificado por el parámetro de codificación. El parámetro errors especifica la solución cuando ocurre un error de codificación: el 'estricto' predeterminado significa que si ocurre un error, se lanzará un UnicodeEncodeError. Otros valores de parámetro disponibles son 'ignorar', 'reemplazar' y 'xmlcharrefreplace'
formato (* argumentos, ** kwargs) Devuelve una nueva cadena formateada; usa parámetros posicionales (args) y argumentos de palabras clave (kwargs) para reemplazar
format_map (mapeo) Devuelve una nueva cadena formateada; usa parámetros de mapeo (mapeo) para reemplazar
índice (sub [, inicio [, final]]) Busque la subcadena en la cadena y devuelva el valor de índice más bajo de la coincidencia; los parámetros opcionales start y end se utilizan para especificar las posiciones inicial y final; si la subcadena no coincide, se lanza una excepción ValueError
isalnum () Si hay al menos un carácter en la cadena y todos los caracteres son letras o números, devuelve True; de ​​lo contrario, devuelve False
isalpha () Si hay al menos un carácter en la cadena y todos los caracteres son letras, devuelve Verdadero; de lo contrario, devuelve Falso
isascii () Si todos los caracteres de la cadena son ASCII, devuelve Verdadero; de lo contrario, devuelve Falso; el rango de codificación de caracteres ASCII es U + 0000 ~ U + 007F, y la cadena vacía también es ASCII
isdecimal () Si hay al menos un carácter en la cadena y todos los caracteres son números decimales, devuelve True; de ​​lo contrario, devuelve False
isdigit () Si hay al menos un carácter en la cadena y todos los caracteres son números, devuelve True; de ​​lo contrario, devuelve False
Identificador () Si la cadena es un identificador Python válido, devuelve Verdadero; de lo contrario, devuelve Falso; llame a keyword.iskeyword (s) para verificar si la cadena es un identificador reservado (como "si" o "para")
es bajo() Si la cadena contiene al menos una letra inglesa que distingue entre mayúsculas y minúsculas, y todas estas letras son minúsculas, devuelve True, de lo contrario devuelve False
isnumeric () Si hay al menos un carácter en la cadena y todos los caracteres son números, devuelve True; de ​​lo contrario, devuelve False
imprimible () Si la cadena es imprimible, devuelve True; de ​​lo contrario, devuelve False
isspace () Si hay al menos un carácter en la cadena y todos los caracteres son espacios, devuelva True; de ​​lo contrario, devuelva False
lista () Si la cadena es una cadena con título (todas las palabras comienzan con mayúsculas, el resto de las letras están en minúsculas), devuelve True, de lo contrario devuelve False
isupper () Si la cadena contiene al menos una letra inglesa que distingue entre mayúsculas y minúsculas, y estas letras están todas en mayúsculas, devuelva True; de ​​lo contrario, devuelva False
unirse (iterable) Concatenar varias cadenas y devolver una nueva cadena; use la cadena que llama a este método como separador e insértelo en el medio de cada cadena especificada por el parámetro iterable;
brillante (ancho) Devuelve una nueva cadena con caracteres alineados a la izquierda (ancho <= longitud de la cadena, nueva cadena = cadena original; ancho> ancho de cadena, todos los caracteres están alineados a la izquierda y el lado derecho se llena con los caracteres especificados por el parámetro fillchar)
inferior() Devuelve una nueva cadena con todas las letras en inglés convertidas a minúsculas
lstrip (chars = None) Devuelve una nueva cadena con los caracteres en blanco a la izquierda eliminados; el parámetro chars se puede usar para especificar la cadena que se eliminará
partición (sep) Busque el separador especificado por el parámetro sep en la cadena. Si lo encuentra, devuelva una tupla de 3 ('la parte antes de sep', 'sep', 'la parte después de sep'); si no lo encuentra, devuelva ('Cadena original ',' ',' ')
removeprefix (prefijo) Si existe la subcadena de prefijo especificada por el parámetro de prefijo, devuelve una nueva cadena con el prefijo eliminado; si no existe, devuelve una copia de la cadena original
removesuffix (sufijo) Si hay una subcadena de sufijo especificada por el parámetro de sufijo, devuelve una nueva cadena con el sufijo eliminado; si no existe, devuelve una copia de la cadena original
reemplazar (antiguo, nuevo, recuento = -1) 返回一个将所有 old 参数指定的子字符串替换为 new 的新字符串;count 参数指定替换的次数,默认是 -1,表示替换全部
rfind(sub[, start[, end]]) 在字符串中自右向左查找 sub 子字符串,返回匹配的最高索引值;可选参数 start 和 end 用于指定起始和结束位置;如果未能匹配子字符串,返回 -1
rindex(sub[, start[, end]]) 在字符串中自右向左查找 sub 子字符串,返回匹配的最高索引值;可选参数 start 和 end 用于指定起始和结束位置;如果未能匹配子字符串,抛出 ValueError 异常
rjust(width, fillchar=’ ') 返回一个字符右对齐的新字符串(width <= 字符串长度,新字符串 = 原字符串;width > 字符串宽度,所有字符右对齐,左侧使用 fillchar 参数指定的字符填充)
rpartition(sep) 在字符串中自右向左搜索sep参数指定的分隔符,如果找到,返回一个 3 元组 (‘在sep前面的部分’, ‘sep’, ‘在sep后面的部分’);如果未找到,则返回 (’’, ‘’, ‘原字符串’)
rsplit(sep=None, maxsplit=-1) 将字符串自右向左进行分割,并将结果以列表的形式返回;sep 参数指定一个字符串作为分隔的依据,默认是任意空白字符;maxsplit 参数用于指定分割的次数(注意:分割 2 次的结果是 3 份),默认是不限制
rstrip(chars=None) 返回一个去除右侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串
split(sep=None, maxsplit=-1) 将字符串进行分割,并将结果以列表的形式返回;sep 参数指定一个字符串作为分隔的依据,默认是任意空白字符;maxsplit参数用于指定分割的次数(注意:分割 2 次的结果是 3 份),默认是不限制
splitlines(keepends=False) 将字符串按行分割,并将结果以列表的形式返回;keepends 参数指定是否包含换行符,True 是包含,False 是不包含
startswith(prefix[, start[, end]]) 如果存在 prefix 参数指定的前缀子字符串,则返回 True,否则返回 False;可选参数 start 和 end 用于指定起始和结束位置;prefix 参数允许以元组的形式提供多个子字符串
strip(chars=None) 返回一个去除左右两侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串
swapcase() 返回一个大小写字母翻转的新字符串
title() 返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。
translate(table) 返回一个根据 table 参数转换后的新字符串;table 参数应该提供一个转换规则(可以由 str.maketrans(‘a’, ‘b’) 进行定制,例如 “FishC”.translate(str.maketrans(“FC”, “15”)) -> ‘1ish5’)
upper() 返回一个所有英文字母都转换成大写后的新字符串
zfill(width) 返回一个左侧用 0 填充的新字符串(width <= 字符串长度,新字符串 = 原字符串;width > 字符串宽度,所有字符右对齐,左侧使用 0 进行填充)

capitalize():将字符串的第一个字符修改为大写,其他字符全部改为小写

Inserte la descripción de la imagen aquí

casefold() :新字符串的所有字母变为小写

Inserte la descripción de la imagen aquí

center(width, fillchar=’ ') : 返回一个字符居中的新字符串(width <= 字符串长度,新字符串 = 原字符串;width > 字符串宽度,所有字符居中,左右使用 fillchar 参数指定的字符填充)

Inserte la descripción de la imagen aquí

count(sub[, start[, end]]): 返回 sub 在字符串中不重叠的出现次数,可选参数 start 和 end 用于指定起始和结束位置

Inserte la descripción de la imagen aquí

endswith(suffix[, start[, end]]): 如果字符串是以 suffix 指定的子字符串为结尾,那么返回 True,否则返回 False;可选参数 start 和 end 用于指定起始和结束位置

Inserte la descripción de la imagen aquí

expandtabs([tabsize=8]) :返回一个使用空格替换制表符的新字符串,如果没有指定 tabsize 参数,那么默认 1 个制表符 = 8 个空格

Inserte la descripción de la imagen aquí

find(sub[, start[, end]]) :在字符串中查找 sub 子字符串,返回匹配的最低索引值;可选参数 start 和 end 用于指定起始和结束位置;如果未能匹配子字符串,返回 -1

Inserte la descripción de la imagen aquí

index(sub[, start[, end]]) :在字符串中查找 sub 子字符串,返回匹配的最低索引值;可选参数 start 和 end 用于指定起始和结束位置;如果未能匹配子字符串,抛出 ValueError 异常

join(iterable) :连接多个字符串并返回一个新字符串;以调用该方法的字符串作为分隔符,插入到 iterable 参数指定的每个字符串的中间;

Inserte la descripción de la imagen aquí
join()方法代替加号来拼接字符串
Inserte la descripción de la imagen aquí

istitle():如果字符串是标题化字符串(所有的单词都是以大写开始,其余字母均小写)则返回 True,否则返回 False

Inserte la descripción de la imagen aquí

lstrip(chars=None):返回一个去除左侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串

rstrip(chars=None):返回一个去除右侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串

Inserte la descripción de la imagen aquí

partition(sep) 在字符串中搜索 sep 参数指定的分隔符,如果找到,返回一个 3 元组 (‘在sep前面的部分’, ‘sep’, ‘在sep后面的部分’);如果未找到,则返回 (‘原字符串’, ‘’, ‘’)Inserte la descripción de la imagen aquí

replace(old, new, count=-1) 返回一个将所有 old 参数指定的子字符串替换为 new 的新字符串;count 参数指定替换的次数,默认是 -1,表示替换全部

Inserte la descripción de la imagen aquí

split(sep=None, maxsplit=-1) 将字符串进行分割,并将结果以列表的形式返回;sep 参数指定一个字符串作为分隔的依据,默认是任意空白字符;maxsplit参数用于指定分割的次数(注意:分割 2 次的结果是 3 份),默认是不限制

Inserte la descripción de la imagen aquí

strip(chars=None) 返回一个去除左右两侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

swapcase() 返回一个大小写字母翻转的新字符串

Inserte la descripción de la imagen aquí

translate(table) 返回一个根据 table 参数转换后的新字符串;table 参数应该提供一个转换规则(可以由 str.maketrans(‘a’, ‘b’) 进行定制,例如 “FishC”.translate(str.maketrans(“FC”, “15”)) -> ‘1ish5’)

Inserte la descripción de la imagen aquí

Task

0. 还记得如何定义一个跨越多行的字符串吗(请至少写出两种实现的方法)?

【1】三重引号字符串
【2】转义字符\n
Inserte la descripción de la imagen aquí
【3】

>>> str3 = ('待卿长发及腰,我必凯旋回朝。'
'昔日纵马任逍遥,俱是少年英豪。'
'东都霞色好,西湖烟波渺。'
'执枪血战八方,誓守山河多娇。'
'应有得胜归来日,与卿共度良宵。'
'盼携手终老,愿与子同袍。')

1. 三引号字符串通常我们用于做什么使用?
三引号字符串不赋值的情况下,通常当作跨行注释使用

2. file1 = open ('C: \ windows \ temp \ readme.txt', 'r') significa abrir el archivo de texto "C: \ windows \ temp \ readme.txt" en modo de solo lectura, pero de hecho esta declaración informará un error, ¿sabe por qué? ¿Cómo lo modificarías?
"\ T" y "\ r" significan "tabulación horizontal (TAB)" y "retorno de carro" respectivamente

>>> file1 = open(r'C:\windows\temp\readme.txt', 'r')

3. Hay una cadena: str1 = '<a href="http://www.fishc.com/dvd" target="_blank"> Empaquetado de recursos Fish C', cómo extraer la subcadena: 'www.fishc. com '

>>> str1 = '<a href="http://www.fishc.com/dvd" target="_blank">鱼C资源打包</a>'
>>> str1[16:29]

Inserte la descripción de la imagen aquí

4. Si utiliza un número negativo como valor de índice para la operación de corte, ¿puede detectar visualmente correctamente el resultado de acuerdo con la tercera pregunta?

>>> str1 = '<a href="http://www.fishc.com/dvd" target="_blank">鱼C资源打包</a>'
>>> str1[-45:-32]

Inserte la descripción de la imagen aquí

5. Es la cadena en la pregunta 3. ¿Qué se mostrará en la oración a continuación?

>>> str1[20:-36]

'pezc'

6. Se dice que solo el aceite de pescado con un coeficiente intelectual superior a 150 puede desbloquear esta cadena (revertida a una cadena significativa): str1 = 'i2sl54ovvvb4e3bferi32s56h; $ c43.sfc67o0cm99'
Inserte la descripción de la imagen aquí

(No sé mucho, ?????)

7. Escriba un código para la verificación de seguridad de la contraseña: check.py (pensando ...)

# 密码安全性检查代码
#
# 低级密码要求:
#   1. 密码由单纯的数字或字母组成
#   2. 密码长度小于等于8位
#
# 中级密码要求:
#   1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
#   2. 密码长度不能低于8位
#
# 高级密码要求:
#   1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
#   2. 密码只能由字母开头
#   3. 密码长度不能低于16位

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_44520665/article/details/113440597
Recomendado
Clasificación