Python字符串
如下学习python的字符串用法。
print(dir(str))
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
如上是字符串的所有方法,一个一个看,共44个
1.返回第一个字母大写
capitalize(...)
capitalize() -> string
>>>a = 'hello world' >>> b = a.capitalize() >>> print (b) Hello world
2.按指定长度填充特定字符
center(...)
S.center(width[, fillchar]) -> string
>>> a = 'linux' >>> print a.center(7,'h') hlinuxh >>> print a.center(8,'h') hlinuxhh >>> print a.center(9,'h') hhlinuxhh
3.查找某字符串出现的次数
count(...)
S.count(sub[, start[, end]]) -> int
>>> a = "this is my dog, i love this dog and it's a good dog!" >>> print a.count('dog') 3 >>> print a.count('dog',15) 2 >>> print a.count('dog',15,30) 0 >>> print a.count('dog',15,32) 1
4.以指定的编码格式解码字符串。默认编码为字符串编码(适合python2中处理中文)
decode(...)
S.decode([encoding[,errors]]) ->object
b = 'strid' >>> b.decode('utf-8') u'strid'
5.用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置
endswith(...)
S.endswith(suffix[,start[, end]]) ->bool
>>> shaw = 'I am shaw,what\'s your name ?' >>> shaw.endswith('?') True >>> shaw.endswith('w',7,9) True >>> shaw.endswith('w',7,8) False
6.把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是8,tabsize -- 指定转换字符串中的 tab 符号('\t')转为空格的字符数。
expandtabs(...)
S.expandtabs([tabsize])-> string
>>> info = 'today is a good d\tay' >>> print info.expandtabs() today is a good d ay >>> print info.expandtabs(4) # 把tab装换成4个空格 today is a good d ay >>> printinfo.expandtabs(1) today is a good d ay # 把tab装换成1个空格
7.检测字符串中是否包含子字符串 str ,如果指定 beg(开始)和 end(结束)范围,则检查是否包含在指定范围内,如果包含子字符串,则返回开始的索引值,否则返回-1。
find(...)
S.find(sub [,start [,end]])-> int
>>> a = 'stivenwang' >>> a.find('w') 6 >>> a.find('w',9) -1 >>> a.find('w',9,11) -1
8.格式换字符串输出(方法与%相似,但可以指定顺序)
format(...)
S.format(*args, **kwargs)-> string
>>> name = 'StivenWang' >>> fruit = 'apple' >>> print 'my name is {},I like {}'.format(name,fruit) my name is StivenWang,I like apple >>> print 'my name is {1},I like {0}'.format(fruit,name) my name is StivenWang,I like apple >>> print 'my name is {mingzi},I like{shuiguo}'.format(shuiguo=fruit,mingzi=name) my name is StivenWang,I like apple
9.检测字符串string中是否包含子字符串 str ,如果存在,则返回str在string中的索引值,如果指定beg(开始)和 end(结束)范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常(ValueError: substring not found)。
index(...)
S.index(sub [,start [,end]])-> int
>>> str1 = "this is string example....wow!!!" >>> str2 = "exam" >>> print str1.index(str2) 15 >>> print str1.index(str2,20) Traceback (most recent call last): File "<input>",line 1, in <module> ValueError: substringnot found报错
10.检测字符串是否由字母或数字组成。
isalnum(...)
S.isalnum() -> bool
>>> a = '123' >>> a.isalnum() True >>> b = 'shaw' >>> b.isalnum() True >>> c = 'shaw123' >>> c.isalnum() True >>> d = 'th 123' >>> d.isalnum() False
11.检测字符串是否只由字母组成
isalpha(...)
S.isalpha() -> bool
>> a = '123' >>> a.isalpha() False >>> b = '123shaw' >>> b.isalpha() False >>> c = 'shaw' >>> c.isalpha() True >>> d = 'sha w' >>> d.isalpha() False
12.检测字符串是否只由数字组成。
isdigit(...)
S.isdigit() -> bool
>>> a = '123' >>> a.isdigit() True >>> b = 'shaw' >>> b.isdigit() False >>> c = '123shaw' >>> c.isdigit() False
13.检测字符串是否由小写字母组成。
islower(...)
S.islower() -> bool
>>> a = 'shaw' >>> a.islower() True >>> b = '123' >>> a.islower() True >>> c = '123shaw' >>> c.islower() True >>> d = 'SHAW' >>> d.islower() False >>> e = '123SHAW' >>> e.islower() False
14.检测字符串是否只由空格组成。
isspace(...)
S.isspace() -> bool
>>> a = ' ' >>> a.isspace() True >>> a = '123' >>> a.isspace() False >>> a = 'shaw' >>> a.isspace() False
15.检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
istitle(...)
S.istitle() -> bool
>>> a = 'Shaw' >>> a.istitle() True >>> a = 'Shaw123' >>> a.istitle() True >>> a = '123' >>> a.istitle() False
16.检测字符串中所有的字母是否都为大写
isupper(...)
S.isupper() -> bool
>>> a = '123' >>> a.isupper() False >>> a = 'Shaw' >>> a.isupper() False >>> a = 'Shaw123' >>> a.isupper() False >>> a = 'SHAW123' >>> a.isupper() True
17.用于将序列中的元素以指定的字符连接生成一个新的字符串。
join(...)
S.join(iterable) ->string
>>> a = '-' >>> b = 'shaw' >>> print a.join(b) s-h-a-w
18.返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
ljust(...)
S.ljust(width[, fillchar])-> string
width -- 指定字符串长度
fillchar -- 填充字符,默认为空格
>>> s = 'shaw' >>> s.ljust(10) 'shaw ' >>> s.ljust(10,'8') 'shaw888888'
19.转换字符串中所有大写字符为小写。
Lower(...)
S.lower() -> string
>>> s = 'PYTHON' >>> s.lower() 'python' >>> s = 'PYTHON123' >>> s.lower() 'python123'
20.用于截掉字符串左边的空格或指定字符。
lstrip(...)
S.lstrip([chars]) ->string or unicode
>>> s = '%%%shaw' >>> s.lstrip('%') 'shaw' >>> s = ' shaw' >>> s.lstrip() 'shaw
123456 >>> s = '%%%shaw'>>> s.lstrip('%')'shaw'>>> s = ' shaw'>>> s.lstrip()'shaw'
21.根据指定的分隔符将字符串进行分割(返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串)
partition(...)
S.partition(sep) ->(head, sep, tail)
>>> S = 'are you know:lilin is lowser' >>> S.partition('lilin') ('are you know:', 'lilin', ' is lowser')
22.把字符串中的 old(旧字符串)替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
replace(...)
S.replace(old, new[,count]) -> string
>>> S = 'shaw' >>> S.replace('sh','LI') 'LIaw'
23.返回字符串最后一次出现的位置,如果没有匹配项则返回-1。
rfind(...)
S.rfind(sub [,start[,end]]) -> int
str -- 查找的字符串
beg -- 开始查找的位置,默认为0
end -- 结束查找位置,默认为字符串的长度。
>>> s = 'lilin is good li lao ban' >>> s.rfind('li') 14 >>> s.rfind('li',0,8) 2
24.返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常,你可以指定可选参数[beg:end]设置查找的区间。
rindex(...)
S.rindex(sub [,start[,end]]) -> int
语法:
str.rindex(str,beg=0 end=len(string))
>>> s = 'my name is shaw' >>> s.rindex('s') 11 >>> s.rindex('s',5,10) 9 >>> s.rindex('s',2,8) Traceback (most recent call last): File "<input>",line 1, in <module> ValueError: substring not found
25.返回的原/新字符串右对齐,且默认使用空格填充至指定长度(width)的新字符串。如果指定的长度(width)小于原字符串的长度则返回原字符串
rjust(...)
S.rjust(width[, fillchar])-> string
语法:
str.rjust(width[,fillchar])
width -- 指定填充指定字符后新字符串的总长度.
fillchar– 要填充的字符,默认为空格。
>>> s = 'sch' >>> s.rjust(20) ' sch' >>> s.rjust(20,'0') '00000000000000000sch' >>> s.rjust(20,'H') 'HHHHHHHHHHHHHHHHHsch'
26.删除 string 字符串末尾的指定字符(默认为空格).
rstrip(...)
S.rstrip([chars]) ->string or unicode
语法:
str.rstrip([chars])
>>> s = 'shaw\n' >>> s.rstrip('\n') 'shaw'
27.通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分隔 num 个子字符串
split(...)
S.split([sep [,maxsplit]])-> list ofstrings
语法:
str.split(str="",num=string.count(str)).
>>> s = 'shaw\nlinux\nmac' >>> s.split('\n') ['shaw', 'linux', 'mac'] >>> s.split('\n',1) ['shaw', 'linux\nmac']
28.按照行分隔,返回一个包含各行作为元素的列表,如果 num 指定则仅切片 num 个行.
splitlines(...)
S.splitlines(keepends=False)-> list ofstrings
语法:
str.splitlines( num=string.count('\n'))
num -- 分割行的次数。
>>> s = 'what\'s your name?\n my name is shaw\n how old areyou?' >>> s.splitlines() ["what's your name?", ' my name is shaw', ' how old areyou?'] >>> s.splitlines(1) ["what's your name?\n", ' my name is shaw\n', ' how old areyou?'] >>> s.splitlines(3)
29.用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end指定值,则在指定范围内检查。
startswith(...)
S.startswith(prefix[,start[, end]]) ->bool
语法:
str.startswith(str,beg=0,end=len(string))
str -- 检测的字符串。
strbeg -- 可选参数用于设置字符串检测的起始位置。
strend -- 可选参数用于设置字符串检测的结束位置。
>>> s = 'my name is shaw' >>> s.startswith('my') True >>> s.startswith('my',10,15) False
30.用于移除字符串头尾指定的字符(默认为空格)。
strip(...)
S.strip([chars]) ->string or unicode
>>> s = 'my name is sam' >>> s.strip('m') 'y name is sa'
31.用于对字符串的大小写字母进行转换(小写转大写,大写转小写)
swapcase(...)
S.swapcase() -> string
>>> s = 'stiven' >>> s.swapcase() 'STIVEN' >>> s = 'SHAW' >>> s.swapcase() 'shaw'
32.返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写。
title(...)
S.title() -> string
>>> s = 'my name is shaw' >>> s.title() 'My Name Is Shaw'
33.根据参数table给出的表(包含 256 个字符)转换字符串的字符, 并返回翻译后的字符串。要过滤掉的字符放到del 参数中
translate(...)
S.translate(table [,deletechars])->string
语法:
str.translate(table[, deletechars])
table -- 翻译表,翻译表是通过maketrans方法转换而来。
deletechars -- 字符串中要过滤的字符列表。
>>> from string import maketrans suchas = maketrans('sm','@$') >>> s = 'this is sam\'s dog' >>> s "this is sam's dog" >>> s.translate(suchas) "thi@ i@ @a$'@ dog" >>> s.translate(suchas,'dog') 去除d,o,g字符 "thi@ i@ @a$'@ "
34.将字符串中的小写字母转为大写字母
upper(...)
S.upper() -> string
>>> s = 'sam' >>> s.upper() 'SAM' >>> s = '23sam' >>> s.upper() '23SAM' >>> s = '23s am' >>> s.upper() '23S AM'
作者:terry
blog:http://www.cnblogs.com/kkterry/
Weibo:http://weibo.com/kkterry
E-mail:doubleginger@163.com
欢迎转载,还请标明出处

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Vous pouvez apprendre les concepts de programmation de base et les compétences de Python dans les 2 heures. 1. Apprenez les variables et les types de données, 2. Flux de contrôle maître (instructions et boucles conditionnelles), 3. Comprenez la définition et l'utilisation des fonctions, 4. Démarrez rapidement avec la programmation Python via des exemples simples et des extraits de code.

