author:Nakiri

本文存在部分知识点的遗漏,以个人使用习惯进行整理,仅作期末复习使用!!

第一章 Python概述

  1. Python的特点

    1. 简洁。实现同样的功能时相对于其他语言的代码量最少。
    2. 语法优美
    3. 简单易学
    4. 开源
    5. 可移植性好
    6. 拓展性好
    7. 类库丰富
    8. 通用灵活
    9. 模式多样,既支持面向对象,又支持面向过程(语法层面)
    10. 良好的中文支持
    11. Python 2.x与Python 3.x兼容性不强
    12. 执行效率不高
  2. 导入与使用模块
    1. 可以使用import 模块1, 模块2……的方法进行导入,也可以使用from 模块名 import *的方法导入模块的全部内容。由于第二种方法会降低代码的可维护性,建议使用第一种方法
    2. 调用模块中的内容,使用模块名.函数模块名.变量的方法
  3. 模块、包、类库的一一
    1. 模块是最基础的代码组织方式,每个包含有组织的代码片段的.py文件都是一个模块,文件名就是模块名
    2. 包以类似目录的结构组织模块文件或子包,简单来说,一个包含_init_.py文件的目录就是一个包。包中必须含有_init_.py文件,并可以有多个模块和子包
    3. 库是一个抽象的概念,它是指具有相关功能的模块的集合

