python入门(二)字符串

目录

(1)数字与字符串的互相转化

(2)运算:‘+’   ‘*’   ‘len()’  ‘in’

(3)索引方式,切片

①正向索引与逆向索引

②切片

         ③切片不改变原字符串

④字符串不能以索引的方式被改变

(4)输入

(5)index()方法

(6)字符串分割成列表 :split()

(7)列表合成字符串 :join()

(8)字符串的格式化输出 :format

①format:向字符串中的位置给出自己想要的词

②format的一些格式


(1)数字与字符串的互相转化

强制转换方法

print(type(int('666')))
print(type(str(666)))

显示:

<class 'int'>
<class 'str'>

(2)运算:‘+’   ‘*’   ‘len()’  ‘in’

m = 'python'
n = 'book'

print(m+n)                    拼接
print(m*3)                    复制
print(len(m))                 长度
print('p' in m)               判断‘字符’是否在字符串中
print('a' in m) 

显示:

pythonbook
pythonpythonpython
6
True
False

(3)索引方式,切片

①正向索引与逆向索引

r      =     'pythonbook'
正向索引:     0123456789
逆向索引:     -10 -9 -8 -7 -6 -5 -4 -3 -2 -1

在python中,每个字符串有两个索引序号,r【0】与r【-10】指的都是‘p’

r【0】意味着正向从左到右数第一个

r【-10】意味着逆向从右到左数第十个

②切片

r[a:b:c]
a:起始位置,包括该位置。省略为从头开始取值。
b:终止位置,不包括该位置。省略为到末尾结束。
c:步长,可省略,省略为1。可为负数,逆向取值,a,b还是起始位置和终止位置即 r[9:1:-1] 

举例:

r = 'pythonbook'
print(r[1:9])
print(r[1:9:2])
print(r[9:1:-1])
print(r[::-1])


显示:

ythonboo
yhno
koobnoht
koobnohtyp

符合上述规则。

③切片不改变原字符串

r = 'pythonbook'
print(r[::-1])
print(r)

显示为

koobnohtyp
pythonbook

切片操作在新建的字符串上进行操作,不改变原字符串

④字符串不能以索引的方式被改变

r = 'pythonbook'
r[2] = 'a'
print(r)

显示:

Traceback (most recent call last):
  File "。。。", line 17, in <module>
    r[2] = 'a'
TypeError: 'str' object does not support item assignment

(4)输入

name = input("your name is : ")
print(name)

显示:

your name is : xiaow  这里的xiaow是自己输入的部分
xiaow

(5)index()方法

功能:查找字符串 s 中是否含有子串

s.index(sub,start,end)
sub:子串,可以是 字符 也可以是 字符串
start:开始位置,可省略,默认为从头开始。
end:  结束位置,可省略,默认搜索到结尾。



r = 'pythonbook'
print(r.index('o'))            查找是否存在‘o’ 从头开始,返回值为第一个‘o’的位置
print(r.index('o',5))          从位置5开始查找,返回值为这次查到的第一个‘o’的位置

显示:

4
7

若是没有子串,则会报错。

(6)字符串分割成列表 :split()

s.split('a')    把字符串s以‘a’为分割符切割开,分开的序列形成了一个列表。
                'a'可以是空格,也可以是空的

举例:

s = "I love nlp ."
print(s.split(' '))

显示:

['I', 'love', 'nlp', '.']

(7)列表合成字符串 :join()

‘a’.join(lst)        用'a'做连接符,将lst列表中的元素连接成字符串

举例

s = "I love nlp ."
print('-'.join(s.split(' ')))

显示:

I-love-nlp-.

(8)字符串的格式化输出 :format

①format:向字符串中的位置给出自己想要的词

s = "I like {1} and {0}".format("w","y")
print(s)

显示:

I like y and w         format()中的词有位置关系,0,1。。。前面的格式可以修改位置以获得合适的词

②format的一些格式

{a:b}中第一位还是对应后面元素的位置,b为占位数,默认左对齐
{a:>b} a位置的元素,右对齐,占位数为b
{a:^b} a位置的元素,居中对齐,占位数为b        a,b均为数字
{a:d}  a位置的元素,要求格式是整数             d为字符(整数)
{a:.1f} a位置的元素,要求格式是保留一位小数    .xf  x为保留小数位置,f为字符(浮点数)

s = "I like {1:10} and {0:.1f}".format(0.9,"y")
s = "I like {1:^10} and {0:>.1f}".format(0.9,"y")

显示:

I like y          and 0.9
I like     y      and 0.9

③f‘’

也可通过提前定义变量的方式,将变量导入字符串

name = 'xiaow'
print(f'hello,{name}')

显示:

hello,xiaow

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值