火柴人VS编程(Animation Vs. Coding) 解析(一)

TITLE
***Animation Vs Education***的第4集《火柴人VS编程》终于出了!

本视频的特点

当我只看到预告时,我的想象是这样的:
C
C++

Java
Node.js

以至于想象出:
Assembly Language

结果视频中全都是:
Python!!!

全部是Python!不过这并不是一个令人失望的事。
这样我才能来做这个解析。

The Beginning

00:08
故事的主角Yellow从地上坐起。他看到了头上闪动的光标,用手去摸。这个反应跟TheSecondComing1当年看到“1”的反应2一模一样……

00:23
Yellow试着用电脑输入hello,报出了NameError,把Yellow吓了一跳。
命名错误。因为此时尚未定义变量。

00:29
接着Yellow试着print,但是按了好几遍啥也没有。
理由无需解释。
00:36
Yellow试着在括号中输入"hi",此时电脑弹出了hi,正好打到他的脸上。
这就是Python的Hello World。
00:50
此时弹出了3串hi。

变量

00:54
这时Yellow来了一个大胆尝试,他将变量a赋值为1,然后输出a。
果然就有1了!
00:59
Yellow试着把a改成2、9、3,发现地上的数字就有了变化。

运算

1:02
改成3+2,地面上就有了5。
3-2,得到1。
3*2,得到6。
3/2,得到了1.5。此处注意Python的除法默认得到浮点数。

1:08
利用Python特有的“取整除”,就得到了1。这让Yellow有些疑惑。

字符串(String)

3:12
引号包含的是字符串。刚才的"hi"也是一个字符串。
Python的字符串是既可以用单引号也可以用双引号的,没有“char”这个类型。
print(b)执行后,"string"又弹到了Yellow脸上。
print函数打印字符串时不带引号。但是如果包含在一个list中会带单引号。
3:15
Python中字符串可以相加。
b+b就得到了“stringstring”。
01:20
Python基本上是强类型的,字符串和数字不能相加3。所以这里出现了TypeError,电脑突然发出了尖锐的爆鸣声,然后就开始在地上不受控制。

强制转型

01:28Yellow安抚好了他的电脑继续实验,他发现把a强制转型后就可以得到“string5”。Python的str函数把数字5直接转换为字符’5’,而不是ASCLL码为5的不可见字符转化出来。
这样就没问题了。

以上就是Animation Vs. Coding前90秒的解析。

To Be Continued 未完待续


  1. AlanBecker的火柴人角色。 ↩︎

  2. 《火柴人VS数学》的开头。 ↩︎

  3. 这与弱类型的C语言、Java、JavaScript以及TypeScript是不同的。JavaScript/TypeScript可以直接把"string"和5相加得到"string5"。这叫“隐式类型转换”。 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值