Pour lire une file d'attente à partir de Redis, vous devez obtenir le nom de la file d'attente, lire les éléments à l'aide de la commande LPOP et traiter la file d'attente vide. Les étapes spécifiques sont les suivantes: Obtenez le nom de la file d'attente: Nommez-le avec le préfixe de "Fitre:" tel que "Fitre: My-Quyue". Utilisez la commande LPOP: éjectez l'élément de la tête de la file d'attente et renvoyez sa valeur, telle que la file d'attente LPOP: My-Queue. Traitement des files d'attente vides: si la file d'attente est vide, LPOP renvoie NIL et vous pouvez vérifier si la file d'attente existe avant de lire l'élément.

Question: Comment afficher la version Redis Server? Utilisez l'outil de ligne de commande redis-Cli --version pour afficher la version du serveur connecté. Utilisez la commande Info Server pour afficher la version interne du serveur et devez analyser et retourner des informations. Dans un environnement de cluster, vérifiez la cohérence de la version de chaque nœud et peut être vérifiée automatiquement à l'aide de scripts. Utilisez des scripts pour automatiser les versions de visualisation, telles que la connexion avec les scripts Python et les informations d'impression.

Les étapes pour démarrer un serveur Redis incluent: Installez Redis en fonction du système d'exploitation. Démarrez le service Redis via Redis-Server (Linux / MacOS) ou Redis-Server.exe (Windows). Utilisez la commande redis-Cli Ping (Linux / MacOS) ou redis-Cli.exe Ping (Windows) pour vérifier l'état du service. Utilisez un client redis, tel que redis-cli, python ou node.js pour accéder au serveur.

