昨日阅读 2 h,累计205.5 h
《Python编程从入门到实践》
=============================
ch10
写入文件
filename 定义一个文件名
with open(filename, 'w') as file_object:
file_object.write("......")
这是写入空文件的做法
即: open()需要提供一个实参,告诉python你要写入打开的文件
第二个实参,有'r' 、'w'、'a',分别为读取、写入、附加模式
'r+'表示读取和写入模式
如果省略第二实参,缺省为只读模式
若filename根本不存在,open会自动创建它
提醒:以写入'w'模式打开文件时,如果指定的文件已经存在,python将返回文件对象前清空该文件
切切注意
若写入多行,可以一路file_object.write('......')内容进去
'a'模式是附加到文件(是给文件添加内容,而非覆盖),若指定的文件不存在,也会创建新的空文件。这样,明显'a'模式优于'w',至少避免清空已有文件
貌似文件的内容很简单,但事实上,可能会出现意想不到的的情况,千万要小心。
后面继续深入
=============================================
blockchain:
86. 对税收而言,bitcoin是资产而非货币。但美国消费者金融保护局、SEC、美国商品期货交易委员会和美国司法部都将bitcoin作为货币来监管。
87. bitcorin竟然是一种可编程货币
比如比特币的转账功能
中本聪的方案:
发送方A向bitcoin网络发一份广播,内容如下:”我要转账1 BTC给接收方B,并且我能提供一段脚本,这段脚本作为钥匙可以打开这1 BTC上的锁;同时,我根据接收方B的要求为这1 BTC加一把新的锁。“
网络各节点收到广播,运行脚本,发现A提供的脚本确实能”开锁“。于是根据A的指令给这笔比特币换上了B才能打开的”新锁“,当接收方B想使用这1 BTC时,只要能提供一段脚本作为钥匙打开这把新锁就行。
解析:所谓脚本,就是一种比较简单的计算机语言(浏览器上常用的javascript就是一种脚本)
中本聪的设计貌似非常繁琐和反直觉,然这种设计大有道理,且看:
1)脚本可以编写的内容非常灵活,远远超出了一对一转账的范畴。
2)你可以约定B和C必须同时签名才能支配这一个比特币(担保交易)
3)若约定B、C、D中任意两个人签名就能支配(联名账户)
4)若约定必须在一年后才能支配这个bitcoin(延时支付)
5)可约定任何人都可以(撒钱)或不可以花费(烧钱)这一比特币
即:通过比特币内置的这套脚本语言,可以灵活地编写出各种各样的约定,这种约定被称为”合约“。
脚本编写的合约使得比特币成为人类历史上第一种可编程的货币。
88. 若将bitcoin换成其他东西,加上这套脚本合约系统,那么可以实现的功能简直就是无穷无尽
这正是区块链2.0的核心概念(即合约),它既指区块链技术的这套技术方案,又同时指区块链2.0在商业合约方面的应用。
=============================================
昨日2h
累计 205.5h