麻省理工公开课《计算机科学及编程导论》中文笔记(第2讲)

麻省理工公开课《计算机科学及编程导论》中文笔记(第2讲)作者@易枭寒


知识点:运算符、运算对象,表达式,语句,分支、条件、循环


基本数据类型:
1、数字,数字用于数学运算。数字(整数,符点数,复数 complex numbers)
2、字符串,字符串是处理文字信息的基本方式
3、布尔型(真、假)


表达式:运算 对象 运算符 运算对象,例如 1 + 1




>>> x = 3 #创建变量x,并为x赋值为3
>>> x = x*x #将结果9赋值给x
>>> print x
9




字符串复制操作:
>>> 'hello' * 3
'hellohellohello'
>>>




类型转换:
>>> 3 + a


执行后报错:
Traceback (most recent call last):
 File "", line 1, in
   3 + a
NameError: name 'a' is not defined


分析:语法上没有错误,运算对象 运算符 运算对象,但语义上有错误。
执行时,Python进行了类型检查,在运行程序前检测到了错误的运算对象类型。


类型转换与字符串的拼接操作:
>>> '3' + 'a'
'3a'
>>> str(3) + 'a'  #str(3):把数字3转换为字符型
'3a'


>>> 'a' < 1 # 比较操作。字符串与数字的比较,实际上比较的是ASCII码
False






运算符的优先级:类似数学运算里的先括号里的运算,再乘除,最后加减。
>>>3 + 4 * 5  # 表达式
23
>>>3 + (4 * 5) # 强烈建议加括号
23




赋值操作(绑定)、指针(连接):请自行画图,方便理解
>>>x = 3  #x存在于内存中某个地方,然后创建一个变量名与值之间的连接或指针
>>>z= x  #将y与同一个值绑定。这相当于将x的值或这个连接赋予z,结果z的指针指向相同位置,指向值,而不是x
>>>z
3


动态绑定:
变量的类型,你赋值为什么类型,它就是什么类型
>>>a = 3  # a为整型
>>>a = 'hello'  # a现在为字符串类型    
良好的编程风格:不要随意改变变量类型






statament (语句、声明):语句是做某事(换句话说就是,告诉计算机做什么),而表达式是某事。
        赋值语句是绑定变量名和值。print语句是输出到屏幕。
>>>2 * 2
4
>>>print 2 * 2
4
注意:在Python 3.0 中 print 是函数,即在Python3.0 中应该这样写 print(2*2)




注释:# 右边的信息为注释。注释写给读代码的人看得。机器不执行注释这行代码。


良好的编程风格:
1、写必要的、有意义的注释。
2、变量名的选取要有意义,name, age 见名之意,a,  b, x, y 没有意义,变量名要开头
    小写,单词之间用下划线连接,命名规则请自行搜索“变量命名 驼峰原则”。
3、不要反复无定的改变变量的值。不要随意改变变量类型。




保留字(关键字):Python中至少有28个保留字,也就是说它们已经被占用,变量命名的时候不
                             能用这些保留字了。


分支程序(Brouching programs)
条件执行和 if 语句:
注:以下代码需要下载Notepad++。因为在shell中缩进不明显。
请Google自行搜索 Notepad ++ python 下载配置(Tab转换为4个空格,快捷键运行)
将以下代码保存为if_else_odd.py文件。


#filename为if_else_odd.py
#判断奇数偶数
x = 15
if (x/2)*2 == x:
   print 'enen'
else:
   print 'odd'




如果 条件满足:
   执行print语句
否则:
   执行print 'odd'
注意:print语句前的4个空格缩进。它的意思是,该行代码是一个语言块。注意不要丢冒号。


#compare.py
#比较三个数的大小:
x = 15
y = 13
z = 11
print x, y, z


if x < y and x < z: #逻辑运算符 and 和,与的意思
   print 'x is the smallest'
elif y < z:
   print 'y is the smallest'
else:
   print 'z is the smallest'


while循环:
#while.py
x = 10
i = 1
while (i < x):
   if x % i ==0:
       print 'yueshu', i
       i = i + 1
for循环:
#for.py


x = 10
for i in range(1, x):
   if x % i == 0:
       print 'yushu', i






Boolean(true ,false)  and or not


iteration迭代或loop循环
while


无限循环。

以上文字由  @易枭寒 ([email protected]    QQ:499065469根据视频资料进行的手工整理,转载请注明出处和作者信息。



你可能感兴趣的:(公开课,Python)