Le réglage de la taille de la mémoire redis doit prendre en compte les facteurs suivants: volume de données et tendance de croissance: estimer la taille et le taux de croissance des données stockées. Type de données: différents types (tels que les listes, les hachages) occupent une mémoire différente. Politique de mise en cache: le cache complet, le cache partiel et les politiques de phasage affectent l'utilisation de la mémoire. Péx commercial: laissez suffisamment de mémoire pour faire face aux pics de trafic.

** Le paramètre central de la configuration de la mémoire redis est MaxMemory, qui limite la quantité de mémoire que Redis peut utiliser. Lorsque cette limite est dépassée, Redis exécute une stratégie d'élimination selon maxmemory-policy, notamment: Noeviction (rejeter directement l'écriture), AllKeys-LRU / Volatile-LRU (éliminé par LRU), AllKeys-Random / Volatile-Random (éliminé par élimination aléatoire) et TTL volatile (temps d'expiration). D'autres paramètres connexes incluent des échantillons maxmemory (quantité d'échantillon LRU), compression RDB

Redis Persistance prendra une mémoire supplémentaire, RDB augmente temporairement l'utilisation de la mémoire lors de la génération d'instantanés, et AOF continue de prendre de la mémoire lors de l'ajout de journaux. Les facteurs d'influence comprennent le volume des données, la politique de persistance et la configuration de Redis. Pour atténuer l'impact, vous pouvez raisonnablement configurer les stratégies d'instantané RDB, optimiser la configuration AOF, mettre à niveau le matériel et le surveiller l'utilisation de la mémoire. En outre, il est crucial de trouver un équilibre entre les performances et la sécurité des données.

Python convient à la science des données, au développement Web et aux tâches d'automatisation, tandis que C convient à la programmation système, au développement de jeux et aux systèmes intégrés. Python est connu pour sa simplicité et son écosystème puissant, tandis que C est connu pour ses capacités de contrôle élevées et sous-jacentes.
