python编程导论 week 1

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 or False

    操作符: and / or / not

  • None:In Python, the keyword None 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]

你可能感兴趣的:(python编程导论 week 1)