zoukankan      html  css  js  c++  java
  • 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,我就会被打印出来')
    
    在当下的阶段,必将由程序员来主导,甚至比以往更甚。
  • 相关阅读:
    SQL Challenges靶机
    XSS靶机1
    djinn靶机
    Sunset靶机
    统计学 一 集中趋势
    测试
    测试
    统计学 一 集中趋势
    算法分析
    代码测试
  • 原文地址:https://www.cnblogs.com/randysun/p/12219064.html
Copyright © 2011-2022 走看看