Python编程基础-字符串

1.字符串

用单引号或双引号括起来的字符串。‘HelloWorld’或"HelloWorld"

字符转义:特殊字符已经被定义,若字符串中包含特殊的字符时,加"\"进行转义。

下列为常用的转义符

字符表意Unicode编码
\t水平制表符\u0009
\n换行符\u000a
\r回车\u000d
\"双引号\u0022
\'单引号\u0027
\\反斜杠\u005c
>>> s = 'Hello\tWorld'
>>> print(s)
Hello	World
>>> s = 'Hello\nWorld'
>>> print(s)
Hello
World
>>> s = 'Hello\rWorld'
>>> print(s)
Hello
World
>>> s = 'Hello\"World'
>>> print(s)
Hello"World
>>> s = 'Hello\'World'
>>> print(s)
Hello'World
>>> s = 'Hello\\World'
>>> print(s)
Hello\World
>>> s = 'Hello\u000a World'
>>> print(s)
Hello
 World

2.原始字符串

在字符串前加r表示原始字符串,原始字符串中的特殊字符不需要转义。

>>> s = 'Hello\nWorld'
>>> print(s)
Hello
World
>>> s = r'Hello\nWorld'
>>> print(s)
Hello\nWorld

3.长字符串

'''......'''(三个单引号括起来)或"""......"""(这是三个双引号,不是六个单引号)

>>> s = '''
《西游记·第八十七回》
人心生一念,天地悉皆知。
善恶若无报,乾坤必有私。
'''
>>> print(s)

《西游记·第八十七回》
人心生一念,天地悉皆知。
善恶若无报,乾坤必有私。

4.字符串与数字转换

(1)字符串转换数字

字符串与数字转换需要函数进行显示转换。

使用int()和float(),成功转换显示数字,不成功报错ValueError

>>> int('c')     #默认int转换为十进制,c无法转换十进制报值错误
Traceback (most recent call last):
  File "<pyshell#38>", line 1, in <module>
    int('c')
ValueError: invalid literal for int() with base 10: 'c'
>>> int('c',16) #指定转换十六进制数字,正常转换
12
>>> int('9527')
9527
>>> int('95.27')     #95.27无法转换为整数
Traceback (most recent call last):
  File "<pyshell#41>", line 1, in <module>
    int('95.27')
ValueError: invalid literal for int() with base 10: '95.27'
>>> float('95.27')   #95.27可以转换为浮点数
95.27

注:int()函数可以指定转换进制

(2)数字转换字符串

str(),大多数数据类型都可以转换为str

>>> float('95.27')
95.27
>>> str(9527)
'9527'
>>> Num = 95.27
>>> str(Num)
'95.27'

(3)格式化字符串

我们经常遇到字符串和数字同时打印输出的情况,聪明的你可能想到用str()函数将数值转换字符后拼接打印。

>>> x = 4
>>> print("i乘i等于"+str(i*i))
i乘i等于16

这里介绍一种新方法——使用占位符{ }

>>> x = 4
>>> print('{0}乘{0}等于{1}'.format(x,x*x))  #参数序号表示占位符
4乘4等于16
>>> print('{y1}乘{y1}等于{y2}'.format(y1=x,y2=x*x)) #占位符用参数名表示
4乘4等于16
>>> print("x乘x等于{}".format(x*x)) #{}默认占位符表示x*x
x乘x等于16

(4)格式化控制符

实际就是占位符,用格式化控制符指定字符串格式。语法是{参数序号:格式控制符}或{参数名:格式控制符}。

>>> x = 0.2
>>> s = '唐伯虎'
>>> print('{0:s}在华府编号{1:d},书童工资{2:f}钱'.format(s,9527,x))
唐伯虎在华府编号9527,书童工资0.200000钱

格式化控制符如下表: 

格式控制符表示
s字符串
d十进制整数
f、F十进制浮点数
g、G十进制整数或浮点数
e、E科学计算法表示浮点数
o八进制整数,符号是小英文字母o
x、X十六进制整数,x是小写表示,X是大写表示

5.操作字符串

(1)查找

find()方法,语法str.find(sub[,start[,end]]),表示在索引start到end之间查找子串sub,找到返回最左端索引位置,没找到返回-1。其中[ ]可以省略。

>>> s = 'Hello World'
>>> s.find('W')
6
>>> s.find(' ') #此处有空格
5
>>> s.find(' ',4,6)  #从索引4开始到6找到空格
5
>>> s.find(' ',6,9)  #从索引6开始到9找到空格
-1

(2)替换

replace()方法,语法str.replace(old,new[,max]),表示用new子串替换old子串,max表示替换次数,省略max表示替换所有old子串。

>>> s = 'H e l l o W o r l d'
>>> s.replace('l','!',1)
'H e ! l o W o r l d'
>>> s.replace('l','!')
'H e ! ! o W o r ! d'

(3)分割

split()方法,语法str.split(sep=None,maxsplit=-1),表示sep子串分割字符串str,maxsplit表示最大分割次数,省略maxsplit表示不限制分割次数,即全部分割。

>>> s = 'H e l l o W o r l d'
>>> s.split(' ')
['H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd']
>>> s.split(' ',maxsplit=0)
['H e l l o W o r l d']
>>> s.split(' ',maxsplit=1)
['H', 'e l l o W o r l d']
>>> s.split(' ',maxsplit=2)
['H', 'e', 'l l o W o r l d']

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值