Python入门3——编程的基本概念(1)字符串

Python入门3——编程的基本概念(1)字符串一 字符串的拼接 1 可以使用多个字符串拼接起来 eg aa bb 结果是 aabb 如果 两边都是字符串 则拼接 两边为数字则加法运算 两边类型不同则抛出异常 2

大家好,我是讯享网,很高兴认识大家。

一、字符串的拼接

(1)可以使用多个字符串拼接起来(eg:’aa‘+’bb‘结果是’aabb‘), 如果+两边都是字符串,则拼接; +两边为数字则加法运算; +两边类型不同则抛出异常

(2)可以将多个字面字符串直接放到一起实现拼接(eg:‘aa’‘bb’的结果是‘aabb’)

a='sxt'+'gugo' b='sxt''gugo' c='gugu' d=1314 e=c+str(d) print(a)#sxtgugo print(b)#sxtgugo print(e)#gugu1314

讯享网

二、字符串的复制

使用*可以实现字符串复制(eg:a='sxt'*3结果为'sxtsxtsxt')

讯享网a='kukuliqi'*3 print(a)#kukuliqikukuliqikukuliqi 

三、不换行打印

在前面,我们调用print时,会自动打印一个换行符。

而有时我们并不想换行,不想自动添加换行符。

那么 我们可以自己通过参数end=”任意字符串“以此来实现末尾添加任何内容

print("Greedy",end='') print("Greedy",end='') print("Greedy")#GreedyGreedyGreedy为不换行输出

四、从控制台读取字符串

我们可以使用input()从控制台读取键盘输入的内容

五、replace实现字符串的替换

字符串是不可变的,但是,我们有时候确实需要替换某些字符。这时,只能通过创建新的字符来实现。

讯享网a="abcdefghijklmnopqrstuvwxyz" a[3]="第" print(a)#报错:TypeError: 'str' object does not support item assignment

六、str()实现数字转型字符串

 str()可以帮助我们将其他数据类型转换为字符串, 当我们调用print()函数时,解释器自动调用了str()将非字符串的对象转成了字符串

a=str(5.22) b=str(3.14e2) c=str(True) print(a)#5.20 print(b)#314.0 

七、使用[]提取字符

(1)正向搜素:最左侧第一个字符是0,偏移量是-1,以此类推直到len(str)-1为止

(2)反向搜索:最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,以此类推直到-len(str)为止

讯享网a="abcdefghijklmnopqrstuvwxyz" print(a[0],a[1],a[len(a)-1])#从左至右,第一个为0,最后一个为25也即是len(a)-1,故输出为:a b z print(a[26])#报错为:IndexError: string index out of range print(a[-1],a[-2],a[-26])#z y a

八、字符串切片slice操作 切片slice操作可以让我们快速的提取子字符串。标准格式为:[起始偏移量start:终止偏移量:步长step] 以下是几个典型操作(三个量为正数的情况下):

(1)[:]提取整个字符串("abcdef"[:]结果为abcdef)

(2)[start:]从start开始到结尾("abcdef"[2:]结果为cdef)


讯享网

(3)[:end]从头开始知道end-1("abcdef"[:2]结果为ab)

(4)[start:end]从start到end-1("abcdef"[2:4]结果为cd)

(5)[start:end:step]从start提取到end-1,步长是step("abcdef"[1:5:2]结果为bd)

以下为其他操作示例(三个量为负数)

(1)'abcdefghijklmnopqrstuvwxyz'[-3:]取倒数三个,该结果为xyz

(2)'abcdefghijklmnopqrstuvwxyz'[-8:-3]取倒数第八个到倒数第三个(包头不包围,)

(3)'abcdefghijklmnopqrstuvwxyz'[::-1]该步长为负,从右到左反向提取,结果为zyxwvutsrqponmlkjihgfedcba

切片操作时,起始偏移量和终止偏移量不在[0,字符串长度-1]这个范围,也不会报错。 起始偏移量小于0则会当作0,终止偏移量大于“长度-1”会被当成-1,即默认终止偏移量是最大的。

a="abcdefg" print(a[3:50])#defg print(a[1:10])#bcdefg print(a[3:300])#defg print(a[-10:-1])#abcdef

九、split()分割和join()合并

(1)split()分割可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。 如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)

(2)join()的作用和split()作用刚好相反,用于将一系列子字符串连接起来。

讯享网#split()分割 a="I Love You" b=a.split("v") print(b)#['I Lo', 'e You'] #join()合并 c=['aa','bb','cc'] d='xxxx'.join(c) print(d)#aaxxxxbbxxxxcc 

特别地: 使用字符串拼接符+,会生成新的字符串对象,因此不推荐使用+来拼接字符串。

推荐使用join函数,因为join函数在拼接字符串之前计算所有字符串的长度,然后逐一拷贝,仅新建一次对象

#测试+拼接符和join()不同的效率 import time time1=time.time() a='' for i in range(10000): a+="sxt"#split()分割 a="I Love You" b=a.split("v") print(b)#['I Lo', 'e You'] #join()合并 c=['aa','bb','cc'] d='xxxx'.join(c) print(d)#aaxxxxbbxxxxcc time2 = time.time() print("+连接的运算时间:"+str(time2-time1))#+连接的运算时间:0.0045703 time3=time.time() li=[] for i in range(): li.append("sxt") b="".join(li) time4=time.time() print("+连接的运算时间:"+str(time4-time3))#+连接的运算时间:0.071094 

小讯
上一篇 2025-01-23 18:28
下一篇 2025-02-19 17:41

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/66369.html