Tutoriel d'intr...login
Tutoriel d'introduction de base à Python
auteur:php.cn  temps de mise à jour:2022-04-18 16:14:50

Chaîne Python


String est le type de données le plus couramment utilisé en Python. Nous pouvons utiliser des guillemets (' ou ") pour créer des chaînes.

Créer une chaîne est aussi simple que d'attribuer une valeur à une variable. Par exemple :

var1 = 'Hello World !'
var2 = "Python php"

Python accède à la valeur dans une chaîne

Python ne prend pas en charge les types de caractères uniques, les caractères uniques sont également disponibles dans Python Utilisé comme chaîne.

Python accède aux sous-chaînes. Vous pouvez utiliser des crochets pour intercepter la chaîne, comme indiqué dans l'exemple suivant :

#!/usr/bin/python.

var1 = 'Bonjour tout le monde !'
var2 = "Python php"

print "var1[0] : ", var1[0]
print "var2[1 : 5] : ", var2[1:5]

Le résultat de l'exécution de l'exemple ci-dessus :

var1[0] : H
var2[1 : 5] : ytho

Mise à jour de la chaîne Python

Vous pouvez modifier une chaîne existante et l'attribuer à une autre variable, comme dans l'exemple suivant :

#!/usr/bin/python
# -*- codage : UTF-8 -*-

var1 = 'Hello World!'

print "Chaîne de mise à jour : - " , var1[:6] + 'php!'

Résultat de l'exécution de l'exemple ci-dessus

Chaîne de mise à jour : - Bonjour php !

Caractères d'échappement Python

Lorsque des caractères spéciaux doivent être utilisés dans les caractères, Python utilise une barre oblique inverse () pour échapper les caractères, comme indiqué dans le tableau suivant :

转义字符描述
(在行尾时)续行符
\反斜杠符号
'单引号
"双引号
a响铃
b退格(Backspace)
e转义
00
n换行
v纵向制表符
t横向制表符
r回车
f换页
oyy八进制数,yy代表的字符,例如:o12代表换行
xyy十六进制数,yy代表的字符,例如:x0a代表换行
other其它的字符以普通格式输出
.

Opérateurs de chaîne Python

La valeur de la variable d'instance a dans le tableau suivant est la chaîne "Bonjour", et la valeur de la variable b est "Python" :

操作符描述实例
+字符串连接a + b 输出结果: HelloPython
*重复输出字符串a*2 输出结果:HelloHello
[]通过索引获取字符串中字符a[1] 输出结果 e
[ : ]截取字符串中的一部分a[1:4] 输出结果 ell
in成员运算符 - 如果字符串中包含给定的字符返回 TrueH in a 输出结果 1
not in成员运算符 - 如果字符串中不包含给定的字符返回 TrueM not in a 输出结果 1
r/R原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。print r'n' 输出 n 和 print R'n' 输出 n
%格式字符串请看下一章节

L'exemple est le suivant :

#!/usr/bin/python
# -*- codage : UTF-8 -*-

a = " Bonjour"
b = "Python"

imprimer "a + b Résultat de sortie :", a + b
imprimer "a * 2 Résultat de sortie :", a * 2
imprimer " a[1 ] Résultat de sortie : ", a[1]
print "a[1:4] Résultat de sortie : ", a[1:4]

if( "H" in a) :
print "H est dans la variable a"
else :
print "H n'est pas dans la variable a"

if( "M" pas dans a) :
print "M n'est pas dans la variable a "
else :
print "M est dans la variable a"

print r'n'
print R'n'

Le résultat de l'exécution du programme ci - dessus est :

a + b Résultat de sortie: HelloPython
a * 2 Résultat de sortie: HelloHello
a[1] Résultat de sortie: e
a [1:4] Résultat de sortie : ell
H est dans la variable a
M n'est pas dans la variable a
n
n

Formatage de chaîne Python

Prise en charge de Python Sortie de chaîne formatée. Bien que cela puisse impliquer des expressions très complexes, l'utilisation la plus basique consiste à insérer une valeur dans une chaîne avec le caractère de formatage de chaîne %s.

En Python, le formatage des chaînes utilise la même syntaxe que la fonction sprintf en C.

L'exemple suivant :

#!/usr/bin/python

print "Mon nom est %s et mon poids est %d kg %!" 'Zara', 21)

