Python(菜鸟入门)4

2.4.5字符串操作
1.字符索引
字符串对象定义为字符序列, 字符在字符串中的位置称为 “索引”,在 Python 和其他程序话
言中,序列中索引的第一个值为0,使用索引运算符“[ ]”査看字符串序列中的单个字符。字符
串的索引位置从0开始,直至字符串长度值减去1。但是使用负索引位置也是可能的,此时的计数方式是从最后一个字符到第一个字符。如图所示。
字符 H e l L o P y t h o n
索引 0 1 2 3 4 5 6 7 8 9 10 11
-12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1

helloString=“Hello Python”"
helloString
‘Hello Python’

helloString[0]
‘H’

helloString[5]
’ ‘

helloString[-1]
‘n’

hellostring[12] #该学符串的最大索引位置为11,12超出字符串的最大索引位置
Traceback(most recent call last):
File “<pyshell#12>”, line 1, in
hellostring[12]
IndexError: string index out of range

2.连接符和操作符
字符串可以利用一些整数和浮点数所使用的二进制运算符,+和*运算符可以和字符串对象一起使用,但含义与整数和浮点数对象一起使用时不同。
+:连接符。+运算符需要两个字符串对象,连接起来得到一个新的字符串对象。
*: 重复符。*运算符需要一个字符串对象和一个整数, 新的字符串由原字符串复制而成, 复
制的次数为给出的整数值。
例如:
!

mystr=“Hello”
yourstr=“Python”
mystr+yourstr
‘HelloPython’

mystr*3
‘HelloHelloHello’

3*mystr
‘HelloHelloHello’

mystr
‘Hello’

+运算符和*运算符都产生了新的字符串对象,但都不会影响表达式中的字符串。
执行连接操作时,除非明确指出,否则在第一个字符串的末尾和第二个字符串开头位置之间没有空格。
·执行连接操作时,两个字符串对象的顺序是,第一个字符串显示在新的字符串对缘的开始,第二个字符串在第一个字符串结束时开始。若更改顺序, 则新的字符串对象中的顺序也发生改变。
每个运算符所需要的操作对象的类型是特定的。对于连接操作,需要两个字符串对象。而复制操作, 只需要一个字符串和一个整数, 其他任何类型的组合都不能正常运行.
当出现“+”运算符时,操作数的类型确定将要执行的运算类型。如果操作数是数字,解释器将执行加法运算。 如果操作数是字符串, 则解释器执行连接操作。 如果操作数是数字和字符的混合, Python解释器将提示错误。 Python 能够动态地对变量关联的对象类型进行检查。 采用这种方法,一旦解释器得到了操作数的类型,它能够决定应该执行何种操作,也就是它能够判断哪些操作是可以执行的,哪些操作是不可以执行的。如果给出的Python运算符所带的操作数类型不能进行何种运算, 则会报错。
一般而言,将单个运算符执行多种操作的情况称为运算符重载.通过重载,能够让单个运算符根据不同的操作数执行不同的操作。
3.in运算符
in 运算符用于检查集合的成员, 当测试字符串包含在字符串时, 结果返回 True, 否则返回False, 如下所示。

mystr=“abcd”
‘a’ in mystr
True

'e’in mystr
False

4.不可变性
字符串是一种集合,可以进行下述操作:创建字符串,更换字符串中的某个特定字符。在Python中,执行以下操作。

strings=‘hello’
strings[0]=‘a’
Traceback (most recent call last):
File “<pyshell#1>”, line 1, in
strings[0]=‘a’
TypeError:'str’object does not support item assignment

对象一旦创建,其内容就不能再修改。赋值语句的左侧通过索引表达式试图改变字符串中的字母,而字符串类型是不允许进行此操作。不能通过对其某一位置进行赋值而改变字符串,但是可以通过建立一个新的字符串并以同一个变量名对其进行赋值。如下所示:

strings=‘hello’
strings=‘s’+strings[1:]
strings
‘sello’

2.4.6 字符串与控制语句
Python 中的控制语句主要有条件判断 if, while, for语句, 还有与之搭配的 else. elif,break,continue,pass语句,本节通过一些代码来对字符串进行操作。
结合字符串长度和range 函数, 显示出所有单词中每个字符的索引,代码如下。

aString=“information”

len(aString)
11

for x in range(len(aString)):
print(x,end=")
0 1 2 3 4 5 6 7 8 9 10

for x in range(len(aString)):
print(aString[x],end=")
i n f o r m a t i o n

字符串中的每个索引及与该索引相关的字符都可以通过 for 语句查询出来。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值