最新python入门基础第八章:字符串

字符串

1.字符串(str)

容器:’’、""、’’’’’’、""""""作为容器的表示,每个独立的文字信息就是它的元素(引号中的每个符号都是字符串的元素)

元素:引号中的每个符号都是元素, 字符串的元素又叫字符

字符串不可变;有序的(支持下标操作)

2.字符

python中只有字符的概念,没有对应的数据类型。如果需要字符用长度是1的字符串来表示

a.普通字符 - 除了转义字符以外的字符都属于普通字符;普通字符在字符串中表示这个符号本身

b.转义字符 - 通过 \加其他字符 的形式存在, 它在字符串中有特殊功能或者特殊意义

\n - 换行(相当于按一下回车)

\t - 水平制表符(相当于按一下tab键

’ - 表示一个单引号

" - 表示一个双引号

\ - 表示一个反斜杠

\u四位的16进制数 - 表示四位16进制数作为编码值对应的字符(编码字符)

3.字符编码

1)计算能直接存储的数据只有数字,而且存的是数字的补码。

2)文本数据没有办法直接存到计算中,计算在保存文本数据的时候,存的其实是每个文本符号对应的数字

(对计算机来讲,每个文本符号都会对应一个固定的数字),每一个文本符号对应的数字就是这个符号的编码值

3)字符编码表:ASCII码表、Unicode编码表

4.编码值的使用

1)编码字符:\u编码值

2)chr(编码值) - 获取指定编码值对应的字符

3)ord(字符) - 获取指定字符的编码值

获取字符

字符串的获取语法和列表获取元素的语法一样

1)字符串[下标] - 获取单个字符串

  • 一个空格是一个字符
  • 一个转义字符是一个字符(一个转义字符的长度是一)

2)切片

变量[字符串] [前值:后值:步长]

3)遍历 for 变量 in 字符串

相关运算操作

数学运算:

  • +(两个字符串合并产生一个新的字符串)

  • *N (一个字符串重复N次产生一个新的字符串

  • == 或者!=

print('abc' == 'abc')   # age
print('abc' == 'acb')   # False
  • ‘>’、<、>=、<=(两个字符串比较大小,比的是第一对不相等字符的编码值大小)
练习1:分别统计字符串中中文字符的个数和字母的个数
str3 = 'hsjj数据是2823竭尽所能SJJ==-2...数kkl'
count1 = 0
count2 = 0
for x in str3:
    if '\u4e00' <= x <= '\u9fa5':
        count1 += 1
    elif 'A' <= x <= 'Z' or 'a' <= x <= 'z':
        count2 += 1
print('中文:', count1, '字母:', count2)

练习2:判断一个字符串中是否有数字字符,有打印True, 没有打印False
'bans江苏省'  -> False   '三角函数sss223=='  -> True
str4 = 'bans江苏省'
for x in str4:
    if '0' <= x <= '9':
        print(True)
        break
else:
    print(False)

in 和not in :

字符 in 字符串 - 判断字符串中是否存在指定字符

字符串1 in 字符串2 - 判断字符串1是否是字符串2的子串

相关使用方法

字符串1.count(字符串2) - 统计字符串2在字符串1中出现的次数

字符串1.index(字符串2) - 统计字符串2第一次出现在字符串1中的位置

字符串.join(序列) - 将序列中的元素通过字符串连接产生一个新的字符串(序列中的元素必须是字符串)

list1 = ['abc', 120, True, 12.5]
print('+',join([str(x) for x in list1]))

字符串.split(字符串2) - 以字符串2为切割点对字符串1进行切割

字符串.split(字符串2,N) - 将字符串1中前N个字符串2作为切割点

print('000abc123abc456abc789'.split('abc'))   # ['000', '123', '456', '789']

注意:切割点在字符串两端或者切割点连续出现都可能产生空串

字符串1.replace(字符串2,字符串3) - 将字符串1中的字符串2全都替换成字符串3

字符串1.replace(字符串2,字符串3,N) - 将字符串1中的字符串2前N个都替换成字符串3

max(编码值最大字符)、mix(编码值最小字符)、sorted(按编码值大小排序)

str(数据) - 将数据转换成字符串(所有类型数据都可以转换成字符串;数据转换成字符串的时候,是直接在数据打印值最外层加引号)

eval(字符串) - 将列表格式的字符串转化成列表,将字典格式的字符串转换成字典

str5 = "['abc', 10, 20] "
list2 = eval(str5)
print(list2, type(list2))  # ['abc', 10, 20] <class 'list'>
print(list2[0])

dict1 = eval("{'name': '张三', 'age': 18}")
print(dict1, type(dict1))   # {'name': '张三', 'age': 18} <class 'dict'>

tuple1 = eval('(10, 20, 30)')
print(tuple1, type(tuple1))   # (10, 20, 30) <class 'tuple'>

result = eval('[10, "abc", 123]')
print(result, type(result))

猜你喜欢

转载自blog.csdn.net/SaharaLater/article/details/111325992