Python基础小结

目录

计算机基础之编程

什么是编程语言

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

什么是编程

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

为什么要编程

奴役计算机,替代劳动力

计算机五大组成

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,我就会被打印出来')
posted @ 2020-01-20 18:38  RandySun  阅读(306)  评论(0编辑  收藏  举报