– Need a way to describe algorithmic steps such
that computer can use them to execute process
– Programming language defines syntax and
seman;cs needed to translate our computa;onal
ideas into mechanical steps
再次说明MIT 更看重算法。
首先分析了,low level language(Compiled language)和 high level language(Interpreted language)的区别。
Compiled language 需要把source code全部转化为 instructons,并检查语法,语义错误。
Interpreted language 只需要先检查语法错误, 然后把当前step 转化为instructon,然后执行。
Interpreted language 比 Compiled language,抽象等级更高,更简单,更容易debug。
在Python中,一切皆对象。
有两种object:
--1.scalar:int,float,bool
--2.non-scalar,list,dict,string
在python 中,scalar 赋值一般是copy,non-scalar 一般是pointer。
The sample mean of abstrcation : 把值,表达式,函数,类 等等东西,绑定一个名字,然后再任意的地方用它。
查看类型,用type(*)function,输入 用 raw_input()函数。
一般程序不会是一下执行到底的,总会有很多的logic,我们需要 flow control
1.Branching programs:
if expression:
expressions
else:
expressions
注意缩进很重要。
2.Loop programs:
for x in (iterative):
expressions
iterative 可以是所有可以iterable的data structure: list,array。。,也可以是generator。
while expression:
expressions