Python基础小结 计算机基础之编程 计算机五大组成 计算机操作系统 编程语言分类 网络的瓶颈效应 一、执行Python程序的两种方式 二、执行Python程序的两种IDE 三、变量 四、注释 五、花式赋值 六、与用户交互 七、input 八、格式化输出 九、基本运算符 一十、流程控制

目录

什么是编程语言

编程语言是人与计算机交流的介质

什么是编程

通过编程语言编写一大堆文件

为什么要编程

奴役计算机,替代劳动力

计算机五大组成

CPU

控制器

控制硬件

运算器

算术运算和逻辑运算

内存

优点: 速度快

缺点: 断掉即消失,存储容量小

外存

优点:容量大,永久存储

缺点:速度慢

输入设备

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

输出设备

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

IO设备

u盘是io设备,既能输入信息,又可输出信息

应用程序的启动流程

  1. 双击qq(找到qq的路径)
  2. 操作系统发送指令给CPU
  3. CPU发送指令给内存
  4. 内存从外存中取出qq的代码
  5. 运行qq

32位和64位

电脑一次读取32/64个字节,64位的电脑能装32的软件,32的电脑不能装64位的软件,向下兼容性

多核CPU

3核CPU人类的三个头,同一时刻完成多件事情

机械硬盘工作原理

机械手臂:读取数据

磁道:存储数据

扇区:划分磁道

平均寻道时间:5ms

平均延迟时间:4.15ms

平均寻找数据时间:9.15ms

固态硬盘(了解)

基于电和算法实现的数据存储,不需要平均寻道时间,寻找数据时间是光速

计算机操作系统

什么是文件

操作系统提供的虚拟单位,用来存储数据

什么是应用程序

一堆文件

操作系统有什么用

把对硬件的复杂指令简单化

计算机的三大组成

硬件: 操作系统, 内存和外存的直接交互

操作系统:硬件/用户/应用程序

应用程序:操作系统

用户:操作系统

操作系统的启动

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

编程语言分类

机器语言

优点:执行效率高

缺点:开发效率低

汇编语言

优点(相较于机器语言):开发效率高

缺点(相较于机器语言):执行效率低

高级语言

解释型语言(同声传译)

解释器都是用编译型语言写的

优点(相较于编译型语言):开发效率高

缺点(相较于编译型语言):执行效率低

编译型语言(谷歌翻译)

优点(相较于解释型语言):执行效率高

缺点(相较于解释型语言):开发效率低

网络的瓶颈效应

类似qq需要经常访问网络的程序,网络传输信息的延迟是远远大于程序执行的时间,程序执行的时间可以忽略不计

操作系统不需要网络的程序,用编译型更好

一、执行Python程序的两种方式

1.1 交互式

在终端内输入python3,然后输入python代码, 不能永久保存,修改bug方便

1.2 命令行式

在终端内输入python3 文本文件路径,可以永久保存,修改bug不便

二、执行Python程序的两种IDE

2.1 Pycharm

2.2 Jupyter

三、变量

3.1 什么是变量?

变量一般用来用来描述世间万物变化的状态

3.2 变量的组成?

变量名 = 变量值

变量名是用来接收变量值的

3.3 变量名的定义规范

  1. 变量名具有某种意义
  2. 由数字/字母/下划线组成,且不能由数字开头,(也不能由下划线开头)
  3. 不能用Python关键字
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

3.4 定义变量的两种方式

  • 驼峰体:NameOfRandy
  • 下划线:`name_of_randy(推荐)

3.5 常量

常量是约定俗成的一种规范,常量名的定义方式为全大写.实际上可以被修改.

四、注释

4.1 单行注释

#注释的语句,#后面的字符不执行语法,即只为普通字符,一般用来解释某一段代码

4.2 多行注释

三单引号/三双引号

4.3 引用计数

变量值的引用次数

x = 257  # 257的引用计数为1
y = x   # 257的引用计数为2
del x  # 257的引用计数为1

4.4 垃圾回收机制

当变量值的引用计数为0的时候,该变量值会被Python自动回收它的内存占用,分代回收

4.5 小整数池

[-5,256]之间的整数会在Python解释器启动的时候,自动开辟一块内存存入这些整数.也就是说这些整数不会因为引用计数为0而被删除

五、花式赋值

5.1 链式赋值

x = y = z = 10

5.2 交叉赋值

# 交叉赋值
x = 10
y = 20

x, y = y, x

print(x, y)

# 使用临时变量
x = 10 
y = 20 
temp = x
x = y
y = temp

print(x, y)

六、与用户交互

七、input

input输入的都是字符串形式

八、格式化输出

8.1 占位符

%s接收任意数据类型的数据
%d接收数字类型的数据

name = 'randy'

'randy name is %s'%name

8.2 format格式化

{}接收任意数据类型的数据

name = 'randy'

'randy name is {}'.format(name)

8.3 f-string格式化

在字符串前面加上f或F,然后使用{}接收任意数据类型的数据

name = 'randy'

f'randy name is {name}'

九、基本运算符

9.1 算术运算符

+ - * / % // **

9.2 逻辑运算符

and or not

9.3 比较运算符

> >= < <= == !=

9.4 赋值运算符

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

9.5 身份运算符

is is not
  • id相同的值一定相同,值相同的id不一定相同

9.6 运算符优先级(略)

如果需要某个运算符优先运算,则加个括号,使用a and b is c == d的是傻逼

9.7成员运算符

in , not in

9.7 解压缩

hobby_list = ['read','run','sleep','fishing','piao']

# 如果取第2-3个爱好

_,hobby2,hobby3,*_ = hobby_list

print(hobby2, hobby3)

一十、流程控制

10.1 流程控制之if判断

10.1.1 if

if 条件:
    代码块

10.1.2 if...else

if 条件:
    代码块
else:
    代码块

10.1.3 if...elif....elif...else

if 条件:
    代码块
elif 条件: 
    代码块
elif 条件:
    代码块

...(可以写任意个elif)

else:
    代码块

10.2 流程控制之while循环

10.2.1 while

while 条件:
    代码块

10.2.2 while + break

while 条件:
    代码块
    break  # 结束本层循环,跳出循环

10.2.3 while + continue

while 条件:
    代码块
    if 条件:
        代码块
        cotinue  # 不执行下面代码,然后继续循环,即跳出本次循环
    代码块

10.2.4 while + else

while 条件:
    代码块
else:
    print('如果我没有被break,我就会被打印出来')

10.3 流程控制之for循环

10.3.1 for

for i in range/str/list/tuple/dict/set(可迭代对象):
    print(i)

10.3.2 for + break

for i in range/str/list/tuple/dict/set(可迭代对象):
    print(i)
    break  # 结束本层循环

10.3.3 for + continue

for i in range/str/list/tuple/dict/set(可迭代对象):
    print(i)
    if 条件:
        continue  # 结束本次循环,即不执行下面代码,继续循环
    代码块

10.3.4 for + else

for i in range/str/list/tuple/dict/set(可迭代对象):
    print(i)
else:
    print('如果我没有被break,我就会被打印出来')