week 1
第一章:前言
计算机的优势:速度和存储,然而速度和存储也是有限的,不足以支撑稍微复杂的问题模型
计算思维:陈述性知识和程序性知识(描述的是信息演绎的过程,如何做)
算法:指令(instructions)的集合
顺序指令
测试指令
计算机发展:fixed programming computer --> stored computer
图灵停机问题:不存在这样一个程序:对于给定的任意程序P,当且仅当P永远运行时输出true。
图灵停机问题指出:图灵完备性
编程语言满足:模拟通用图灵机 -->图灵完备
syntax(语法): 单词拼接
static semantics(静态语义): 语句没有语法错误
semantics(语义): 语法和静态语义通过,但是语义要唯一性
python在运行程序时,会做static semantics检查,但是不会捕获所有静态语义错误
第二章:python简介
低级编程/高级编程:
解释运行/编译运行:是否经过(编译器)转换再通过解释器执行。解释运行更易调试,编译运行编写的程序速度更快,占用的空间也更少
字符编码
# -*- coding: utf-8 -*
scalar objects标量对象
不可分的
-
int
:used to represent integers -
float
: used to represent real numbers -
bool
:used to represent boolean,True
orFalse
操作符:
and
/or
/not
-
None
:In Python, the keywordNone
is frequently used to represent the absence of a value.None
is the only value in Python of type
type(3) #type函数,返回数据类型
PQ7Yzn.md.png
non-scalar objects 非标量对象
- string
type(varA) == str
python变量
命名规则:可以包含大写字母、小写字母、数字(但不能以数字开头)和特殊字符_
注释:#
-
变量绑定的概念
通过
=
将一个对象赋值给一个变量名,其实是把对象的地址绑定在这个变量名上可将该对象地址绑定在多个变量名上
-
多重赋值
#顺序:右侧的每个表达式先进行求值
x, y = 2, 3
#多重赋值交换两个变量的绑定
x, y = 2, 3
x, y = y, x
python分支控制
- 缩进
- 条件if else elif
if type(varA) == str or type(varB) == str:
print 'string involved'
elif varA > varB:
print 'bigger'
elif varA == varB:
print 'equal'
else:
# If none of the above conditions are true,
# it must be the case that varA < varB
print 'smaller'
- 迭代/循环
- for in
- while
#循环语句
while(true):
a++
#不用检查循环条件就跳出循环:
#break:结束当前循环(内层循环
#continue:来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环
视频练习过后的总结
出错点总结
###数值操作######
#4是否大于正4 False
print(4 > + 4)
#ps:表达式顺序从右到左
print(4 > 5 or 3 < 4 and 9 > 8 )
#四舍五入 3
round(2.6)
#向下取整 2
int(2.6)
#此时只进行数值上的比较,True
print(5*2 == 5.0 * 2.0)
###字符串操作######
#倩碧后开,第三个参数k表示步距(steps),k-1为间隔
str4[1:9:2]
网友评论