字符串和字符编码unicode
python基础第三天
字符串 str
作⽤:
⽤来记录⽂本(⽂字)信息,给⼈类识别⽤的,为⼈们提供注释解释说明
表⽰⽅式:
在⾮注释中,凡是⽤引号括起来的部分都是字符串
' 单引号
" 双引号
''' 三单引号
""" 三双引号
空字符串的字⾯值表⽰⽅法
''
""
'''
"""
单引号和双引号的区别:
单引号的内的双引号不算结束符
双引号的内的单引号不算结束符
扩展:因为解释执⾏器根据单引号为开始符往后单引号作为结束符,要是双引号为开始符,往后到双引号结束为⽌。
三引号字符串的作⽤:多⾏字符串
三引号字符串中的换⾏会⾃动转换为换⾏符
三引号内可以包含单引号和双引号
⽰例:
1 s = 'welcome to beijing!\nI like python!\nI am Studing!'
2print(s)
隐式字符串字⾯值连接:注意:只⽤常量值才可以
1 s = "I'm a tencher!"'My name is liuzhihua'
2 >>> s
3"I'm a tencher!My name is liuzhihua"
如果⼀个字符串同时包含如下字符该怎么办?
⽤转义序列代表特殊字符
字符串字⾯值中,⽤字符反斜杠(\)
后跟⼀些字符代表特殊的⼀个字符
反斜杠转义字符表:
\' 单引号
\" 双引号
\''' 三单引号
\""" 三双引号
\\ ⼀个反斜杠
\n 换⾏
\r 返回光标⾄⾸⾏
⽰例:
1 >>> print('ABCD\rab')
2 abCD
\t ⽔平制表符(有的终端默认4空格,有的默认8个空格)
\v 垂直制表符
\f 换页
\b 倒退
\0 空字符,字符值为空
\xXX XX为两位⼗六进制表⽰的字符 ASCII编码:ASCII表:$ man ascii
⽰例:print('\x41','\x42') 输出 A B
常⽤的ASCII编码:(0-127共128个(⼗进制))
字符⼗进制⼗六进制
'0' --'9' 48 --57 0x30--0x39
'A' --'Z' 65 --90 0x41--0x5a
'a' --'z' 97 --122 0x61--0x7a
Unicode
同⼀编码:分为Unicode16字符和Unicode32字符
\uXXXX XXXX个⼗六进制表⽰的Unicode16字符2**16=65536(0-65535)
\UXXXXXXXX 8个X⼗六进制表⽰的Unicode32字符2**32
计算机存储⽂字,是以图⽚形式保持,⽤整数返回
ascii 编码美国的信息交换标准码(记录128个英⽂字符对应的编码)
Unicode (记录65536个⽂字(包含英⽂128个ascii编码))
ascii编码和Unicode的区别:
ascii编码:⽤8个位表⽰⽂字,最⾼位⼀定为0,低7位表⽰数值(0-127共128个)Unicode编码:⽤16个位组成的(0-65535共65536个)0x0000-0xffff
原始字符串:
r
字符串的⽐较运算:⽐较是的编码值
< > <= >= == =!
字符串的运算
+ +=拼接
* *=重复
in / not in 成员检查运算字符在字符串中返回True,否则返回False
字符串的索引 index(数学含义:下标)
字符串的切⽚ slice
字符串函数
len(s)
max(s)
min(s)
ord(单个字符) 返回⼗进制编码值
chr(整数) 返回整数对应的编码值的字符最⼤范围110000
python基础第四天正式
字符串的格式化表达式
作⽤:
⽣产⼀定格式的字符串
语法格式:
格式字符串 % 参数值
格式字符串 % (参数值1,参数值2,...)
说明:
格式化字符串%以开头的为占位符,占位符的位置将⽤参数值替换。
⽰例:
fmt = 'name:%s,age:%d'
name = 'tarena'
age = 15
s = fmt % (name,age)
格式化字符串的占位符和类型码
%s 字符串使⽤str(obj)转为字符串
%r 字符串,使⽤repr(obj)转为字符串
%c 整数转为字符串,使⽤chr(i)函数
%d ⼗进制整数
%o ⼋进制整数
%x ⼗六进制整数(字符⼩写a--f)
%X ⼗六进制整数(字符⼤写A--F)
%e 指数型浮点数(e⼩写)如:2.9e+4
%E 指数型浮点数(E⼤写)如:2.9E+4
%f,%F 浮点⼗进制形式
%g,%G 进制进形式浮点或指数浮点⾃动转换
%% 等同于⼀个%字符
格式化字符串的占位符和类型码语句:
%[- + 0 宽度.精度]类型码
- 左对齐
+ 右对齐
0 左侧空⽩位置补零(只有数字才可以)
宽度:整个数据输出的宽度
精度:保留⼩数点后多少位,默认6位。
⽰例:
1'%10d' % 123 #' 123'
2'%+10d' %123 #' +123'
3'%-10d' %123 #'123 '
4'%10s' % 'ABC'#' ABC'
5'%f' % 3.1415926535 # '3.141592'
6'%7.2f' % 3.1415926535 # ' 3.14'
序列的概念
字符串就是序列
求序列的长度函数len
len(x) 返回字符串的字符个数
raw 字符串(原始字符串)
格式:
r'字符串内容'
r"字符串内容"
r'''字符串内容'''
r"""字符串内容"""
作⽤:
让转义符号\ ⽆效
在Python中,由“r”开头的作⽤=字符串的原始含义
dos = r"c:\news"
“例如r"c:\news",由r开头引起的字符串就是声明了后⾯引号⾥的东西是原始字符串,在⾥⾯放任何字符都表⽰该字符的原始含义。这种⽅法在做⽹站设置和⽹站⽬录结构的时候⾮常有⽤,使⽤了原始字符串就不需要转义了。”
⽰例:
1 s = 'C:\newfile\test.py'
2print(s)
3print(len(s))
4
5 s = r'C:\newfile\test.py'
6print(s)
7print(len(s))
字符串的运算:
+ 加号运算符⽤于拼接字符串
* 运算符⽤于⽣产重复的字符串
⽰例:
1 s = "ABC" +"DEF"# s = "ABCDEF"
2 s1 = '123' *
3 # s1 = '123123123'
注:同类型的数据才能相加,相乘只能和整数相乘
in / not in 运算符
作⽤:
⽤于判断某个字符串是否在当前字符串中出现过,如果出现过返回True,否则返回False。
扩展:字符串只要完整在当前字符串出现过就返回True
语法:
对象 in 字符串
⽰例:
s = 'welcome to tarena'
'to' in s # True
'wei' in s # False
'welc' in s # True
字符串的⽐较运算
运算符:
> >= < <= == !=
规则:
依次从左到右按编码值进⾏⽐较,直到最短字符串结束为⽌。
⽐较的它们在计算机内数字编码(ASCII编码),⽐较出结果就不在⽐较。
⽰例:
1'a' < 'b'#True
2'abc' < 'abd'#True
3'a' < 'ab'#True
4'abc' < 'acb'#False
5'a' > '1232443545'#True
6'a' > 'ASAADASDAAS'#True
字符串的索引操作(index)
索引
语法:
字符串[整数表达式]
说明:
Python序列都可以⽤索引来访问序列中的对象
Python 序列的正向索引是从0开始第⼆个索引是1,最后⼀个索引是len(s)-1.
Python 序列的反向索引最后是-1,倒数第⼆个索引是-2,第⼀个⼀个索引是-len(s).
切⽚(slice)
作⽤:
从⼀个字符串序列中取出相应元素重新组成⼀个字符串序列
语法:
字符串[(开始索引b):(结束索引e)(:(步长))]
注:⼩括号()括起的部分代表可以省略
说明:
1.开始索引是切⽚开始切下的位置,0代表第⼀个元素,1代表第⼆元素,-1代表最后⼀个元素
2.结束索引是切⽚的终⽌索引(但不包含终⽌点)
3.步长是切⽚每次获取完当前元素后移动的⽅向和偏移量。没有步长,相当于取值完成后向右移动⼀个索引位置(步长默认是1)。
3.1.当步长为正数时,取正向切⽚:
开始索引为0,结束索引默认为len(s)
3.2.当步长为负数时,取反向切⽚:
默认的起始位置是最后⼀个元素,终⽌位置是第⼀个元素的前⼀个位置。
python字符串格式化符号
符
号
描述
%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%u格式化⽆符号整型
ascii文字是啥%o格式化⽆符号⼋进制数
%x格式化⽆符号⼗六进制数
%X格式化⽆符号⼗六进制数(⼤写)
%f格式化浮点数字,可指定⼩数点后的精度
%e⽤科学计数法格式化浮点数
%E作⽤同%e,⽤科学计数法格式化浮点数
%g根据值的⼤⼩决定使⽤%f活%e
%G 作⽤同%g,根据值的⼤⼩决定使⽤%f 活%e
%p⽤⼗六进制数格式化变量的地址
格式化操作符辅助指令:
符号功能*定义宽度或者⼩数点精度
-
⽤做左对齐
+在正数前⾯显⽰加号( + )
<sp>在正数前⾯显⽰空格
#在⼋进制数前⾯显⽰零('0'),在⼗六进制前⾯显⽰'0x'或者'0X'(取决于⽤的是'x'还是'X') 0显⽰的数字前⾯填充'0'⽽不是默认的空格
%'%%'输出⼀个单⼀的'%'
(var)映射变量(字典参数)
< 是显⽰的最⼩总宽度,n 是⼩数点后的位数(如果可⽤的话)
Python转义字符
在需要在字符中使⽤特殊字符时,python⽤反斜杠(\)转义字符。如下表:
转义字符描述
\(在⾏尾时)续⾏符
\\反斜杠符号
\'单引号
\"双引号
\a响铃
\b退格(Backspace)
\e转义
\000空
\n换⾏
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy⼋进制数yy代表的字符,例如:\o12代表换⾏
\xyy⼗进制数yy代表的字符,例如:\x0a代表换⾏
\other其它的字符以普通格式输出
函数
python3中常⽤与序列的函数
len(x) 返回序列的长度
max(x) 返回序列的最⼤值
min(x) 返回序列的最⼩值
⽰例:
1 s = 'hello'
2 len(s) >>> 5
3 max(s) >>> 'o'
4 min(s) >>> 'e'
字符串编码转换函数:
ord(c) 返回⼀个字符的Unicode值
1 >>> ord("宋")
2 23435
3 >>> ord("红")
4 32418
chr(i) 返回这个整数值所对应的字符
整数转字符串函数
bin(i) 把整数转换给⼆进制字符串
oct(i) 把整数转换给⼋进制字符串
hex(i) 把整数转换给⼗六进制字符串
字符串构造函数:
str(obj = '') 将对象转换为字符串
⽰意:
'123' + 456 # 出错,不合法
str(True) #'True'
str(None) #'None'
str(3.14) #'3.14'
常⽤的字符串⽅法(method):
语法:
对象名.⽅法(⽅法传参)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论