zoukankan      html  css  js  c++  java
  • 小结1

    计算机基础之编程

    什么是编程语言

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

    什么是编程

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

    为什么要编程

    奴役计算机,替代劳动力

    计算机五大组成

    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程序的两种方式

    交互式

    cmd写代码,不能永久保存代码,方便调试

    命令行式

    可以永久保存代码

    变量

    什么是变量

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

    如何定义变量

    x = 0
    

    变量的组成

    变量名: 接收变量值

    赋值符号: 赋值的作用

    变量值: 具体的数值

    定义变量名的规范

    1. 变量名具有意义
    2. 变量名由数字/字母/下划线组成,首字母不能为数字,也不能为_(如果为了就是不要引用的意思)

    变量名的两种命名风格

    1. 驼峰体
    2. 下划线(建议使用)

    常量

    不变的量,变量名全大写,但在Python中是可以变化,这只是程序员约定俗成的,

    Python变量内存管理

    引用计数

    新定义一个变量,开辟一块内存空间,引用计数1x=1

    变量值多加了一个引用,引用计数加1y=x

    删除一个引用,引用计数减1del x

    垃圾回收机制

    变量值的引用计数为0的时候,释放变量值的内存空间

    小整数池

    [-5,256]的整数不会被垃圾回收机制回收,因为PYthon解释器启动的时候就会自动开辟一块内存空间放入这些整数

    花式赋值

    链式赋值

    x=y=10
    

    交叉赋值

    x = 10 
    y = 20
    
    x, y = y, x
    
    z = x
    x = y
    y = z
    

    注释

    单行注释

    注释取消代码的意义,变成普通的字符

    解释代码的意思

    多行注释

    '''

    数据类型基础

    为什么要有数据类型

    不能用单一的数据类型描述世间万物,所以多种数据类型

    解压缩

    lis = [1,2,3]
    
    x,y,z = lis
    
    # x = 1, y = 2, z = 3
    

    Python与用户交互

    input()
    
    
    input接收的所有值都是字符串
    

    Python格式化输出的三种方式

    占位符%

    '%s'%'nick'
    

    format格式化

    '{}'.format('nick')
    

    f-string格式化

    f"{'nick'}"
    

    基本运算符

    算术运算符

    +-*/ % // **
    
    

    逻辑运算符

    and or not
    
    

    比较运算符

    > >= < <= == !=
    
    

    赋值运算符

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

    身份运算符

    is

    is not

    运算符的优先级

    优先的加括号就行

    流程控制之if判断

    单分支结构

    if <条件>:
        <代码块>
    
    

    双分支结构

    if <条件>:
        <代码块1>
    else:
        <代码块2>
    
    

    多分支结构

    if <条件1>:
        <代码块1>
    elif <条件2>:
        <代码块2>
    ...
    else:
        <代码块3>
    
    

    if嵌套

    if <条件1>:
        <代码块1>:
        if <条件2>:
            pass
    
    

    流程控制之while循环

    while + break

    跳出本层循环

    while + continue

    跳出本次循环

    while + else

    判断循环有没有被break,被break不执行else

    while嵌套

    while <条件1>:
        while <条件2>:
            pass
    

    流程控制之for循环

    for + break

    for + continue

    for + else

    for循环嵌套

    有序or无序

    有索引的就有序,无索引的就无序

    可变or不可变

    值变id也变的是不可变

    值变id不变的是可变

  • 相关阅读:
    BZOJ 1101 莫比乌斯函数+分块
    BZOJ 2045 容斥原理
    BZOJ 4636 (动态开节点)线段树
    BZOJ 2005 容斥原理
    BZOJ 2190 欧拉函数
    BZOJ 2818 欧拉函数
    BZOJ 3123 主席树 启发式合并
    812. Largest Triangle Area
    805. Split Array With Same Average
    794. Valid Tic-Tac-Toe State
  • 原文地址:https://www.cnblogs.com/xwjhyy/p/11511698.html
Copyright © 2011-2022 走看看