第二章 Python基础

  1. 注释

    • 单行注释:

      # 注释内容
      # 若单行注释与代码共占一行,注释和代码之间至少有两个空格
      
    • 多行注释

      """
      主要用于说明函数或类的功能,也被称为说明文档
      通过__doc__属性可以获得Python对象的说明文档以下代码举例打印print函数的说明文档
      """
      print(print.__doc__)
      
  2. 缩进

    • 输入空格是Python 3首选的缩进方法。一般使用4个空格表示一级缩进。
    • Python 3不允许混合使用Tab键和空格键
    • 代码的缩进量不同会导致代码语义的改变,同一代码块的每行代码必须具有相同的缩进量,不允许出现无意义或不规范的缩进
  3. 语句换行

    • 建议每行代码不超过79个字符

    • Python会将圆括号、中括号和大括号中的行进行隐式连接,实例如下

      string = ("连接语句1""连接语句2""……""连接语句n")
      
    • 原本由圆括号、大括号或中括号包裹的语句在换行时不需要另行添加圆括号

  4. 标识符规则

    1. 由字母、数字、下划线组成,且不能以数字开头

    2. 标识符区分大小写。比如Nakiri和nakiri是两个不同的标识符

    3. 不允许使用关键字作为标识符

    4. 建议:

      • 见名知意
      • 命名规范:常量名使用大写的单个单词或下划线连接的多个大写单词。模块名、函数名使用小写的单个单词或由下划线连接的多个小写单词
  5. 关键字

    [‘False’, ‘None’, ‘True’, ‘__peg_parser__’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]

  6. 数据类型:

    • 数字类型:整型(int)、浮点型(float)、复数类型(complex)、布尔类型(bool)

      布尔类型是int类型的子类,只有True和False

    • 字符串:可以由单引号、双引号、三引号包裹

      '字符串1'
      "字符串2"
      '''字符串3'''
      
    • 列表:多个元素的集合,可以保存任意数量、任意类型的元素,且可以被修改

      ['列表元素1','列表元素2','列表元素3']
      
    • 元组:多个元素的结合,可以保存任意数量、任意类型的元素,但不可以被修改

      ('元组元素1','元组元素2','元组元素3')
      
    • 集合:多个元素的集合,可以保存任意数量、任意类型的元素,但是集合中的元素无序且唯一

      {'集合元素1','集合元素2','集合元素3'}
      
    • 字典:是键值对,键不能重复

      {"key1":"value1","key2":"value2","key3":"value3"}
      
  7. 输入输出函数

    input(“输入提示语句”)

    print(*objects, sep = ’ ', end = ‘\n’, file = sys.stdout)

    • objects:表示输出对象,若有多个需要用逗号分隔
    • sep:用于设定分隔符,默认空格
    • end:设定输出结尾,默认换行
    • file:数据输出的文件对象
  8. 整型:

    • 4种计数方式

      5  # 十进制
      0b011  # 二进制,以0b或0B开头
      0o5  # 八进制,以0o或0O开头
      0x5  # 十六进制,以0x或0X开头bin(x)  # 将x转换为二进制数
      oct(x)  # 将x转换为八进制数
      int(x)  # 将x转换为10进制数
      hex(x)  # 将x转换为16进制数
      
  9. python中表示无穷大是inf,无穷小是-inf

  10. 复数类型

    • 由实部和虚部组成,一般表现形式为实部 + 虚部
  11. Python中常见的布尔值为false的数据:

    1. None
    2. False
    3. 任何数字类型的0
    4. 任何空序列
    5. 空字典
  12. 数字类型转换

    int():将数字转换为整型

    float():将数字转换为浮点型

    complex():将数字转换为复数类型

  13. 运算符

    • /:除,获取商
    • //:整除,两个数相除,获得商的整数部分
    • ** :取幂,比如a**b的意思是取a的b次幂
  14. 逻辑运算符

    • and:双目运算符,与
    • or:双目运算符,或
    • not:单目运算符,非
  15. Python中字符串的类型是str类型

第三章 流程控制

  1. 条件语句

    • if语句语法格式

      if 判断条件:代码段
      
    • if-else语句语法格式

      if 判断条件:代码段1
      else:代码段2
      
    • if-elif-else语句语法格式

      if 判断条件1:代码段1
      elif 判断条件2:代码段2
      elif 判断条件3:代码段3
      else:代码段4
      
    • if嵌套语法格式

      if 判断条件1:代码段1if 判断条件2:代码段2
      
  2. 循环语句

    • while语句语法格式

      while 循环条件:代码段
      
    • for语句语法格式

      for 临时变量 in 目标对象:代码段
      """
      for语句也可以和range()函数搭配,range函数可以生成一个由整数组成的可迭代对象,以下示例
      """
      for i in range(5):print(i)  # 打印结果是0-4
      
  3. 跳转语句

    • break语句
    • continue语句

第四章 字符串

  1. 单引号和双引号用于定义单行字符串,三引号用于定义多行字符串

  2. Python3种格式化字符串的方法

    1. %格式化

      1. 常见的格式符

        格式符 格式说明
        %c 格式化为字符
        %s 格式化为字符串
        %d 格式化为整数
        %u 格式化为无符号整型
        %o 格式化为八进制数
        %x 格式化为十六进制数
        %f 格式化为浮点数,可以指定精度
      2. 使用%进行格式化的格式

        format % values
        # format表示一个字符串
        # values表示单个或多个真实数据
        
    2. format()方法格式化

      • 语法格式

        str.format(values)
        # str为字符串,其中包含单个或多个为真实数据占位的符号{}
        # values是单个或多个待替换的真实数据
        # 以下为示例use = "{}天下第一可爱!"
        print(use.format("步束"))
        """
        大括号中可以填索引值,当有多个真实值时会按照索引来进行替换
        也可以填替换值名称,当在方法中填入真实值时,只需要按照 替换值名称=真实值名称 来填写就可以
        """use1 = "世间{food}、{book}、{girl}不可辜负!"
        print(use1.format(food="美食",book="好书",girl="美少女"))
        
    3. 使用f-string格式化

      • 格式

        f('{变量名}') 或者
        F('{变量名}')# 示例
        use = "步束"
        print(f'{use}天下第一!')
        
  3. 字符串的常见操作

    • 查找find()函数

      str.find(sub,start,end)
      # sub:要查找的子串
      # start:开始索引,默认为0,可以不写
      # end:结束索引,默认为字符串长度,可以不写
      
    • 替换replace()函数

      str.replace(old,new,count)
      # old:要被替换的旧子串
      # new:新子串
      # count:替换旧子串的次数,默认全部替换,可以不写
      
    • 分割split()函数

      str.split(sep=None, maxsplit=-1)
      # sep:分隔符,默认是空格
      # maxsplit:分割次数,默认是-1,表示不限制次数分割,可以省略。
      
    • 拼接join()函数

      str,join(interable)
      # interrable:表示连接字符串的字符symbol = '*'
      world = 'Python'
      print(symbol.join(world))
      # 打印结果:P*y*t*h*o*n
      
    • 删除函数

      # 移除字符串头部和尾部的指定字符
      str.strip(指定字符)
      # 移除字符串头部的指定字符
      str,lstrip(指定字符)
      # 移除字符串尾部的指定字符
      str.rstrip(指定字符)# 不指定指定字符,默认是空格
      
    • 大小写转换函数

      # 小写全部转换为大写
      str.upper()# 大写全部转换为小写
      str.lower()# 第一个字母转换为大写形式
      str.capitalize()# 每个单词的首字母转换为大写
      str.title()
      
    • 字符串对齐

      # 返回长度为width的字符串,原字符居中显示
      str.center(width,fillchar)
      # fillchar:参数width指定的长度大于原字符串长度大于原字符串长度时填充的字符,默认空格# 原字符左对齐显示
      str.ljust(width,fillchar)# 原字符右对齐显示
      str.rjust(width,fillchar)
      

第五章 组合数据类型

  1. 根据组合数据类型可以分为3类:序列类型、集合类型和映射类型

  2. 序列类型

    • 支持双向索引:正向递增索引和反向递减索引
    • 主要有3种:字符串(str)、列表(list)、元组(tuple)
  3. 集合类型

    • 特征

      • 确定性:集合中每个元素都是确定的
      • 互异性:集合中每个元素都是不一样的
      • 无序性:集合中的元素没有顺序
    • 要求放入集合的必须是不可变类型的
      • 整型、浮点型、字符串类型和元组属于不可变类型
      • 列表、字典和集合是可变类型
  4. 映射类型

    唯一符合的是字典(dict)

  5. 列表

    • 创建

      • 使用[]创建
      • 使用list()函数创建列表
    • 列表中的元素可以是整型、浮点型、字符串等基本类型,也可以是列表、元组、字典等组合类型,还可以是其他自定义类型,元素使用逗号分隔

    • isinstance()函数可以判断对象是否为可迭代对象

    • 访问列表元素

      • 以索引方式访问列表元素

        list[n]
        
      • 以切片方式访问列表元素

        list[m:n:step]
        # 获得按步长step获取列表list中m~n对应的元素(不包括list[n]),step默认是1,mn可以省略
        
      • 在循环中访问列表元素

        use = ['n','a','k','i','r','i']
        for li in use:print(li,end = ' ')# 利用in 和 not in可以判断元素是否存在于列表
        
    • 添加列表元素

      • append()方法

        list.append(n)
        # 在列表末尾添加新的元素
        
      • extend()方法

        list1.extend(list2)
        # 在列表末尾一次性添加另一个列表中的所有元素
        
      • insert()方法

        list.insert(索引位置,新元素)
        # 按照索引将新元素插入列表的指定位置
        
    • 元素排列

      • sort()方法

        list.sort(key = None, reverse = False)
        # key:指定排序规则
        # reverse:False表示升序排序,True表示降序排列
        
      • sorted()方法

        sorted(list)
        # 按升序排列列表元素,该方法的返回值是升序排列后的新列表,排列操作不会对原列表产生影响
        
      • reverse()方法

        list.reverse()
        # 用于逆置列表
        
    • 删除列表元素

      • del语句

        use = ['n','a','k','i','r','i']
        del use[0]  # 删除索引为0的元素
        del use  # 删除整个列表
        
      • remove()方法

        list.remove(需要匹配的元素)
        
      • pop()方法

        list.pop(n)
        # 移除列表中索引为n的元素,n默认为列表中最后一个元素的索引
        
      • clear()方法

        list.clear()
        # 清除列表中的元素
        
    • 列表推导式

      [exp for x in list]
      # exp:用于在每层循环中对列表中的元素进行运算list = [1,2,3,4,5,6,7]
      list = [data*data for data in list]# 带有if的列表推导式
      list = [data for data in list if data > 4]# 嵌套for循环语句的列表推导式
      l1 = [1,2,3]
      l2 = [4,5,6]
      l3 = [x + y for x in l1 for y in l2]
      # l3:[5, 6, 7, 6, 7, 8, 7, 8, 9]
      
  6. 元组

    • 元组的表现形式是包含在一对圆括号中
    • 内置的tuple()可以创建一个空元组
    • 若元组中只有一个元素,它后面的逗号不能省略
    • 与列表相同,支持以索引、切片和循环的方式访问元组
    • 元组是不可变类型,其中元素不能修改,不支持添加元素、删除元素和排序操作
  7. 集合(set)

    • 由大括号包裹,逗号分隔元素

    • 集合中的元素无序但必须唯一

    • 常见操作:

      常见方法 说明
      add(x) 向集合中添加元素x,x若存在则不做处理
      remove(x) 删除集合中元素x,若x不存在抛出异常KeyError
      discard(x) 删除集合中元素x,若x不存在不做处理
      pop() 随机返回集合中一个元素,同时删除该元素。若集合为空,抛出KeyError
      clear() 清空集合
      copy() 复制集合
      isdisjoint(T) 判断集合与集合T是否没有相同的元素,没有返回True,有返回False
    • 集合推导式

      {exp for x in set if cond}
      
  8. 字典

    • 语法格式

      {key1:value1,key2:value2,key3,value3}
      
    • 字典访问

      字典变量[键]
      字典变量.get(key)
      dic.keys()  # 获取所有键
      dic.values()  # 获取所有值
      dic.items()  # 获取所有元素
      
    • 添加元素

      # 当字典中不存在某个键时
      字典变量[键] = 值#使用upload()也可以实现以上代码
      dic.update(key = value)
      
    • 修改元素

      字典变量[键] = 值
      dic.update(key = value)
      
    • 删除元素

      # pop()方法删除字典中的指定元素,若删除成功,该方法返回目标元素的值
      dic.pop(key)# popitem()随机删除字典中的元素,返回被删除的元素
      dic.popitem()# clear()方法清空字典中的元素
      dic.clear()
      
    • 字典推导式

      {new_key:new_value for key,value in dic.items()}# 可以快速交换字典中的键和值
      dic = {'name':'nakiri','age':'20'}
      dic = {value:key for key,value in dic.items()}
      
  9. 运算符

    • *运算符:字符串、列表、元组可以与整数进行乘法运算,运算后产生的结果为原数据的整数倍的拼接

第六章 函数

  1. 定义函数

    def 函数名 ([参数列表]):['''文档字符串''']函数体[return语句]
    
  2. 参数的打包

    • 可以再形参前面添加“*”或“**”:

      • 如果是“*”,那么它可以接收以元组形式打包的多个值
      • 如果是“**”,那么它可以接收以字典形式打包的多个值
      def test(*args):print(args)test(1,2,3,4,5)def test2(**args):print(args)test2(name='nakiri',age=20)
      
  3. 参数的解包

    use = (1, 2, 3, 4, 5)
    def test(a, b, c, d, e):print(a, b, c, d, e)test(*use)
    # 打印结果:1 2 3 4 5
    
  4. LEGB原则:

    1. L:局部作用域
    2. E:嵌套作用域
    3. G:全局作用域
    4. B:内置作用域
    5. 搜索变量是按照LEGB顺序依次搜索变量
  5. global关键字:可以将局部变量声明为全局变量

    global 变量

  6. nonlocal关键字:在局部作用域中修改嵌套作用域中声明的变量

  7. 匿名函数

    • 匿名函数无需定义标识符

    • 语法:

      lambda <形式参数列表> : <表达式># 定义一个匿名函数,并将它返回的函数对象赋值给变量temp
      temp = lambda x : pow(x, 2)
      print(temp(10))
      # 打印结果:100
      

第七章 文件与数据格式化

  1. 文件的打开与关闭

    • 打开文件可以通过内置的open()打开:

      open(file, model = 'r', encoding = None)
      # model:r表示以只读打开,w表示以只写打开,a表示以追加模式打开# encoding:设置编码格式
      
    • 关闭文件

      # 可以通过内置的close()关闭文件
      file.close# 也可以通过with语句
      with open('a.text') as f:pass  # 一些操作
      # a.text文件使用完成后,会自动关闭文件
      
  2. 文件的读写

    • 读取文件

      read(n=-1)
      # 从指定文件中读取指定字节的数据,若n为-1,表示一次返回文件中所有的数据readline()
      # 从指定文件中读取一行数据readlines(hint-1)
      # 可以一次性读取文件中所有数据,若读取成功返回一个列表,文件中每一行对应着列表中的一个元素
      # hint单位为字节,用于控制要读取的行数
      
    • 写文件

      write(data)
      # 可以将指定字符串写入文件writelines(lines)
      # 将列表写入文件
      
  3. 文件的定位读写

    • tell()获取文件当前的读写位置

    • seek()控制文件的读写位置,实现文件的随机读写

      seek(offset, from)
      # offset:偏移量,即需要移动的字节数
      # from:0表示文件开头,1表示当前读写位置,2表示文件末尾
      
  4. 文件与目录管理

    • 删除文件:remove()

      import os
      os.remove('a.text')
      
    • 重命名:rename()

      import os
      os.rename('a.text','b.text')
      
    • 创建、删除目录:mkdir(), rmdir()

      import os
      os.mkdir('dir')
      os.rmdir('dir')
      
    • 获取当前目录: getcwd()

    • 更改默认目录:chdir()

    • 获取文件名列表:listdir()

  5. 基于维度的数据分类:

    一维数据(CSV格式)、二维数据(矩阵、二维数组)、三维数据(JSON格式)

第八章 面向对象

  1. 类的定义

    class 类名:属性名 = 属性值def 方法名(self):方法体
    
  2. 对象的创建和使用

    对象名 = 类名()
    
  3. 类属性:声明在类内部,方法外部的属性

  4. 实例属性:是方法内部声明的属性

    • 访问实例属性:只能通过对象访问
    • 修改实例属性:通过对象进行修改
    • 动态添加实例属性:支持在类的外部使用对象动态的添加实例属性
  5. 实例方法

    • 形似函数,但它定义在类内部,以self为第一个形参,代表对象本身,会在实例方法被调用时自动接收由系统传递的该方法的对象
    • 只能通过对象调用
  6. 类方法

    • 定义在类内部,使用装饰器@classmethod修饰的方法

      @classmethod
      def 类方法名(cls):方法体
      
    • 可以通过类和对象调用

  7. 静态方法

    • 定义在类内部,使用装饰器@staticmethod修饰的方法

      @staticmethod
      def 静态方法名():方法体
      
    • 静态方法没有任何默认参数,它适用于与类无关的操作,或者无需使用类成员的操作

    • 静态方法内部不能直接访问属性或方法,但可以使用类名访问类属性或调用类方法

  8. 私有成员:在类成员的名称前面添加双下划线(__)的方式表示私有成员

    __方法名
    __属性名
    
  9. 构造方法:__init__()方法,有有参无参两种形式

  10. 析构方法:__del__()方法,销毁对象时调用的方法

  11. 封装

    • 基本思想:对外隐藏类的细节,提供用于访问类成员的公开接口
    • 2点要求:
      • 将属性声明为私有属性
      • 添加2个供外界调用的公有方法,分别用于设置或获取私有属性的值
  12. 继承

    • 单继承

      class 子类名(父类名):
      
    • 多继承

      class 子类名(父类名1, 父类名2, ...):
      
    • 子类不会继承父类的私有成员

  13. 重写:只要在子类中定义与父类方法名同名的方法,然后在方法中按照子类需求重新编写功能代码即可

  14. 多态:让不同类的同一功能可以通过一个接口调用,并表现出不同的行为

  15. 运算符重载

第九章 异常

  1. NameError:未定义变量引发的异常

  2. IndexError:访问越界

  3. AttributeError:使用对象访问不存在的属性

  4. FileNotFondError:未找到文件或指定目录

  5. 异常捕获:try-except语句、try-except-else语句、try-except-finally语句

  6. 抛出异常

    raise 异常类  # 使用异常类引发异常
    raise 异常类对象  # 使用异常类对象引发异常
    raise  # 使用刚出现的异常重新引发异常
    
  7. assert语句抛出异常

    assert 表达式[,异常信息]assert num != 0,'除数不能为空!'
    # 如果触发了异常,则是AssertionError异常
    
  8. 异常传递:如果程序中的异常没有被处理,默认情况下会将该异常传递到上一级,如果上一级仍旧没有处理,会继续向上传递,直到被处理或程序崩溃为止

  9. 自定义异常:需要继承Exception或Exception子类的类

Python期末复习笔记相关推荐

  1. 大一Python期末复习笔记

    目录 前言 一,输出格式控制 ①多行输出 ②不换行输出 ③精度保留和对齐 Ⅰ.format Ⅱ.f'{}' Ⅲ.% 二,嵌套 ①嵌套循环 Ⅰ.for Ⅱ.while ②嵌套列表,字典 三,列表与字符串 ...

  2. python 期末复习笔记

    关于python大数据分析的期末选择题已经整理好啦,关注公众号:大数据智库,回复[大数据选择题],即可获得网盘连接! 文章目录 1.类型 数据类型 数值类型 值类型与引用类型 可变与不可变对象类型 1 ...

  3. 【Python数据分析与可视化】期末复习笔记整理(不挂科)

    [Python数据分析与可视化]期末复习笔记 1. 数据分析与可视化概述 对比 概念 常用工具 Python常用类库 Jupyter notebook中的常用快捷方式 2. Python编程基础 co ...

  4. RFID原理及应用期末复习笔记 | 1.RFID概述【完结✿✿ヽ(°▽°)ノ✿】

    系列索引:RFID原理及应用期末复习笔记 | 快速索引 RFID是博主大三下的一门专业课,因为疫情缩短学期进程提前结课,所以期末考试也来的更早,这里就简单记录一下自己复习时的一些笔记,也给后来的学弟学 ...

  5. 【数据分析与挖掘】期末复习笔记(不挂科)

    [数据挖掘]期末复习笔记 1. 数据挖掘概论 1.1 参考资料 1.2 简介 1.3 数据.信息.知识 1.4 数据分析与数据挖掘 1.5 主要任务 1.6 数据库系统与数据仓库 1.7 数据挖掘常用 ...

  6. 太牛了 Python期末复习总结,提高成绩必备回家过个开心年

    Python期末复习之语法 将用一张思维导图的形式来展示python的基础语法. Python期末复习之运算符 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑 ...

  7. 【期末复习笔记】知识产权法——著作权、专利法、商标权

    [期末复习笔记]知识产权法 著作权 著作权法不予以保护的客体 著作权的归属 著作权的内容 著作人身权 著作财产权 著作权的取得方式:自动取得 著作权的保护期限: 邻接权 表演者权 表演者义务 表演者权 ...

  8. 南邮部分期末复习笔记汇总@tou

    README 知识库链接:tou/njupt-cst-notes 这个知识库存放了部分我在 NJUPT-CST 专业就读期间的期末复习笔记,这一部分公开的语雀笔记是我众多笔记中总结的还算 OK 的,仅 ...

  9. 奇异矩阵能lu分解条件_矩阵分析-期末复习笔记(上)

    (复习笔记,可能有点乱.夹杂着乱七八糟的英文,因为要用英文考试.) (如果有误请一定要和我说!祝我final考个好成绩-) 目录: 特征值,特征向量,相似 (Eigenvalues, eigenvec ...

最新文章

  1. 春泥棒(偷春人) — ヨルシカ(MV + 歌词、汉译、罗马音)
  2. Css实现的图片灰度
  3. 战神笔记本电脑自带access吗_双·12超值价 十代酷睿+GTX1650游戏本只卖4219元_神舟 战神Z7M-CU5NB_笔记本新闻...
  4. mysql 配置文件设置最大链接数 max_connections不生效
  5. 创建Node.js Express 项目
  6. DNN、CNN、RNN、LSTM的区别
  7. JAVA-Lambda表达式
  8. 【今日CS 视觉论文速览】Thu, 6 Dec 2018
  9. Context是怎么在Go语言中发挥关键作用的
  10. 汇编语言-显示九九乘法表
  11. 2020身高体重标准表儿童_2020上海1-12岁男女孩最新身高标准表,你家孩子达标了吗?...
  12. Hihocoder 1142 三分
  13. 通过HttpURLConnection模拟post表单提交
  14. 斑马打印机linux驱动安装教程,linux-Zebra软件包的基本安装与配置
  15. 国内外AI绘画软件汇总
  16. 解决 ArchLinux 下中文 Chinese 不能输入 couldnt input 的问题
  17. 战双帕弥什登入显示服务器错误,战双帕弥什渠道账号登陆失败怎么解决 解决方法...
  18. bilibili直播间利用python爬虫自动发送弹幕
  19. 悲观锁、乐观锁和自旋锁
  20. day22-作业贝壳租房100页数据

热门文章

  1. vue自定义组件html,Vue自定义组件(简单实现一个自定义组件)
  2. MySQL数据库配置及高级操作
  3. 字符串查找函数strstr 简单模拟实现
  4. 这肯定计算机课试试看的英文,英语课上的小游戏
  5. 一个夏日的早晨(山东济南一考生)
  6. 大数据——数据量级单位汇总
  7. python构造函数指定的参数不起作用,构造类不需要参数的可能原因
  8. UIBarMetrics
  9. Pecemaker+Corosync+Haproxy高可用Openstack集群实战
  10. 【谈天说地】诋毁中华文化的三大谎言(之一)