字符串性质基础

字符串

  1. 概念:由引号包围的一串数量有限的符号的集合
  2. 字符串的分类:转义字符串,原始字符串,一般字符串
  3. 最开始规定转移字符是反斜杠\ + ASCII编码表中某个符号的八进制"能够展示出特殊的含义“
    C语言开始规定“反斜杠\ + 某x些特殊的符号”能够展示出特殊的含义,python延续了C语言的规定“
    ASCII 编码表:美国人定制,一共涉及128个符号。
    英文字母:A-Z:65-90; a-z :97-122
    数字:0-9:48-57
 常见转义字符
# \n:换行  \t:制表符  \\:一个反斜杠  \':一个单引号 \":一个双引号
print('abcd')
print('ab\ncd')
print('ab\tcd')
print('abcd\\n')

反斜杠:在已经规定好的转义字符中。反斜杠是转义字符的标志,一个反斜杠添加到一个字符前
能使其具有特殊含义,在这些转义字符前再添加一个反斜杠,能使其特殊含义消失

print(len('\n'))
#一个转义字符长度为1

#在字符串前面添加R或者r,使特殊含义字符失效

print(len('ab\ncd'))
print(len('ab\ncd'),len(r'ab\ncd'))
#应用场景:1.使路径(绝对路径,相对路径)中可能·出现的转义字符失效
#        2.使正则表达式中某些转义字符失效。

就近原则:

print("abc'de")
print('abc\'de')

字符串的性质

python 使用的是ASCII编码表的拓展表Unicode
Unicode编码表:万国码
中文在万国码中的位置:4e00-9fa5(十六进制范围)
字符串性质:

  1. 字符串容器符号:引号,类型;str
  2. 有序的容器型数据类型(下标)
  3. 不可变数据类型(没有增删改)
# 字符串的拼接
str1 = 'abcd'
str2 = 'abde'
print(str1 +str2)
# z字符串的重复
print('-'*100)
# 成员运算:in , not in
str3 = 'abcde123'
print('a' in str3)
print('a2' in str3)

字符串比较大小
字符串比较大小是第一队不同元素的编码值大小

print('a' > 'A')
print('abcd' > 'abce')
#ord():将单一符号转换为十进制
#chr():将数值转为符号
print(ord('a'))
print(chr(97))

\u4e00 - 以unicode编码中符号的形式转换

print(ord('\u4e00'),ord('\u9fa5'))
for i in range(19968, 40870):
    print(chr(i), end='')
#进制
#A:十进制:65--> 0d65 (0-9)
# 二进制:0b1000001(10,1)
#八进制 :0o101(0-7)
#十六进制:0x41(0-9,a-f)
print(bin(65),oct(65),hex(65))

一:下标,切片
字符串的下标和切片和列表完全一样
二:遍历

str1 = '123456789'
#1.直接遍历
for i in str1:
    print(i)
#二间接遍历
for i in range(len(str1)):
    print(i,str1[i])
    #练习将大转小,小转大字母转换
str2 = 'abcd1234ABCDa'
new_str= ''
for i in str2:
    if 'A' <= i <= 'Z':
        new_str += chr(ord(i) + 32)
    elif 'a' <= i <= 'z':
        new_str += chr(ord(i) - 32)
    else:
        new_str += i
print(new_str)

字符串的相关方法

  1. find - 查找某个字符在字符串中出现的位置
  2. 从左向右查找,找到第一个出现的位置就停止查找,或者指定开始查找的位置,找不到返回-1
str1 = 'abcd123a'
print(str1.find('a'))
print(str1.find('a',1))
print(str1.find('A'))
#rfind -- 从右向左查找,查找某个字符串的位置,返回的也是正向下标
print(str1.rfind('a'))
  1. index:从左向右查找元素找到第一个出现的位置就停止查找,或者指定开始查找的位置,找不到就报错
    rindex:从右向左查找元素找到第一个出现的位置就停止查找,找不到就报错
  2. pper, lower, title, capitalize
#upper小写转大写
str2 = 'abc123def'
print(str2.upper())
#lower大写转小写
print(str2.lower())
#title:将字符串中每个单词首字母大写
print(str2.title())
#capitalize:开头字母是小写转大写
print(str2.capitalize())
  1. spilt:切割,以字符串中某个符号作为切割点,将切割点左右两边的元素放入列表
str3 = ',a,b,c,d,e,'
str3list = str3.split(',')
print(str3list)
  1. oin:合并,以指定的连接符将一个字符串容器中所有元素链接
str4 = ','.join(str3list)
print(str4,str3 == str4)
  1. 1replace(old,new) - 将字符串中所有的old子串替换成new字符串
    2replace(old,new,count)- 将字符串中指定count个的old子串替换成new字符串
print(str4.replace(',', ''))
print(str4.replace(',', '',2))
  1. 默认将字符串两端的空白符号(空格 ,\t、\n、\v等)去除;还可以指定字符串两端要去除的符号
print(str4.strip(','))
str5 = '\t\nabc efg\n'
print(str5)
print(str5.strip())
`
8. 默认将字符串两端的空白符号(空格 ,\t、\n、\v等)去除;还可以指定字符串两端要去除的符号
```python
print(str4.strip(','))
str5 = '\t\nabc efg\n'
print(str5)
print(str5.strip())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值