计算机科学及编程
学习源
a. 网易公开课—— 麻省理工学院公开课:计算机科学及编程导论
表达式和语句
- 表达式(expression):使用运算符和对象
- 语句(statement):使用关键字,告诉解释器一个命令
强类型语言 & 弱类型语言
- type checking : weak or strong -> how much type checking it will do
- Python 是强类型语言。 python 虽然没有类型声明,但是在赋值的时候会继承变量的类型。
- javascript 是弱类型语言。
举例
Python中
>>> a = 1 >>> b = "2" >>> print(a+b) Traceback (most recent call last): File "/Users/xxx/anaconda3/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2910, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "<ipython-input-27-85111a3ab660>", line 1, in <module> print(a+b) TypeError: unsupported operand type(s) for +: 'int' and 'str'
javascript 中
>>> var a = 1 >>> var b = "2" >>> console.log(a+b) 12
- 在python中, 数字型和字符串无法相加; 在js中发生了数据类型的转换,虽然整个程序中未涉及到这个转换,但是程序内部自发地进行了转换。 这就是强数据类型和如数据类型的差异。
⚠️
- 第一节课在用Python进行举例的时候提到除法
'/'
时指出2/3
会返回0
。 这里需考虑Python版本差异。见博客1, 博客2
- version <= 3.0时:
>>> 1/2
0
>>> 1.0/2
0.5
- version > 3.0 时:
>>> 1/2
0.5
- version <= 3.0时:
寄语
能读懂一年前的代码
time table
2018.4.14 [a]第一集
2018.4.15 [a]第二集