python基础知识整理——字符串

本文介绍了Python中字符串的基础操作,包括序列操作、转义字符、字符串运算等,并详细讲解了字符串格式化方法及常用的字符串方法。

 

1.字符串的基本操作

       所有标准的序列操作(索引、分片、乘法、判断成员的资格、求长度、取最大值和最小值)都适用于字符串。

Python 字符串

  • 字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
  • 创建字符串很简单,只要为变量分配一个值即可。例如:
var1 = 'Hello World!' var2 = "Python Runoob"

Python访问字符串中的值

  • Python不支持单字符类型,单字符也在Python也是作为一个字符串使用。
  • Python访问子字符串,可以使用方括号来截取字符串,如下实例:
#!/usr/bin/python var1 = 'Hello World!' var2 = "Python Runoob" print "var1[0]: ", var1[0] print "var2[1:5]: ", var2[1:5]

以上实例执行结果:

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

2.转义字符

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

 

3.字符串运算

下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":

操作符描述实例
+字符串连接

>>>a + b
'HelloPython'

*重复输出字符串

>>>a * 2
'HelloHello'

[]通过索引获取字符串中字符

>>>a[1]
'e'

[ : ]截取字符串中的一部分

>>>a[1:4]
'ell'

in成员运算符 - 如果字符串中包含给定的字符返回 True

>>>"H" in a
True

not in成员运算符 - 如果字符串中不包含给定的字符返回 True

>>>"M" not in a
True

r/R原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。

>>>print r'\n'
\n
>>> print R'\n'
\n

%格式字符串 

4.字符串格式化

多个值需要变成元祖

#!/usr/bin/python

print "My name is %s and weight is %d kg!" % ('Zara', 21) 

My name is Zara and weight is 21 kg!

使用规则

  • 当一个参数时,不需要设置一个元组。
  • 当一个以上的参数时必须为一个元组。

>>> print'%d'%1
1
>>> print '%d,%d'% 1,2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: not enough arguments for format string
>>> print '%d,%d'%(1,2)
1,2
字段的宽度和精度

  • 字段的宽度(是转换后的值所保留的最小字符个数,及空格+字符所占用的格式)
  • 字段的精度(是目标数字打印时的显示精度,及几位小数点。)
  • 字段的精度和宽度都可以使用‘*’配合元组来表示目标参数的宽度和精度。

示例代码:

 

>>> '%10f'% 1
'  1.000000'
>>> '%10d'1
  File "<stdin>", line 1
    '%10d'1
          ^
SyntaxError: invalid syntax
>>> '%10d' % 1
'         1'
>>> '%10d'% 1
'         1'
>>> '%10s'% str
"<type 'str'>"
>>> '%10s'% 'str'
'       str'
>>>
>>> '%.*s'% (5,'hsidshidshid')
'hsids'
>>> '%.*f'% (3,1)
'1.000'

符号、对齐、和0

在字段宽度和精度钱还可以放置一个参数,即“标志”,该标志表达符号为“+、-、0、空格”

零的用法:

>>> '%010.2f'% 1
'0000001.00'

“+”作用:

 

“-”作用:

“空格”作用:

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

5.字符串方法

字符串的方法有很多,在这只介绍几个经常用的方法。

find

  • 寻找某个字符串组中的子字符串。
  • 还可以寻找两个相同的字符串的开头和终止位置。
'my name is cai'.find('cai')
'$$$ my name is cai $$$'.find($$$,0,19)#0代表的是起点,19代表的是终点;这个用法意义不大

lower

把所有的字符串都变成小写字母。

from string import *
a='MY NAME IS CAI'
a.lower()


capwords首字母变大写


from string import *
a="that's is my boby"
string.capwords("a")

 

strip

去除空格

'    my name is cai '.strip()

split/join 这两个函数的作用是相逆的

join的作用是字符串的特殊相加;而split将字符串分割成序列。

c=['1','2','3','4']
d='+'
c=d.join(c)#列表没有这种方法所以对象不能为列表
c.split('+')

replece

' my name is cai,my baby is ren'.replace('ren','dan dan')

 

 

转载于:https://my.oschina.net/u/3754854/blog/1621867

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值