一、了解
1.计算机在存数据的时候,都是以二进制的形式储存在电脑的(补码)
2.正数的原码:符号位是0,后面是数值的大小
负数的原码:符号位是1,后面是除了符号位的大小
3.负数的反码:符号位不变,后面相反
4.负数的补码:补码+1
5.计算机只有加法器
二、认识字符串
1.什么是字符串
a.用单引号或者双引号括起来的字符集就是字符串。
b.字符串中单独的单位就是字符(键盘中可以打出来的)
2.转义字符
说明:python中没有字符类型,如果要表示字符就要用一个长度是1的字符串表示
长度:字符串中字符的个数
定义:通过\将一些特殊的字符转换成一些具有特殊功能或者特殊意思的字符,就是转义字符。列如:\n,\t(相当于tab),\,',".
PS:转义字符长度为一,前面加rR后为二
3.Unicode编码
将字符转换成指定的数值过程叫做编码,解码的定义相反(编码的意义就是为了计算机能够更好的储存)
print(chr(0xa001))
print(chr(0b0001))
print(chr(0o7777)) # chr表示将Unicode转换成字符**编码**
code1 = ord( '阿' )
code2 = ord( '宽')
print(hex(code1), hex(code2))
print(oct(code1), oct(code2))
print(bin(code1), bin(code2)) # 将字符转换成Unicode编码叫做**解码**
三、获取字符串
字符串实质可以是一个不可变的序列,序列内容是字符。 一旦字符串确定,那么里面的字符和字符的位置就不可变了,例如:'abc'
1.怎么获取单个字符
python中的字符串,可以通过下标(索引)来获取指定位置上的字符:字符串[索引]
说明:
a.字符串:可以是字符串值,也可以是字符串变量
b.[ ]: 中括号使固定语法[ ]
c.索引:从0开始到字符串长度减1 (0对应第一个字符)
-1 ~ -长度(-1对应的是最后一个字符, -2对应的是倒数第2个字符)
注意:索引不能越界,否则会报错
2. 获取部分字符(获取子串) -- 切片
a.字符串[下标1:下标2] : 从下标1开始,获取到下标2前的所有的字符
(从下标1开始,每次下标值加1,一直加到下标2前)
注意:下标1对应的位置,一定要在下标2对应的位置前
b.字符串[下标1:下标2:步进] (A情况默认步进为1)
注意:步进是正数,下标1对应位置在下标2前,负数则相反。
下标可以省略,下标1:首位,下标2:末尾
四、运算符的相关运算
- 加法运算符
字符串1+字符串2:
python支持两个字符串相加, 其效果就是将两个字符串拼接在一起产生一个新的字符串
注意:如果+的一边是字符串,那么另外一个也必须是字符串
2.乘运算符(重复多次相加)
3.比较运算符(布尔值)
字符串中每一位的字符从首位开始依次比较。
直到不同为止,再看不同字符中谁的编码值大或者小
- in和not in
str1 in str2: 判断str1是否在str2中(str2是否包含str1 / str1是否是str2的子串)
5.获取字符串长度
len()内置函数
str3 = 'abcdefg'
print(len(str3)
6.阻止转义(在字符串的最前面加上rR可以阻止转义)
五、字符串的相关方法
python为字符串提供了很多的内建函数
字符串.函数( )
注意:这些所有的函数的功能都不会影响原来的字符串,而是产生一个新的字符串
1.capitalize() 将字符串的第一个字符转换为大写
str1 = 'hello python'
newstr = str1.capitalize()
print(newstr, str1)
print('abc'.capitalize())
2.center(width, fillchar)
让字符串变成width对应的长度,原内容居中,剩余的部分使用fillchar的值来填充
witdh - 整数; fillchar - 任意字符
print('abc'.center(10, '*')) # ***abc****
3. rjust(width, fillchar)
让字符串变成width对应的长度,原内容靠右,剩余的部分使用fillchar的值来填充
number = '12'
new_id = number.rjust(4, '0')
print(new_id)