L'exemple de résultat ci-dessus :

Je m'appelle Zara et je pèse 21 kg !

python chaîne Symboles de formatage :


Symbole Description
%c Format caractères et leurs codes ASCII
%s Chaîne de format
%d Entier formaté
%u Formater l'entier non signé
%o Formater le nombre octal non signé
%x Nombre hexadécimal non signé formaté
%X Formater le nombre hexadécimal non signé (majuscule)
%f Formater les nombres à virgule flottante, vous pouvez spécifier la précision après la virgule décimale
%e Formater les nombres à virgule flottante nombre en notation scientifique
%E Identique à %e, formater les nombres à virgule flottante en notation scientifique
%g Abréviations pour %f et %e
%G Abréviations pour %f et %E
%p Utilisez dix Adresse de la variable au format hexadécimal

Commande auxiliaire de l'opérateur de format :

SymboleFonction
符号功能
*定义宽度或者小数点精度
-用做左对齐
+在正数前面显示加号( + )
<sp>在正数前面显示空格
#在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0显示的数字前面填充'0'而不是默认的空格
%'%%'输出一个单一的'%'
(var)映射变量(字典参数)
m.n.m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
<🎜><🎜>*<🎜><🎜>Définir la largeur ou la précision du point décimal<🎜><🎜>< 🎜><🎜> -<🎜><🎜> est utilisé pour l'alignement à gauche<🎜><🎜><🎜><🎜>+<🎜><🎜>Afficher le signe plus (+) devant les nombres positifs<🎜><🎜 ><🎜 ><🎜><sp><🎜><🎜>Afficher les espaces avant les nombres positifs<🎜><🎜><🎜><🎜>#<🎜><🎜>Afficher les zéros avant les nombres octaux (« 0 »), affiche '0x' ou '0X' devant l'hexadécimal (selon que 'x' ou 'X' est utilisé)<🎜><🎜><🎜><🎜>0<🎜><🎜 >Le nombre affiché est précédé de '0' au lieu des espaces par défaut <🎜><🎜><🎜><🎜>%<🎜><🎜> '%%' génère un seul '%' <🎜><🎜> <🎜><🎜>( var)<🎜><🎜>Variable de carte (paramètre du dictionnaire)<🎜><🎜><🎜><🎜>m.n.<🎜><🎜>m est la largeur totale minimale de l'affichage, n est le nombre de chiffres après le point décimal (si disponible)<🎜><🎜><🎜><🎜>

Les guillemets triples Python

Les guillemets triples en Python peuvent copier des chaînes complexes :

Les guillemets triples Python permettent à une chaîne de s'étendre sur plusieurs lignes, caractères. Les chaînes peuvent contenir des nouvelles lignes, des tabulations et d'autres caractères spéciaux.

La syntaxe des guillemets triples est une paire de guillemets simples ou doubles consécutifs (généralement utilisés par paires).

>>> salut = '''salut
là'''
>>> salut # repr()
'hinthere'
>>> print hi # str()
hi

Les triples guillemets libèrent les programmeurs du bourbier des guillemets et des chaînes spéciales, et maintiennent la cohérence de du début à la fin. Le format des petites chaînes est ce que l'on appelle le format WYSIWYG (What You See Is What You Get).

Un cas d'utilisation typique est celui où vous avez besoin d'un morceau de HTML ou de SQL, alors en utilisant une combinaison de chaînes, l'échappement de chaîne spéciale sera très fastidieux.

