2019-01-16 day3 复习字符串
1.运算符: 数学运算符、比较运算符、逻辑运算符、赋值运算符
数学运算符: +, -, *, /, //, **, %
比较运算符: >, <, ==, !=, >=, <=
逻辑运算符:and, or, not
赋值运算符:=, +=, -=, *=, /=, //=, %=, **=
运算符的优先级: 数学运算符>比较运算符>逻辑运算符>赋值运算符
2.数字类型
整型(int): 0b(二进制)、0o(八进制)、0x(十六进制) bin()、 oct() hex()
浮点型(float): 支持科学计数法, 19e-2 0.000001 == 1e-6
布尔(bool): True == 1, False == 0
3.字符串(str)
字符串又叫字符集
'', ""
空串: '', ""
空格字符串: ' ', " "
普通字符: 'a', '1', ',', '好', '👌', '😆'
转义字符: \n, \t, ', ", \; 阻止转义: r/R
编码字符: \uXXXX 十六进制数:每一位上的数是0-9或者a-f(A-F)
4.字符的编码
a-z: 97-122
A-Z: 65-90
中文编码范围: 4e00 - 9fa5
chr(编码)
ord(字符)
5.获取单个字符
a.语法:
字符串[下标] - 获取字符串中指定下标对应的字符
6.获取部分字符(字符串切片)
方法一:
a.语法:
字符串[开始下标:结束下标:步长] - 从开始下标开始,获取到结束下标前为止。每次下标值加上步长去获取下一个
b.说明:
字符串 - 只要结果是字符串的表达式都可以,例如:字符串字面量, 字符串变量
[] - 固定写法
开始下标、结束下标 - 下标值(这儿的下标可以越界)
步长 - 必须是整数(正数和负数都行); 如果步长是正数,是从开始下标开始从前往后获取;
如果步长是负数,是从开始下标开始从后往前获取;
c.注意:
当步长为正,要求开始下标对应的字符的位置必须在结束下标对应的字符的位置的前面,否则结果是空串!
当步长为负,要求开始下标对应的字符的位置必须在结束下标对应的字符的位置的后面,否则结果是空串!
不管怎么取,结束下标一定取不到!
方法二:(省略步长)
字符串[开始下标:结束下标] - 步长是1;从开始下标开始到结束下标前为止,一个一个的取!
方法三:(省略开始下标和结束下标)
a.省略开始下标
字符串[:结束下标:步长] - 当步长是正数,从字符串的第一个字符开始取到结束下标前为止;
当步长是负数,从字符串的最后一个字符开始取到结束下标前为止.
b.省略结束下标
字符串[开始下标::步长] - 当步长是正数,从开始下标开始取到字符串最后一个字符为止;
当步长是负数,从开始下标开始取到字符串的第一个字符为止
print(str3[::-1]) # 让字符串倒序
7.字符串支持的运算符: +, *, >, <, ==, != ,>=, <=
python中的字符串支持数学运算符中的+和*,以及所有的比较运算符
a. + : 字符串1 + 字符串2 - 将字符串1和字符串2拼接在一起产生一个新的字符串
注意:字符串和数字不能混合相加!
b. * : 字符串 * N - N是正整数; 字符串重复N次产生一个新的字符串
c.比较是否相等 ==, != 可以判断两个字符串是否相等或者不相等
d.字符比较大小:从第一个字符开始依次往后找,找到第一个不相等的字符对,判断它们的编码值的大小,谁的编码值大,对应的字符串就大;不会再往后比较了!
8. in和not in操作
字符串1 in 字符串2 -> 判断字符串2中是否包含字符串1(判断字符串1是否是字符串2的子串)
字符串1 not in 字符串2 -> 判断字符串2中是否不包含字符串1(判断字符串1是否是字符串2的子串)
9. len函数
len(序列) - 获取序列长度, 获取序列中元素的个数
len(字符串) - 获取字符串的长度(字符的个数) -- 结果是一个整数
注意:
一个可以转移的转义字符的长度是1!
一个编码字符的长度是1!
一个空格字符的长度是1!
手动在键盘上按一个tab,一般是4个空格,长度是4; 一个\t来表示的tab,长度是1
10格式字符串
1.什么是格式字符串:
在字符串中通过格式占位符来代替字符串中变化的部分,然后在后面通过数据或者变量确定变化
语法:
包含占位符的字符串 % (值1, 值2, 值3...)
说明:
占位符 - %s 字符串
%d 整数
%f 小数 (%.Nf 保留小数点后N位小数)
%c 字符 (可以将数字转换成字符)
% - 固定写法
() - 固定写法,字符串中只有一个占位符的时候,这个()可以省略
括号中的值 - 值和占位符要一一对应(个数、类型、位置都要对应)
11类型转换
1.基本语法
语法:
类型名(数据) - 将指定数据转换成指定类型
说明:
类型名 - 任何python支持的,或者自定的类型都可以
数据 - 需要转换的对象(类型不同要求可能不一样)
2.转换实例
int(数据) -> 将其他数据转换成整型
float(数据) -> 将其他数据转换成浮点型
bool(数据) -> 将其他类型转换成布尔
str(数据) -> 将其他数据转换成字符串
12字符串方法
表中所有字符串相关方法的使用方式都是: 字符串.方法名()
1.capitalize()
字符串.capitalize() - 将指定的字符串的第一个字符转换成大写字母,返回新的字符串
注意:只有第一个字符是字母的时候才有效
2.字符串对齐方式
字符串.center(width, fillchar) - 居中, width决定新的字符串的长度, fillchar就是用来填充多出来的位置的字符
width是整数,fillchar是字符
字符串.ljust(width, fillchar) - 左对齐
字符串.rjust(width, fillchar) - 右对齐
3.count
字符串1.count(字符串2) - 在字符串1中统计字符串2出现的次数
4.isalpha
字符串.isalpha() - 判断字符串中是否全是字母
注意:非ASCII码表中的字符检测不出来!
5.join
字符串1.join(字符串2) - 将字符串1插入到字符串2中的每个字符之间
6.split
字符串1.split(字符串2) - 以字符串2去切割字符串1,返回一个列表