9.12小结

计算机基础之编程

什么是编程语言

人与计算机交流的介质

什么是编程

编写一大堆文件

为什么要编程

代替劳动力

计算机五大组成

CPU

控制器(一)

控制硬件

运算器(二)

算术运算+逻辑运算

存储器(三)

主存(内存)

优点:速度快

缺点:容量小,断电即消失

外存(硬盘)

优点:容量大,永久存储

缺点:速度慢

输入设备(四)

输入信息,如键盘/鼠标/

输出设备(五)

输出信息,如显示屏/打印机

32位和64位

计算机一次性读取的二进制位位数

多核CPU

同一时刻同时做多件事情(多进程)

机械硬盘工作原理

机械手臂

读取数据

磁道

存储数据

扇区

划分磁道

平均寻道时间

5ms

平均延迟时间

4.15ms

平均寻找数据时间

9.15ms

计算机操作系统

什么是文件

操作系统提供的虚拟单位

操作系统有什么用

把对硬件的复杂操作简单化

操作系统的启动

  1. 开机,启动临时操作系统
  2. 临时操作系统启动真正的操作系统
  3. 关闭临时操作系统

应用程序的启动

  1. 双击qq(给操作系统发指令)
  2. 操作系统给CPU发指令
  3. CPU给内存发指令
  4. 内存给硬盘发指令读取qq内容
  5. 内存读取qq内容
  6. 启动qq

编程语言的分类

机器语言

优点:执行速度快

缺点:开发效率低

汇编语言

优点:开发效率高

缺点:执行效率低

高级语言

编译型语言

优点:执行效率高

缺点:开发效率低

解释型语言

优点:开发效率高

缺点:执行效率低

网络瓶颈效应

网络通信的延迟时间远远大于计算机执行程序的时间

python执行程序的两种方式

交互式

优点:方便调试bug

缺点:无法保存

命令行式

优点:可以保存

缺点:调试麻烦

变量

什么是变量

描述世间万物的变化的状态

变量的三大组成

变量名(接收变量值) = 变量值(具体的值)

变量名的命名规范

  1. 变量名具有描述意义
  2. 由数字/字母/下划线组成,不能由数字开头,下划线开头表示不要_name
  3. 不能以关键字命名

变量名的两种形式

  1. 下划线(推荐使用)
  2. 驼峰体

常量

常量名全大写,但是可以变化(约定俗成的不变化)

python变量内存管理

引用计数

针对变量值而言,变量值的引用次数

垃圾回收机制

变量值的引用计数为0,自动触发垃圾回收机制,解除变量值的内存占用

小整数池

[-5,256]之间的整数,在python解释器启动的时候,就会自动生成,也就是说垃圾回收机制对他们无效

变量的三种打印方式

x = 10
print(x)
print(id(x))
print(type(x))

花式赋值

链式赋值

a = b = c = 10

交叉赋值

x , y = y, x

布尔类型

所有数据类型自带布尔值,除了 0/None/空/False自带布尔值为False,其他为True

解压缩

一次性接收多个值

lt = [1, 2, 3]
s1, s2, _ = lt

python与用户交互

input的使用,接收的值永远为字符串

格式化输出的三种方式

f-string格式化

f'{name}'

%占位符

'%s'%(name)

format格式化

'{}'.format(name)

基本运算符

算术运算符

+ - * / // % **

逻辑运算符

  1. and 两边都为True,则为True
  2. or 一边为True,则为True
  3. not 否定

比较运算符

< <= > >= == !=

身份运算符

  1. is 比较内存地址
  2. is not

成员运算符

  1. in 判断元素是否存在容器类元素内部(包括字符串)
  2. not in

赋值运算符

= += -= *= /= **= %= //=

x += 10 # x = x + 10

运算符的优先级

要优先的加个括号就行了

流程控制之if判断

单分支结构

if 条件:
	代码块

双分支结构

if 条件:
	代码块 条件成立走这个
else:
    代码块 条件不成立走这个

多分支结构

if 条件:
	代码块 条件成立走这个
elif 可以有多个
else:
    代码块 条件不成立走这个

流程控制之while循环

while + break

中断循环

while + continue

退出本次循环,不执行下面的代码,进行下一次循环

while + else

不被break中断就执行else缩进下的代码

tag控制while退出

while tag(count < 3):
    pass

流程控制之for循环

for + break

中断循环

for + continue

跳出本次循环,不执行下面代码,开始下一次循环

for + else

没有被break掉,就执行else缩进下的代码

数字类型内置方法

整型

浮点型

字符串内置方法

优先掌握

  1. 索引取值
  2. 索引切片
  3. for循环
  4. 成员运算
  5. len长度
  6. strip
  7. split

需要掌握

  1. rstrip/lstrip
  2. rsplit
  3. lower/upper
  4. startswith/endswith
  5. isdigit/isalpha

了解

  1. find/rfind/index/rindex/count
  2. center/ljust/rjust/zfill
  3. expandtabs
  4. capital/swapcase/title
  5. is系列

列表内置方法

优先掌握

  1. 索引取值/索引修改值
  2. 索引切片
  3. for循环
  4. 成员运算
  5. len长度
  6. append
  7. del 删除某一个元素

需要掌握

1. sort
2. reverse
3. pop
4. remove
5. index
6. insert
7. extend
8. copy
9. clear

有序or无序

有索引,有序;无索引,无序

可变or不可变

可变:值变id不变

不可变:值变id变化

  1. 浏览一遍
  2. 抄一遍(把不会的挑出来)
  3. 把不会的看看博客,弄懂
  4. 再抄一遍
  5. 再抄一遍
  6. 再默一遍

9/16早上起来再默一遍

没过就10遍

leetcode对未来的应用没有意义,就是提升你的逻辑思维(和数据结构与算法狗屁关系都没有,遇到就跳过)

posted @ 2019-09-12 16:40  mqb11  阅读(171)  评论(0编辑  收藏  举报