errHTML = '''
<HTML><HEAD><TITLE>
Amis Démo CGI</TITLE></HEAD>
<BODY> ;<H3>ERREUR</H3>
<B>%s</B><P>
<FORM><INPUT TYPE=bouton VALUE=Retour
ONCLICK="fenêtre .history.back()"></FORM>
</BODY></HTML>
'''
cursor.execute('''
CREATE TABLE utilisateurs (
login VARCHAR(8),
uid INTEGER,
prid INTEGER)
''')

Chaîne Unicode

Définir une chaîne Unicode en Python est aussi simple que de définir une chaîne normale :

>>> u'Hello World !'
u'Hello World ! 🎜>
Le « u » minuscule avant les guillemets indique qu'une chaîne Unicode est créée ici. Si vous souhaitez inclure un caractère spécial, vous pouvez utiliser le codage Unicode-Escape de Python. Comme le montre l'exemple suivant :

>>> u'Hellou0020World !'
u'Hello World !'

L'identifiant u0020 remplacé signifie insérer le caractère Unicode (caractère espace) avec la valeur de codage 0x0020 à la position donnée.


Les fonctions de chaîne intégrées de Python

Les méthodes de chaîne ont été lentement ajoutées de python1.6 à 2.0 - elles ont également été ajoutées à Jython.

Ces méthodes implémentent la plupart des méthodes du module string. Le tableau suivant répertorie les méthodes actuellement prises en charge par la chaîne intégrée. Toutes les méthodes incluent la prise en charge d'Unicode, et certaines sont même spécialement conçues pour Unicode.

<. 🎜>Si la chaîne contient au moins Si un caractère et tous les caractères sont des lettres ou des chiffres, string.isalpha()Renvoie True si la chaîne contient au moins un caractère et que tous les caractères sont des lettres, string.isdecimal()Renvoie True si la chaîne ne contient que des chiffres décimaux, sinon renvoie False. string.isdigit()string.partition(str)<🎜). > est similaire à la fonction find(), mais elle recherche à partir de la droite.string. str, beg=0,end=len(string)) est similaire à index(), mais commence à droite.string.rjust(width)Renvoie une nouvelle chaîne avec la chaîne d'origine alignée à droite et complétée par des espaces jusqu'à la longueur largeurstring.rpartition(str)Similaire à la fonction partition(), mais en partant de la droite.string.rstrip()
MéthodeDescription

string.capitalize()

Mise en majuscule le premier caractère de la chaîne

string.center(width)

Renvoie une nouvelle chaîne avec la chaîne d'origine centrée et complétée par des espaces jusqu'à la longueur largeur

string.count (str, beg=0, end=len(string))

Renvoie le nombre de fois que str apparaît dans la chaîne. Si beg ou end est spécifié, le nombre spécifié est. renvoyé Le nombre d'occurrences de str dans la plage

string.decode(encoding='UTF-8', erreurs='strict')

Décoder la chaîne dans le format d'encodage spécifié par encoding. Si une erreur se produit, une exception ValueError sera signalée par défaut, sauf si les erreurs spécifient « ignorer » ou « remplacer »

string.encode(encoding='UTF-8', erreurs='strict')

Encoder la chaîne dans le format d'encodage spécifié par encodage. Si une erreur se produit, une exception ValueError sera signalée par défaut, sauf si les erreurs spécifient « ignorer » ou « remplacer »

string.endswith. (obj, beg=0, end=len(string))

Vérifiez si la chaîne se termine par obj. Si beg ou end est spécifié, vérifiez si la plage spécifiée se termine. avec obj. Si c'est le cas, retournez True, sinon retournez False.

string.expandtabs(tabsize=8)

Convertir les symboles de tabulation dans la chaîne de caractères en espaces, tabulation Le nombre d'espaces par défaut pour les symboles est 8.

string.find(str, beg=0, end=len(string))

Vérifiez si str est inclus dans la chaîne. Si beg et end spécifient la plage, vérifiez si elle est incluse dans la plage spécifiée. Si c'est le cas, renvoyez la valeur de l'index de départ, sinon renvoyez -1

