Maison  >  Article  >  développement back-end  >  Explication détaillée de la chaîne de caractères en Python avec des exemples

Explication détaillée de la chaîne de caractères en Python avec des exemples

巴扎黑
巴扎黑original
2017-09-26 10:40:413378parcourir

L'éditeur suivant vous proposera un article sur les Chaînes de caractères en python (explication avec exemples). L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Venez jeter un œil avec l'éditeur

1. chaîne python

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

Python ne prend pas en charge les types de caractères uniques. Les caractères simples sont également utilisés comme chaîne en Python.


>>> var1 = 'hello python' #定义字符串
>>> print(var1[0]) #切片截取,从0开始,不包括截取尾数
h
>>> print(var1[0:5])
hello
>>> print(var1[-6:])
python
>>> var2 = var1[0:6]+'world' #截取字符并拼接赋值给新变量
>>> print(var2)
hello world

2. Caractère d'échappement Python

: En fin de ligne, c'est le caractère de continuation de ligne

\  : échappement de barre oblique inverse, sortie ''

' : échappement de guillemet simple

" : échappement de guillemets doubles

b : retour arrière

n  : saut de ligne

v  : Caractère de tabulation verticale

t  : Caractère de tabulation horizontale

r  : Retour chariot

f  : Saut de page

3. Opérateurs de chaîne python

(+) épissage, (*) répétition, ([]) index, ([:] ) tranche, (in) jugement de membre, (pas dans) jugement non membre, chaîne de sortie d'élément (r/R)


>>> var1 = 'hello'
>>> var2 = 'python'
>>> print(var1+var2) #拼接字符串
hellopython
>>> print(var1*3) #重复输出字符串
hellohellohello
>>> print(var1[0]) #索引字符串
h
>>> print(var1[3:]) #索引切片
lo
>>> 'e' in var1 #判断字符串是否在变量中
True
>>> 'p' not in var1 #判断字符串是否不在变量中
True
>>> print("he\tllo \n") 
he llo 
>>> print(r"he\tllo \n") #原始输出字符串,也就是原始输出转义字符
he\tllo \n

4. Chaîne formatée

Python prend en charge la 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.

Symboles de formatage de chaîne Python :

%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %f 和 %E 的简写
%p 用十六进制数格式化变量的地址

Instructions auxiliaires de l'opérateur de formatage :

* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
40248cdb8ba3b8fe238e2ffa5e6e3cd8 在正数前面显示空格
# 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0 显示的数字前面填充'0'而不是默认的空格
% '%%'输出一个单一的'%'
(var) 映射变量(字典参数)
m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)


>>> print("ascii:%c"%'s') #格式化输出字符
ascii:s
>>> print("ascii:%c"%'1') #格式化输出数字
ascii:1
>>> print("str:%s"%'character string') #格式化字符串
str:character string
>>> print("str:%d"%888) #格式化整数
str:888
>>> print("str:%f"%888) #格式浮点数
str:888.000000
>>> print("str:%e"%888) #格式化科学计数浮点数
str:8.880000e+02
>>> print("str:%E"%888) #同上
str:8.880000E+02
>>> print("str:%G"%888) #%f和%E的简写
str:888

>>> print("str:%20f"%888.089) #定义20宽度输出
str:  888.089000
>>> print("str:%-20f"%888.089) #用左对齐
str:888.089000  
>>> print("str:%+20f"%888.089) #在正数前显示加号
str:  +888.089000
>>> print("str:%+-20f"%888.089) #左对齐显示加号
str:+888.089000  
>>> print("str:%020f"%888.089) #以0填充默认的空格
str:0000000000888.089000
>>> print("str:%%%20f"%888.089) #在数字前输入%号
str:%  888.089000
>>> print("str:%%%-20f"%888.089) #左对齐输出%号
str:%888.089000  
>>> print("str:%20.3f"%888.089) #显示最小总宽度20,小数点后位数为3位
str:  888.089

Depuis python2.6, la fonction de format string str.format() a été ajoutée :

Utilisation : Elle remplace %

par {} et :

Paramètres de position ne sont pas soumis à des contraintes d'ordre et peuvent être {} vides, tant qu'il y a une valeur de paramètre correspondante dans le format. Si la valeur du paramètre n'est pas suffisante, une erreur sera signalée. L'index du paramètre commence à 0 et le. la liste des paramètres de position entrants peut être utilisée* Liste


In [27]: '{}+{}={}'.format(1,2,3) #格式化按顺序应用参数值
Out[27]: '1+2=3'
In [28]: '{2}-{1}={0}'.format(1,2,3) #指定顺序应用参数值
Out[28]: '3-2=1'
In [29]: '{0}+{0}={1}'.format(2,3) #指定参数可以重复使用
Out[29]: '2+2=3'
In [30]: '{}+{}={}'.format(2,3) #如不指定顺序,format参数不够就会报错
---------------------------------------------------------------------------
IndexError    Traceback (most recent call last)
<ipython-input-30-29f40e412920> in <module>()
----> 1 &#39;{}+{}={}&#39;.format(2,3)
IndexError: tuple index out of range

In [31]: l1 = [2,4,8] 
In [32]: &#39;{}*{}={}&#39;.format(*l1) #使用列表引用参数值
Out[32]: &#39;2*4=8&#39;

In [33]: dct = {&#39;name&#39;:&#39;python&#39;,&#39;age&#39;:20} #定义字典
In [35]: &#39;welcom to {name},age is {age}&#39;.format(name=&#39;qi&#39;,age=28) #变量引用
Out[35]: &#39;welcom to qi,age is 28&#39;

In [36]: &#39;welcom to {name},age is {age}&#39;.format(**dct) #使用**引用字典参数必须填写key值
Out[36]: &#39;welcom to python,age is 20&#39;

填充与格式化:
In [53]: "{0: >20}".format("string") #从0位开始已空格填充20宽度左对齐
Out[53]: &#39;  string&#39;

In [54]: "{0:&>20}".format("string")
Out[54]: &#39;&&&&&&&&&&&&&&string&#39;

In [55]: "{0:#>20}".format("string") #使用#号会有个小bug
 ....: 
Out[55]: &#39;##############string&#39;

In [60]: &#39;{0:+<20}&#39;.format("string") #向右对齐填充+
Out[60]: &#39;string++++++++++++++&#39;

In [61]: &#39;{0:+^20}&#39;.format("string") #剧中对齐填充+
Out[61]: &#39;+++++++string+++++++&#39;

精度与进制:
>>> &#39;{0:.3f}&#39;.format(10/3) #小数位进度格式化
&#39;3.333&#39;
>>> &#39;{0:b}&#39;.format(8) #格式化二进制
&#39;1000&#39;
>>> &#39;{0:o}&#39;.format(9) #格式化八进制
&#39;11&#39;
>>> &#39;{0:x}&#39;.format(26) #格式化十六进制
&#39;1a&#39;
>>> &#39;{0:,}&#39;.format(123456789) #千分位格式化
&#39;123,456,789&#39;

使用索引:
>>> l2 = [&#39;AA&#39;,{&#39;bb&#39;:&#39;cc&#39;},(&#39;d&#39;,&#39;e&#39;)] #列表索引引用
>>> &#39;outing:{0[0]}&#39;.format(l2) 
&#39;outing:AA&#39;
>>> &#39;outing:{0[0]},{0[1]}&#39;.format(l2) #将列表当成一个元素,在其中索引值
"outing:AA,{&#39;bb&#39;: &#39;cc&#39;}"

5.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn