python字符串

慕课网 首发了,放在垂直领域吧。

python字符串是一种元素为字符的序列类型。因为序列类型是元素被顺序放置的一种数据结构,因此可以通过索引来获取某一个字符,或者指定索引范围来获取一组字符。

>>> ch='abcde'
>>> print("ch[0]=",ch[0],"ch[-1]=",ch[-1])
ch[0]= a ch[-1]= e

index是整数,不能越界,从0到lne(str)-1,否则出现错误。

>>> len(ch)
5
>>> ch[5]
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    ch[5]
IndexError: string index out of range

逆序打印字符串

def resstr(ch):
    mid=len(ch)
    for c in range(mid):
        print(ch[mid-1-c],end='')
>>> resstr('abcde')
edcba

sb的准备,逆序字符串了,string是不能修改的。报错提示:'str' object does not support item assignment

字符串的分片,就是从给定的字符串分离出部分字符串,可以采用以下形式索引 i,j,k i是起始位置,j是索引结束位置,但是不包括j位置上的字符串,索引编号每次增加的步长为k

>>> s="hello world"
>>> print(s[0:len(s):2])
hlowrd
>>> print(s[1:len(s):3],end='---')
eood---

索引index,是从0到len(str)-1,也可以使用负索引,范围是-n到-1.负索引的起始位置是字符串的结束。

st='asdfg'
print(st[-1:0:-1])
gfds

字符串分片的索引,索引的起始位置i,索引结束位置j,和步长k均可以省略,省略i时,从0或者-1开始,省略j时到最后一个字符串结束,省略k时候步长为1。

st='asdfghjk'
print(st[:0:-1])
print(st[2::2])
print(st[0:5:])
kjhgfds
dgj
asdfg

字符串相关的操作,可以进行连接操作,逻辑操作,还有字符串处理函数。

st1='abc'
st2="def"
print("{0}+{1}={2}".format(st1,st2,st1+st2))
print("{0:s}*5={1}".format(st1,st1*5))
abc+def=abcdef
abc*5=abcabcabcabcabc

字符串的方法 字符串是不可变的,任何字符串改变字符串后,都会返回一个新的字符串,python字符串string可以看成一个类。

st1='abcDEF'
print("{0:s}.upper()={1:s}".format(st1,st1.upper()))
print("{0:s}.lower()={1:s}".format(st1,st1.lower()))
print("{0:s}.swapcase()={1:s}".format(st1,st1.swapcase()))
abcDEF.upper()=ABCDEF
abcDEF.lower()=abcdef
abcDEF.swapcase()=ABCdef
st1='abcDEFasde'
print("a count={0}".format(st1.count('a')))
print("{0} start with {1} is {2} ".format(st1,'abc',st1.startswith('abc')))
print("{0} end with {1} is {2} ".format(st1,'de',st1.startswith('de')))
a count=2
abcDEFasde start with abc is True 
abcDEFasde end with de is False 
st1=' abcDEFasde'
print("{0} replace 123 :{1}".format(st1,st1.replace('abc','123')))
print( "{0} remove {1} left char---{2}".format(st1,' ',st1.strip()))
 abcDEFasde replace 123 : 123DEFasde
 abcDEFasde remove   left char---abcDEFasde

字符串的方法太多,不在说了,没有意思。

byte对象 在Python中,byte和字符串不同,由一系列不可改变的unicode字符组成的序列叫字符串。由一系列不可改变编码介于0--255之间的字符串组成的序列称为byte对象。

by=b'abc &'
print(type(by))
print("length=",len(by))
<class 'bytes'>
length= 5

在字符串前面加'b'可以定义byte对象,每一个字符串可以是ascii字符等,可以使用len()函数计算byte对象的长度。

ch=input('输入几个数字逗号隔开:')
d=ch.split(',')
print(d)
sum=0
for num in d:
    sum+=float(num)
print("ths sum=",sum)
输入几个数字逗号隔开:2.2,3.3,5.5,6.8
['2.2', '3.3', '5.5', '6.8']
ths sum= 17.8

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据结构与算法

05:最大值和最小值的差

05:最大值和最小值的差 总时间限制:1000ms内存限制:65536kB描述 输出一个整数序列中最大的数和最小的数的差。 输入第一行为M,表示整数个数,整数个...

38550
来自专栏WD学习记录

js学习2016-8-16

    当一个函数被保存为对象的一个属性时,我们称它为一个方法。如果调用表达式包含一个提取属性的动作,(即我们讲解对象时所说的.操作符),那么它就被当做一个方法...

8210
来自专栏从流域到海域

Python tuple(元组)

tuple即元组,与list类似,差别在于tuple中的元素一旦初始化就不可更改,即tuple是操作受限制的list(不能更改)。 list参见:http...

24150
来自专栏mySoul

C++命名空间

24920
来自专栏开发与安全

从零开始学C++之RTTI、dynamic_cast、typeid、类与类之间的关系uml

一、RTTI Run-time type information (RTTI) is a mechanism that allows the type of a...

21180
来自专栏Crossin的编程教室

【Python 第71课】变量的作用域

在写代码的时候,免不了要使用变量。但程序中的一个变量并不一定是在哪里都可以被使用,根据情况不同,会有不同的“有效范围”。看这样一段代码: def func(x)...

331110
来自专栏null的专栏

C/C++——set的基本操作总结

set容器中只能存储键,是单纯的键的集合,其中键是不能重复的。 set支持大部分的map的操作,但是set不支持下标的操作,而且没有定义mapped_type...

31330
来自专栏轮子工厂

常见的java面试的基础问题(一) | 看看你会的有多少?

面向对象思想:面向对象是相对于面向过程而言的,面向过程强调的是功能,面向对象强调的是将功能封装进对象,强调具备功能的对象;

8030
来自专栏程序员同行者

python3 内置函数详解

22230
来自专栏java一日一条

java语言核心----面向对象之this关键字

9430

扫码关注云+社区

领取腾讯云代金券