python字符串添加元素_Python字符串

本文详细介绍Python字符串的基础概念、表示方式及转义字符等基础知识,并深入探讨字符串的输入输出、索引切片、常见函数和运算等内容。

Python字符串

本章将介绍:1.字符串的3种表现形式2.字符串的输入与输出,索引与切片。3.字符串常用函数4.了解字符串的运算

在汉语中,将若干个字连起来就是一个字符串,例如“千锋教育”就是一个由4个汉字组成的字符串。在程序中,字符串是由若干字符组成的序列

字符串的概念

•在前面的章节中,大家已接触过简单字符串,Python中的字符串以引号包含为标识,具体有3种表现形式:

•1. 使用单引号标识字符串

•使用单引号标识的字符串中不能包含单引号,具体如下所示:

'das' '你好' '123456'

•2. 使用双引号标识字符串

•使用双引号标识的字符串中不能包含双引号,具体如下所示:

"sadsa" "你好" "123456"

•3. 使用三引号标识字符串

•使用3对单引号或3对双引号标识字符串可以包含多行,具体如下所示:

'''

asda

'''

"""

你好

"""

Python转义字符

在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:

下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":操作符描述实例

+字符串连接>>>a + b

'HelloPython'

*重复输出字符串>>>a * 2

'HelloHello'

[]通过索引获取字符串中字符>>>a[1]

'e'

[ : ]截取字符串中的一部分>>>a[1:4]

'ell'

in成员运算符 - 如果字符串中包含给定的字符返回 True>>>"H" in a

True

not in成员运算符 - 如果字符串中不包含给定的字符返回 True>>>"M" not in a

True

r/R原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。>>>print r'\n'

\n

>>> print R'\n'

\n

字符串的输入与输出

字符串的输出可以使用print()函数:

# 字符串的输出

print("我是Neal")

上面的字符串只能够输入特定的内容,如果事先不知道要输出的内容,而是需要根据用户输入信息来确定,可以采用如下两种方法:

# 方法一

name = input("请输入您的姓名")

print("您的姓名是:%s" %name)

# 方法二

name = input("请输入您的姓名")

print(f"您的姓名是:{name}")

显然第二种方法更为简洁明了,并且在第一种方法中需要根据不同的类型变量而改变%后面的字母,下表是不同字母代表的含义:

一、索引

1、索引下标查找

a = 'ABCDPOM'

s = a[0]

s2 = a[2]

print(s)

print(s2)

输出结果为:A C

二、切片截取切片 slice

从字符串序列中取出相应的元素重新组成一个字符串序列

语法

s[(开始索引b):(结束索引e)(:(步长s))]

注 : 小括号()括起来的部分可以省略

(包含开始索引位置,不包含结束索引位置)

说明:1.开始索引是切片切下的位置,0代表第一个元素,1代表第二个元素, -1 代表最后一个元素

2. 结束索引是切片的终止索引(但不包含终止点)

3. 步长是切片每次获取完当前元素后移动的方向和偏移量

3.1 没有步长,相当于步长为1,(默认为1)

3.2 当步长为正整数时,取正向切片,开始索引默认为0,结束索引为最后一个元素的下一个位置

3.3 当步长为负数时,取反向切片, 反向切片时,默认的其实位置为最后一个元素,终止位置为第一个元素的前一个位置

示例:s = ‘abcde’

>>>s[0:4] # 'abcd' 1代表起始索引,4代表到此位置不取,直接结束

>>>s[:4] # 'abcd'

>>>s[2:5] # 'cde' 切片索引可以越界

>>>s[2:] # 'cde'

>>>s[0:] # 'abcde'

>>>s[:] # 'abcde'

>>>s[1:1] # ''

>>>s[4:1] # ''

>>>s[1:5] # 'bcde'

>>>s[1:5:1] # 'bcde'

>>>s[1:5:2] # 'bd'

>>>s[::2] # 'ace'

>>>s[4:0:-1] # 'edcb' 反向切片包含起始,不包含末尾

>>>s[::-1] # 'edcba' 逆序

>>>s[-1::-1] # 'edcba'

