一. 编码
1.最早的计算机编码是美国人创建的ASCLL,包含英文大小写字母,数字,标点符号等特殊字符.(无法之别汉字)
8位,一个字节(byte)
2.GBK 国标码 (只能识别汉字)
16位,两个字节(双字节字符)
3.unicode 万国码 32位 4个字节
4.utf-8: 英文 8bit 1个字节
欧洲文字 16bit 2个字节
汉字 24bit 3个字节
8bit = 1 byte
1024byte = 1kb
1024kb = 1mb
1024mb = 1gb
1024gb = 1tb
1024tb = 1pb
二. 基本数据类型概述
1. int 整数
2. str 字符串
3. list 列表, ["1","2"]
4. tuple 元组. 只读列表,不可修改
5. dict 字典. 成对的对数据进行存储. key:value{"jay":"周杰伦","小黑":"房东的猫"}
6. set 集合. 存储不重复的内容
三. int, bool, str
1. int操作方法:
bit_length() 求变量二进制长度(位数)
a = 3 print(a.bit_length())
2. bool:类型转换
1. 你想转换什么就用什么把目标括号括起来.
a = 100 #int转换bool, 输出Ture或者False b = bool(a) print(b) a = Falsse #bool转换int, 输出1或者0 b = int(a) print(b)
3. str字符串
1. 索引和切片
索引: 其实下标为0(默认顺序从左往右), (-1)从右往左
切片: 变量 [起始位置:终止位置:步长] 特点: 顾头不顾尾.(截取到终止位置,但不包括终止位置)
2. 字符串的常用方法
**** 字符串不可变. 变化的是产生的新字符串. 对原字符串没有影响.
1. upper() 将字符串转换成大写 lower() 转换成小写
2. strip() 去掉左右两端空格 若想单独去掉左或者右边的空格,在strip前加 "l" 或者 "r"
3. replace() 替换 replace("a","b",2) 将a替换成b, 替换2个.
4. split() 切割 split括号内输入的是字符串的切割符, 即根据括号内的内容进行切割. 若且切割符出现在字符串左右两端,输出是会出现空字符串. split('x' , 2) 切割到第2个x
5. format() 格式化输出
#按位置格式化 s = "我叫{}, 我今年{}岁了, 我喜欢{}".format("sylar", 18, "周杰伦") print(s) #可以指定位置 s = "我叫{1}, 我今年{0}岁了, 我喜欢{2}".format("sylar", 18, "周杰伦") print(s) #指定字符串 s = "我叫{name}, 我今年{age}岁了, 我喜欢{mingxing}".format(name="sylar", mingxing="汪峰", age=18) print(s)
6. startswith("xxx") 判断是否以xxx开头
endswith("xxx") 判断是否以xxx结尾
7. find() 查找某字符串在原字符串中出现的位置(可切片查找). 找不到返回-1
index() 查找. 找不到程序报错.
8. count() 查找某字符串在原字符串中出现的次数.
9. len() 内置函数,直接使用. 不需要' . '操作. 求字符串长度.
10. str.join() 通过括号内的xxx将列表变成字符串.
s = "abc" s1 = s.join("非常可乐") # 把字符串s插入到"非常可乐"中 print(s1) #输出结果: 非abc常abc可abc乐
4. 可迭代对象 含义: 可以一个一个往外取值的对象
for 变量 in 可迭代对象:
循环体
else: