一.编码:
ASCII: 8位 1个字节 其实是7位,首位全部是0,创造者留出一位,以便后续使用;
gdk : 16位 2个字节 国标码 只能识别汉语和英语
英语:8位 1个字节
汉语:16位 2个字节
unicode : 万国码 最开始是2个字节,发现汉语太多,改成4个字节.32位 太浪费资源 所以又发明UTF-8
utf-8:每个字符最少占8位
英语: 8位 1个字节
欧洲文字: 16位 2个字节
汉语:24位 3个字节
换算: 8bit = 1byte
1024byte = 1kb
1024 kb = 1mb
1024mb = 1gb
1024gb = 1TB
二.基础数据类型概括:
1.int: bit_length() 求二进制长度
2.str:字符串是不可变的对象,任何操作对字符串是不会有影响的
1) 索引和切片
索引:起始下标是0 (从左到右) (从右到左的话 下标是-1)
切片:s [起始位置:结束位置:步长}
特点:顾头不顾尾
2)基本用法:
s.upper() #全部大写 capitalize() #首字母大写 其他位置小写
s.lower() #全部小写 swapcase() #大小写反转
s.casefold #全部转换成小写 与lower的区别是casefold相对来说对其他字符入东欧字符识别要全一些
s.strip() #左右两端空格删除(也可删除 制表符 换行)lstrip rstrip title() #每个被特殊字符隔开的字母首字母大写
s.split()#分割 expentend() # 改变之前的长度.默认长度为8 多余8的默认16
s.replace()#重置,替换所有 center(10,'*')#将拉长成10,将字符串放到中间,左右两边用*添加
s.replace('a','b',2) #将a替换成b 替换两个 isalnum() #是否由字母和数字组成
s.format()#格式化输出 isalpha() #是否由字母/汉字组成
s.stratswith()#以什么开头 isdigit() #是否由数字组成
s.endswith()#以什么结尾 isnumber() #是否由数字组成 中文也识别
s.find() # 查找索引 isdecimal() #是否由数字组成
s.index()#查找索引
len() #字符串长度 是内置函数 包括 input()
3.bool:True False
1.当为空的时候 是False 当非空的时候是True
0 为False 非0 为True
2.类型之间的转换:
被相对应的类型括起来就是什么类型 如:int ----> str s = str(s)
例:
#练习, 计算在字符串串"I am sylar, I'm 14 years old, I have 2 dogs!" s = "I am sylar, I'm 14 years old, I have 2 dogs!" count = 0 for i in s: if i.isdigit(): count +=1 print(count)
3.迭代
for 变量 in 可迭代对象:
循环体
else:
ps :用 while 实现循环:
num = 'abcdef' count = 0 while count < len(num): print(num[count]) count +=1