字符串

作者: 杨熠文 | 来源:发表于2018-08-22 21:27 被阅读0次

1.什么是字符串
a.用单引号或者双引号括起来的字符集就是字符串
例如:

'a%@891321{adew'   

b.字符串中的每个独立的单元我们叫字符,
例如:字符串'abc'中'a'就是字符
2.转义字符
a.说明:python中没有字符类型,如果要表示字符,就是用一个长度是1的字符串表示,例如:'a','1',
b.长度:指的就是字符串中字符的个数,例如:'abc' - 长度是3 ,'abc123, 你好'-长度是:10。
c.通过\将一些特殊的字符转换成一个具有特殊功能或者特殊意义的字符,就是转义字符。
常见的有以下几种类型:
\n------------换行
\t-------------制表(相当于tab键)
\-------------
'-------------'
"------------"
在计算转义字符长度的时候,转义字符的长度是1
例如:poem='以梦为马,\t不负韶华\n'
poem = '以梦为马,\t不负韶华\n'
print(poem)
3.Unicode编码
a.python中字符的编码采用的是Unicode编码
b.Unicode是采用两个字节对一个字符进行编码(2^15),能够将世界上所有的符号进行编码。
c.Unicode编码中包含了ascii码
将字符转换成指定的数值,这个过程就是编码。(编码的目的是方便计算机存储)
将数值转换成对应的符号的过程就是反编码(解码)
例如:

0 --> 0#0
'0' --> 4#48

1).将Unicode码转换成字符: chr(编码)
print(chr(0xA001))
print(chr(0xAC00))
print(chr(0x4e60))

2).将字符转换成Unicode编码: ord(字符)
code1 = ord('余') # 结果是10进制的
code2 = ord('婷')
print(hex(code1), hex(code2))
4.字符串实质可以是一个不可变的序列,序列内容是字符。
一旦字符串确定,那么里面的字符和字符的位置就不可变了,例如:'abc'
5.怎么获取单个字符
python中的字符串,可以通过下标(索引)来获取指定位置上的字符:字符串[索引]
说明:
a.字符串:可以是字符串值,也可以是字符串变量
b.[]:中括号使用固定语法
c.索引:从0开始到字符串长度减1(0对应第一个字符);-1~-长度(-1对应的是最后一个字符,依次类推)
注意:索引不能越界,否则会报错(产生异常)
str1='abcd'#a->0,c->1,b->2,d->3
print(str[0])
print(str1[4])#IndexError: string index out of range
name='杨熠文'
print(name[1])
获取部分字符(获取子串) -- 切片
字符串[下标1:下标2] : 从下标1开始,获取到下标2前的所有的字符
(从下标1开始,每次下标值加1,一直加到下标2前)
注意:下标1对应的位置,一定要在下标2对应的位置前

str2 = 'hello world'
print(str2[0:4])  # hell
print(str2[2:7])  # llo w
print(str2[2:-1]) # llo worl
print(str2[3:12]) # 切片时下标可以越界,越界的时候就取临界值
print(str2[-5:-2])
print(str2[-5:9])  

