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

第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 本章练习题&作业

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值