昨日阅读2.5 h,累计 294 h
<Python编程:从入门到实践>
========================
通过这个网站 https://pypi.org/project/matplotlib/#files
才下载到了matpolitlib对应Python版本的whl文件。(这个地址和书本上不一致)
在项目文件夹下,按照命令安装 (工作目录,whl文件也copy到对应目录)
先升级pip : python -m pip install --upgrade pip
再安装: python -m pip install --user matplotlib-3.0.1-cp35-cp35m-win32.whl
> python
>>>import matplotlib
>>>
安装成功!
去https://matplotlib.org/ 有示例图表画廊
可查看生成图表的代码
绘制简单的折线图:
import matplotlib.pyplot as plt
squares = [1, 4, 9, 16, 25]
plt.plot(squares)
plt.show()
将平方数列表传递给函数Plot(), 这个函数尝试根据这些数字绘制有意义的图像,很快即可得到一个折线图。
plt.show()打开matplotlib查看器,并显示绘制的图形。(查看器可以缩放和导航图形,也可以保存成文件)
plt的plot函数,还有更多参数可以添加,比如linewidth=5 增加线条粗细
plt.xlabel("value", fontsize = 14)可以改变x轴上的标签
plt.ylabel("square of value", fontsize=14)改变y轴上的标签
plt.tick_params(axis='both', labelsize = 14)修改设置刻度标记的大小
plt.title("Square Numbers", fontsize = 24) 设置标题
显然,plot猜测了程序的绘制意图,但不一定正确。
比如我们希望第一个点对应的x值为1,而不是从0开始,要改变这种默认行为,可以给Plot同时提供输入和输出值。
input_values = [1, 2, 3, 4, 5]
squares = [1, 4, 9, 16, 25]
plt.plot(input_values, squares, linewidth=5)即可
=========================================
<思想的力量:哲学导论[美]布鲁克-诺埃尔>
27. 当代天文学家对一个相似的问题(同样是哲学问题)争论不休:想知道宇宙和宇宙规律的存在是否必然取决于有智能的观察者的存在)
当我们的看法与我们的希望不协调时,也会产生哲学问题。
28. 对哲学的误解:哲学从未取得任何进步。(其实进步是多种多样的,并非只有找到问题的答案才算是向前迈进了一步))
发现一个问题不可回答而将之抛弃也是一种进步
误解2:哲学探索一旦取得进展,它就成了另一个领域的知识。如逻辑学,但它仍是哲学的分支。
29. 人们几乎从来不说他们想做哲学思考。但只要他们的思想稍有条理,就很有可能和哲学沾边(尽管他们很可能没有意识到这点)
======================
blockchain:
4. 比特币和以太坊的公私钥--ECC算法
RSA又慢又不安全,所以比特币和以太坊都不采用,而是使用了更安全的椭圆曲线算法 –ECC来做非对称加密基础算法。
ECC的210位算法难度就相当于RSA 2048的难度,性能则是数量级的区别。那么椭圆算法又是何方神圣呢?
非对称算法无非是设计一个数学难题,使得单向计算很方便,而反向计算很难,如RSA使用因式分解的原理,两个大质数相乘很容易,但大数分解质因子很难。
椭圆算法ECC其实就是利用乘法容易,而除法难的特点,设计一个乘法:K = k * G,其中大K是公钥,小k是私钥,G是生成点。由私钥推导公钥很容易,只需要k个G相加即可。但是从公钥推导私钥很难,也就是无法计算公钥K除以G。
当然这个加法不能用我们日常的整数加减法,而是利用函数 所定义的一个特殊椭圆曲线上散列点的特性定义的加法。其中p是一个常数。不同p可以设计成不同的曲线,比特币使用的p = 2256 – 232 – 29 – 28 – 27 – 26 – 24 – 1,这个曲线的名称就叫secp256k1。这是一个非常大的数。
======================
昨日阅读2.5 h
累计 294 h