字符串[下标1:下标2:步进]
"""
从下标1开始获取,每次下标值增加步进值,没增加一次取一个字符,直到取到下标2前为止
注意:a.步进如果是正数,那么下标1对应的字符的位置一定要下标2对应的位置的前面;
步进是负数,那么下标1对应的位置一定要在下标2对应的位置的后面
b.下标2对应字符是取不到的
str3 = 'helloPython'
print(str3[0:5:2]) # hlo 步进:3 hl
print(str3[-1:5:-1]) # nohty

下标的省略
切片的时候,下标1和下标2是可以省略的

下标1省略:默认从开头开始获取(开头可能是字符串的第一个字符,也可能是字符串的最后一个字符)

str4 = 'good good study,day day up'
print(str4[:4])
print(str4[:4:-1])

下标2省略: 从下标1位置开始获取,获取到结束(结束可能是字符串的最后一个字符,也可能是字符串的第一个字符)

print(str4[1:])
print(str4[3::-1])

print(str4[:])  #  good good study,day day up
print(str4[::-1])  # pu yad yad,yduts doog doog

练习:要求将一个字符串中所有下标是奇数位上的字符获取出来。
例如:

str5 = 'abcdefgh'
print(str5[1::2])  

6.字符串的运算
(1)+运算符
字符串1+字符串2:
python支持两个字符串相加,其效果就是将两个字符串拼接在一起产生一个新的字符串。
例如:
print("abc"+"123")#abc123
str1="world"
newstr="hello"+str1
print(newstr)#hello world
print(10+'abc') # TypeError: unsupported operand type(s) for +: 'int' and 'str'
(2)运算符
print('abc'
3)#abc abc abc

(3)=和==运算符
str1 = 'abc'
print('abc' == str1)
print(str1 != 'ab')
(4)比较大小的运算符
让字符串里面的每个字符同等依次比较,直到不同为止,再看不同字符中谁的编码值大或者小
例如:
print("abcd">"abc")#true
print('abc'>'bcd')#false

4.in 和 not in
"""
str1 in str2: 判断str1是否在str2中(str2是否包含str1 / str1是否是str2的子串)

结果是布尔值
"""
print('abc' in 'a1b2cdefg')
print('f' not in 'python')

5.获取字符串长度
字符串的长度,指的是字符串中字符的个数
len()内置函数
str3 = 'project'
print(len(str3), len('abc 123\n'))

补充:空串
str4 = ''
str5 = ""
print(len(str5))

len1 = len(str3) # len1 = 7
index = len1 - 1 # 6
print(str3[-1], str3[index])

6.阻止转义
在字符串的最前面添加r/R可以阻止转义
print('a\nb','a\nb\')
print(len('a\nb\')) # 4

print(r'a\nb',R'a\nb\')
print(len(r'a\nb\')) # 6

print('a\nb\\') # a\nb\
print('\\n\') # \换行\

print(r'\\n\') # \\n\

练习
str1 = r'\nabc123' 求:str1[3] b
str2 = 'abc123\123' 求: str2[-5] 3

相关文章

  • Javascript知识点整合

    字符串 单行字符串: ‘字符串’或“字符串” 多行字符串: `多行字符串` 字符串操作: 字符串连接‘+’号 长度...

  • C++基础字符串

    字符串的构造 字符串特性描述 字符操作 字符串赋值 字符串连接 字符串比较 字符串查找 字符串替换 字符串删除 字...

  • iOS中的NSString与NSMutableString

    字符串的创建 字符串读写 字符串的比较 字符串的搜索 字符串截取 字符串替换 字符串与路径 字符串转换 NSMut...

  • iOS NSString用法总结

    字符串属性 字符串截取 字符串比较 字符串搜索 字符串拼接 字符串基本类型转换 字符串分行,分段 字符串列举(按条...

  • php 字符串常见方法汇总

    字符串拼接 字符串检索 字符串截取 字符串替换 字符串大小写转化 字符串转数组 字符串格式化

  • iOS 字符串截取、iOS 字符串替换、iOS 字符串分隔、iO

    iOS之字符串截取、iOS 字符串替换、iOS字符串分隔、iOS之字符串匹配、截取字符串、匹配字符串、分隔字符串 ...

  • PHP中字符串函数库常用函数解析 -- PHP 学习 (十一)

    常用字符串函数分类: 字符串长度, 字符串查找, 字符串大小写转换, 字符串截取, 字符串 ASCII, 字符串加...

  • Kotlin语言(二):字符串类型

    1、字符串定义 2、字符串删除空格 3、字符串比较 4、字符串切割 5、字符串截取 6、字符串替换 7、字符串模板

  • 字符串扩展

    求字符串大小 字符串解码、转换 字符串截取 字符串汉字处理 字符串 Mac地址 字符串进制转换

  • 2020-09-30字符串

    day8-字符串 字符串的操作 in 和 not in字符串1 in 字符串2 - 判断字符串1是否是字符串...

网友评论

      本文标题:字符串

      本文链接:https://www.haomeiwen.com/subject/ddpyiftx.html