>>>s[4::-2] # 'eca'

>>>s[-4:-2] #'bc'

>>>s[-2:] #'de'

字符串常用函数

1.字符串常量集合

print(string.ascii_uppercase) #大写字母

print(string.ascii_lowercase) #小写字母

print(string.ascii_letters) #大小写字母

print(string.digits) #数字

print(string.punctuation) #符号集合

print(string.printable) #可输入字符合集,包括大小写字母数字和符号的合集

2.字符串大小写转换 5个

str='hello,woRld!'

print(str.capitalize()) #仅首字母大写,Hello,world!

print(str.title()) #仅每个单词首字母大写,Hello,World!

print(str.upper()) #每个字母都大写,HELLO,WORLD!

print(str.lower()) #每个字母都小写,hello,world!

print(str.swapcase()) #大小写互换,HELLO,WOrLD!

3.字符串内容判断 10个

num='123'

alp='asd'

num_alp='a1s2d'

printable='`~!@#$%'

print(num.isdigit()) #字符串中的字符是否都是数字,True

print(alp.isalpha()) #字符串中的字符是否都是字母,True

print(num_alp.isalnum()) #字符串中的字符是否都是字母和数字,True

print(printable.isprintable()) #字符串中的字符是否都是可输入字符,True

print(num.isnumeric()) #字符串中的字符是否都是数字,True

print(alp.islower()) #字符串中的字符是否都是小写字母,True

print(num_alp.isupper()) #字符串中的字符是否都是大写字母,False

print(alp.istitle()) #字符串中的字符是形如标题Hello World,False

print(' '.isspace()) #字符串中的字符是否都是空格,True

print('哈'.isascii()) #字符串中的字符是否可用ascll码表示,汉字是Unicode编码表示的所以是False

4.字符串填充

str='Welcome'

print(str.center(13,'*'))#***Welcome***

print(str.ljust(10,'+')) #Welcome+++

print(str.rjust(10,'-')) #---Welcome

print(str.zfill(10)) #000Welcome

print('-100'.zfill(10)) #-000000100

print('+100'.zfill(10)) #+000000100

5.字符串搜索

str='awasdhiwhhihuasd~hjdsasdihfi'

print(str.index('asd')) #str中有子字符串时回返回收自费所在索引值,若不存在则报错

try:

print(str.index('aes'))

except ValueError as v:

print(v)

print(str.find('asd')) #str中有子字符串时会返回首字母所在索引值,若不存在则返回-1

print(str.find('aes'))

print(str.count('asd')) #返回字符串中包含的子串个数

print(str.count('aes')) #不存在则返回0

6.字符串替换

str='hello,world!'

print(str.replace('world','python')) #生成替换字符的复制,hello,python!原字符串str未改变

print(str) #hello,world!

str='awasdhiwhhihuasd~hjdsasdihfi'

print(str.replace('asd','ASD',2)) #awASDhiwhhihuASD~hjdsasdihfi

7.字符串添加

#join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串

#用法:str.join(sequence),sequence包括字符串、列表、元祖、集合及字典(字典仅连接key),其中列表、元祖和集合的元素都必须是字符串,否则会报错

lis=['I','am','IronMan!']

print(' '.join(lis)) #I am IronMan!

print('*'.join({'1','2'}))

print('-'.join('ABCD'))

print('+'.join(('a','b','c')))

print('~'.join({'a':1,'b':2

小案例

•在注册网站时,用户经常需要设置密码,然后程序根据用户输入的密码判断安全级别,具体如下所示:

•低级密码——包含单纯的数字或字母,长度小于等于8。

•中级密码——必须包含数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)中任意两种,长度大于8。

•高级密码——必须包含数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)中的3种,长度大于16。

接下来按照上述要求编写程序,如例所示

本章小结

本章主要介绍了Python中的字符串,首先讲解了字符串有3种表示方法及字符串中的转义字符,接着讲解了字符串的输入与输出以便程序更好地交互,又讲解了字符串的索引与切片,最后讲解了字符串的运算及常用函数。通过本章的学习,应熟练使用字符串的切片及常用函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值