您的位置:首页 > 编程语言 > Python开发

Python学习日志———Day02变量以及数据类型

2020-03-30 18:58 13 查看

第2章 Python基础 Day2 数据类型和文件操作
management work is a pain in the ass
这句话的意思是管理工作是件麻烦事,适用于我们工作中,也适用于我们生活中.越是麻烦事越要去想着好好完成,共勉!

复合型 人才
复合型人才是当今社会非常缺少的一类人才,所谓复合型人才就是在好几个方面都可以做好的人,但是复合型人才!=学霸,人人都可以是复合型人才 me OK,And you ok fine.
我想要好好学好一门语言,这就是一门精。
一门精,

2.1 上章补充-变量的创建过程
name = “Alex”

python 解释器有自动垃圾回收机制,自动隔一段时间把没有跟变量名关联的内存数据回收。

2.2 上章补充-身份运算和None
None 什么也没有
空 Empty

name = None
age  = None
weight = None
height = None

if name is None: ==
print("你还没起名字")

三元运算

a = 10
b = 5

if a > 15 :
c = a
else:
c = b

d = a if a > 15 else b
d = 值1 if 条件A else 值2
如果条件A成立,就取左边的 值1,则 取 值2

2.3 细讲数据类型-列表
name = “alex,jack”
names = [“alex”,“jack”]
names[1] = “Mack”
names[-5:-1]

步长= 步子的长度
步长-1代表真正的从右往左走
>>> a[-1:-5:-1]
['eva', '银角大王', '狗蛋', 'eva']

2.4 细讲数据类型-元组
不可变 = 只读列表

元组本身不可修改, 如果包含可修改的数据类型, 那被包含的数据类型可以修改。

2.5 细讲数据类型-字符串

find , index ,count

replace
upper ,lower , swapcase , casefold ,strip ,
split
格式化
format , ljust , rjust , join
判断
isdigit, startswith , endswith ,

2.6 细讲数据类型-字典

创建
增
删
改
查

2.7 细讲数据类型-集合
py [1,2,3,4]
web [2,5,6,7,8]

both = []
for i in py:
if i in web:
both.append(i)

2.8 秒懂二进制
A B

256	128	64	32	16	8	4	2	1  =  255
0	1	1	1	1	0	1	0	1

245
后面每根烟的值=前面所有烟的值相加+1
10000

2.09 字符编码之文字是如何显示的

128	64	32	16	8	4	2	1
65	0	1	0	0	0	0	0	1
108 0	1	1	0	1	1	0	1
48	0	0	1	1	0	0	0	0
二进制 ——》十进制 9
A 1101101
l 1101101
e
x
11011011101101
设定为,每8个2进制位代表一个字符
论断句的重要性

8bit = 1bytes 字节  ,代表 1个字符
1024字节 = 1Kb 1024个字符
1024Kb = 1Mb
1024MB = 1GB 一部电影
1024GB = 1TB

1980  gb2312  6763  2个字节 代表 一个字符
1995  GBK1.0  20000多个字符 ,
2000  GBK     280000

我的名字叫Alex , 2
010101010101010101010

如果2个高位字节 同时出现 , 就认定这是个中文字符 , 就去gbk编码表里找对应的值 ,
否则就使用ascii 来进行编码

2mb ascii
4mb	gbk

中国人使用自己gbk的同时, 日本 人shift_JIS , KS.xxx, TH...
日本游戏 ————》中国 电脑 上没日本 编码集————》导致乱码
要想不乱——》装 语言包 shift_JIS ————》 能在中国电脑 上正常显示日文

很麻烦 ,文化交流障碍

联合国  万国码
1. 支持全球所有的语言, Unicode 2-4字节 已经收录136690个字符,并还在一直不断扩张中..
2. 还可以与全球各个语言进行转换, unicode => gbk, =>shift_JIS , =>Big5
为什么要跟各个语言互相转?
1990.

1980、
1. 很多软件 基于gb2312 开发, 转向unicode等于推倒重来
2. unicode=像英语 , gbk=汉语, 没有强烈的需求要全转成unicode .

全球计算机厂商出厂都支持unicode 。

大多数软件的程序,都支持unicode .

unicode 带来了新问题 , 在内存里,空间大,没问题, 传输或者存到硬盘,空间大了一倍, 浪费 +效率 低。

针对unicode的传输+存储 , 做了一个新编码 , utf-8
UTF-8: 使用1、2、3、4个字节表示所有字符;优先使用1个字符、无法满足则使增加一个字节,最多4个字节。英文占1个字节、欧洲语系占2个、东亚占3个,其它及特殊字符占4个
UTF-16: 使用2、4个字节表示所有字符;优先使用2个字节,否则使用4个字节表示。
UTF-32: 使用4个字节表示所有字符;

文字 在内存里 是unicode --> 传输--》转成utf-8

py 2 = ascii
py3  = unicode

py2 vs py3

2.10 秒懂十六进制

FC45
5000
0x1388

23612

2.11 hash是个什么东西
密码 md5加密算法
基于hash , 保证同样的输入得出的结果值一直一致
abc123 23424234esewr242423424
abc123 23424234esewr242423424

文件完整性校验 md5值
20gb ---- > ssdklfjsdfsfksdfdsfdsf

数字签名

A ---------------> B
C

A 天王盖地虎  私钥  --加密 ,把情报进行hash , 生成一段hash值 (摘要信息), 把摘要加密
把 原文 + 加了密的摘要信息 , 一同发给 B
B 宝塔镇河妖 公钥 --》解密 , 把摘要解密, 得到hash值。 b 对 原文件 进行hash , 也得到 一个hash值 , 拿这个值 跟a发过来的值进行比较 ,如果一致,代表情况发送者是A 本人

基于 hash 的类型 ,
dict 的key 都是要经过hash运算
key 唯一
key 不可变
查询速度快,且不受dict 大小影响

kd = [-10, 53, 67, 81, 99, 123.....]
二分法
d["赵六"] 99
狗蛋 200
set
200  	--->200 内存里存的位置

2.12 用Python操作文件

1. 找到文件 , 打开
2. 读、修改
3. 保存&关闭

1. f = open(filename)
2. f.read(100) f.read() 读所有, f.write(YOURDATA)
3. f.close()

文件打开模式, 只能以一种模式操作文件
r read
w write 创建模式
a append

2.13 本章练习题&作业

  • 点赞
  • 收藏
  • 分享
  • 文章举报
Ajax177577 发布了6 篇原创文章 · 获赞 0 · 访问量 155 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: