python之字符串的简单操作

1.字符串的类型转换:str()

m = 10
print(type(m))
m = str( m )
print(type( m ))

           我们可以通过str(目标值)直接转换成字符串通过type()函数判断一下其前后的类型变化。

        观察结果发现,m首先是int,然后通过str转换成字符串类型

2.字符产的输入:input()

name = input('请输入的你名字:')
print(name)
print(type(name))

        input()里面就是提示文字,提示你该干嘛的。

        可以看到输入的类型就是字符串,因此我们可以知道通过input()输入的数字也是字符串,如果需要相关计算,需要把字符串转换成int或者double等类型。

price_each = 5
weight = input('请输入需要的数量:')
weight = int(weight) #把weight转换成int
print("需要的价格%d"%(weight * price_each))

        这里有一个值得注意的点就是刚才提到的字符串转换成int的问题,直接用int(目标)就可以,转换成double也是如此。

3.字符串的拼接:

        前面已经涉及到了一点字符串的拼接问题,先来看%s 或者%d 的形式加上对应变量。

name = '老王'
age = 10
sex = 'boy'
print('姓名:%s,性别:%s,年龄:%d岁'%(name,sex,age))

        对于这中多个在一起的可以直接用这样的括号输出。

print('姓名:%s'%name)

单个的就直接输出就行,当然字符串是可以加减和赋值的。

all_ = '姓名:'+name + '年龄:'+str(age) + '性别' + 'sex'
print(all_)

        这里也使用了上述的类型转换。

4.字符串的下标:

        通过下表(索引)提取字符串。python和c++的string类型比较相似,可以用 [ ] 取出其中元素。

text = '你好,世界,我是老王'
print(text)
print(text[0])

        零就是字符串的起始位,这里就对应着 ‘你’,字符串的下表是从零开始的,当 [ ] 里面的值超过字符串长度减一时,会报错下表越界,因为这个字符串的长度是你已经指定好的。

        这样的话我们通过while循环来输出 整个字符串:和 直接打印效果是一样的。

i = 0
while i < len(text):
    print(text[i],end="")
    i +=1

        其实这里有一个优化的小细节,就是这个计算字符串的函数len(),在这个循环中,每循环一次,字符串的长度就要计算一次,这样很浪费资源,如果字符串的长度很大,就会暴露出这个问题,因此我们可以修改成 先计算字符串的长度,在进入循环。

i = 0
length = len(text)
while i < length:
    print(text[i],end="")
    i +=1

        上面说到的都是根据下标取指定位置的字符,还有可以取一片字符串的方法,就是 [ 起始位置: 结束位置]

print(text[0:5])

        通过观察结果我们发现,这里按照范围取的是包含左边不包含右边,这是一个需要注意的细节。 

print(text[2:5])
print(text[2:])#从2一直到最后
print(text[:])#整个字符串

        如果省略结束位置,那么我们将会得到从字符串起始位置到终止位置的的子串,如果俩都不写,那么将输出整个字符串,和字符串名返回的结果是一样的。

        当然,我们可以从前往后取字符串,也可以从后往前取字符串,右边第一个元素是-1,依次往左递减,-2,-3.....但是切片的时候依旧是 text[起始位置:终止位置] (终止位置>起始位置)

        比如说起始位置指定-1,那么这个结果就是 ‘ 王  ’,还有也可以通过下表为复数来取字符 text[-1].

print(text[-1])
print(text[-3:-1])
print(text[-2:])

        同时这种从后往前取也是包含左边不包含右边的。

        下面就来看看步长,就是我们可以指定每隔几个字符取一个字符,text[ 起始位置:终止位置 :步长] 。

print(text[2::2])

        这个就表示从下表为2的开始取,一直到最后,中间的步长为2,也就是取下表为2 4 6...的字符。

        如果要把字符串逆序呢,我们就要从从右往左取了。

print(text[-1::-1])

        从-1开始取,取到最后,但是步长也是-1,就能直接反着取了,实现逆序,这个-1其实也可以省略。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值