string.index(str, beg=0, end=len(string))

Identique à find( ), uniquement. Cependant, si str n'est pas dans la chaîne, une exception sera signalée

string.isalnum()

<🎜. >

renvoie True, sinon elle renvoie False

Sinon renvoie False

Renvoie True si la chaîne ne contient que des nombres, sinon renvoie False.

string.islower()

Renvoie True si la chaîne contient au moins un caractère sensible à la casse et que tous ces caractères (sensibles à la casse) sont en minuscules, sinon False

string.isnumeric()

Si la chaîne ne contient que des caractères numériques, renvoie True, sinon renvoie False

string .isspace()

Si la chaîne ne contient que des espaces, elle renvoie True, sinon elle renvoie False.

string.istitle()

Renvoie True si la chaîne est titrée (voir title()), sinon renvoie False

string.isupper()

Si la chaîne contient au moins un caractère sensible à la casse, et tous ces caractères (sensibles à la casse) Si tous sont en majuscules, True est renvoyé, sinon False est renvoyé

Utilisez la chaîne comme séparateur pour combiner tous les éléments (représentations sous forme de chaîne) dans seq dans une nouvelle chaîne

string.ljust( width)

Renvoie une nouvelle chaîne avec la chaîne d'origine alignée à gauche et complétée par des espaces jusqu'à la longueur largeur

string.lower ()

Convertissez tous les caractères majuscules de la chaîne en minuscules.

string.lstrip()

Tronquer l'espace à gauche de la chaîne

string.maketrans(intab, outtab])

La méthode maketrans() est utilisée pour créer une table de conversion pour le mappage de caractères. Pour la méthode d'appel la plus simple qui accepte deux paramètres, le premier paramètre est une chaîne représentant les caractères qui doivent être convertis et le deuxième paramètre. Également la cible de la conversion de la représentation sous forme de chaîne.

max(str)

Renvoie la plus grande lettre de la chaîne

str

.

min(str)

Renvoie la plus petite lettre de la chaîne str

.

Un peu comme find() et split ( ), en commençant par la première position où str apparaît, divisez la chaîne string en un tuple à 3 éléments (string_pre_str, str, string_post_str, si string ne contient pas str, string_pre_str == string.

string.replace(str1, str2, num=string.count(str1))

Remplacer str1 dans la chaîne par str2. Si num est spécifié, le remplacement ne dépassera pas num fois

string.rfind(str, beg=0,end=len (string) ).

Supprimez les espaces à la fin de la chaîne string.

string.split(str="", num= string .count(str))

Utilisez str comme séparateur pour découper la chaîne Si num a une valeur spécifiée, seules les sous-chaînes num seront séparées

<🎜. >
string.splitlines(num=string.count('n'))

Séparer par ligne, renvoyer une liste contenant chaque ligne en tant qu'élément, si num est spécifié, seules num lignes seront découpées.

string.startswith(obj, beg=0,end=len(string) )

Vérifiez si la chaîne commence par obj, si c'est le cas, renvoyez True, sinon renvoyez False. Si le début et la fin spécifient des valeurs, vérifiez dans la plage spécifiée.

string.strip([obj])

Exécuter lstrip() et rstrip() sur string

string.swapcase()

Inverser la casse dans la chaîne

string.title()

Retour à la chaîne "Titleisation", c'est-à-dire , tous les mots commencent par une majuscule et les lettres restantes sont en minuscules (voir istitle())

string.translate(str , del="" )

Convertir les caractères de chaîne selon le tableau donné par str (contenant 256 caractères),

mettre les caractères à filtrer Dans le del paramètre

string.upper()

convertit les lettres minuscules de la chaîne en majuscules

string.zfill(width)

Renvoie une chaîne avec une longueur et une largeur de 0.

string.isdecimal()

La méthode isdecimal() vérifie si la chaîne contient uniquement des caractères décimaux. Cette méthode n'existe que pour les objets Unicode.