目    录

一、数据类型

1. python基础变量

2. 数据类型

3. 数据类型转换

4. 列表

5. 字典

二、逻辑控制

三、for与while循环

1. for……in……循环语句

2. while循环

四、函数的创建使用、排序和数据类型转换

1. 函数的创建和使用

2. 排序和数据类型转换

五、面向对象和文件操作

1. 面向对象

2. 文件的写入和读取

3. 目录操作

六、模块安装、正则表达式&结巴分词与生成词云

1. 模块安装

2. 正则表达式&Re处理文本内容

3. 结巴分词

4. 生成词云


一、数据类型

1. python基础变量

name = '张三'
age = '八岁'
result = name + age
print(result)

上面代码中,name就是一个变量,给变量name赋值为张三

result为字符串拼接,把name和age的字符串拼接。

打印result的输出结果为:张三八岁

2. 数据类型

基本类型:字符串、整数、浮点数

数据拼接:使用符号+

相关函数:

str()        将其他类型转换为字符串

int()        将其他类型转成整数

float()        将其他类型转成浮点数

word = '3.5'  # 字符串类型
number = 2  # 整数类型
desc = '中文加数字:3.5+2='  # 字符串类型# 目标:把word和number两个变量做相加的运算
# 并把运算的结果拼接到desc上# 第一步:把word和number两个变量做相加的运算
result1 = float(word) + number  #把word字符串类型转成浮点数类型,小数和整数进行加法运算。
print(result1)# 第二步:把运算的结果拼接到desc上
result2 = desc + str(result1)   #把result1转成字符串类型,与desc进行拼接。
print(result2)

打印结果:     5.5
                        中文加数字:3.5+2=5.5

3. 数据类型转换

小数可以转成整数—取整数,去掉小数;

整数和浮点数可以转成字符串,字符串不能转成整数或浮点数;

4. 列表

##############创建列表################
list_stu = ['张一', '李二', '王三', '刘四']# 索引:在列表中所在的位置,从0开始。#########提取列表中单个元素#############
# print(list_stu[0])  #张一
# print(list_stu[1])  #李二
# print(list_stu[2])  #王三
# print(list_stu[3])  #刘四# 不知道位置的时候,可以先根据index查其位置
print(list_stu.index('王三'))  # 王三的位置是2############提取多个元素######################
print(list_stu[0:3])  # ['张一', '李二', '王三'] 从位置0开始取,取到2的元素(3-1)。
print(list_stu[1:])  # ['李二', '王三', '刘四'] 从1开始取,取到结尾,取完。# 总结:提取多个元素加冒号的这种,叫“切片”
# 取值的实际范围,都是买好后面的数字减去1#################给列表添加元素#############################
list_stu.append('周五')  # 自动加到最后一位['张一', '李二', '王三', '刘四', '周五']
print(list_stu[-1])  # 打印最后一位  周五# 在指定位置插入值
list_stu.insert(1, '吴六')  # 在1的位置插入吴六,原来1的位置是李二,现在从李二开始位置往后移。
print(list_stu)  # ['张一', '吴六', '李二', '王三', '刘四', '周五']###########################列表删除元素################## 1、通过del关键字,删除制定的元素
del list_stu[1]  # 删除 吴六
print(list_stu)  # ['张一', '李二', '王三', '刘四', '周五']# 2、通过指定元素进行删除
list_stu.remove('周五')  # 删除 周五
print(list_stu)  # ['张一', '李二', '王三', '刘四']# 3、通过索引,删除指定元素,默认是删除最后一个
list_stu.pop()  # 删除 刘四
print(list_stu)  # ['张一', '李二', '王三']list_stu.pop(1)  # 删除 李二
print(list_stu)  # ['张一', '王三']##################修改列表中的元素###################
list_stu[0] = '张大一'  # 把首位张一,换成张大一
print(list_stu)  # ['张大一', '王三']

5. 字典

   什么是字典,案例如下:

dict1 = {'key1':'val1','key2':'val2','key3':'val3'}

由键值对组成,键必须独一无二,但值则不必。
  值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。

  从字典中提取元素

dict1['key1']

打印上面这个结果是val1

  给字典增加/删除元素

增加:

dic1t['key4'] = 'val4'

删除:

del dict1['key4']
# 定义一个字典,放姓名和分数
dict_stu = {'张一': 95, '李二': 88, '王三': 74, '刘四': 20}############取字典里的值#######################
print(dict_stu['刘四'])  # 取刘四的分数 20
# 总结:字典取值:字典名[字典的键]###########修改字典里的数据####################
dict_stu['刘四'] = 69  # 把刘四的分数由20改为69
print(dict_stu['刘四'])##############在字典里添加数据###################
# 第一种方式,增加单条
dict_stu['周五'] = 55# 第二种方式,可以增加多条
dict_stu.update({'吴六': 53, '郑七': 100})  # 增加吴六和郑七
print(dict_stu)  # {'张一': 95, '李二': 88, '王三': 74, '刘四': 69, '周五': 55, '吴六': 53, '郑七': 100}###################删除字典里的数据#################
# 第一种方式
del dict_stu['郑七']  # 删除郑七
print(dict_stu)         #{'张一': 95, '李二': 88, '王三': 74, '刘四': 69, '周五': 55, '吴六': 53}# 第二种方式
dict_stu.pop('吴六')  # 删除吴六
print(dict_stu)     #{'张一': 95, '李二': 88, '王三': 74, '刘四': 69, '周五': 55}

二、逻辑控制

单条件:

if 条件:

如果条件成立(结果为True),执行这里的语句块

else:

如果条件不成立(结果为False),执行这里的语句块

多条件:

if 条件1:
        如果条件1成立,执行这里的语句块
elif 条件2:
        如果条件1不成立,条件2成立,执行这里的语句块
else:
        如果条件1和2都不成立,执行这里的语句块

三、for与while循环

1. for……in……循环语句

for循环遍历列表:

# for循环遍历列表
for i in [1, 2, 3, 4, 5]:print(i)# 第一个实例
fruits = ['洛川苹果', '进口香蕉', '赣南脐橙', '凯特芒果']
for i in fruits:print('1序号:%s  值:%s' % (fruits.index(i), i))# 通过索引进行遍历
for idx in range(len(fruits)):print('2序号:%s  值:%s' % (idx + 1, fruits[idx]))# 总结:%s占位符   %()给%s传值

注:其中使用了内置函数len() 和 range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。

for循环遍历字典:

stus_dict = {'张大':50,'张二':80,'张三':90}for n,s in stus_dict.items():print('姓名:%s   成绩:%s'%(n,s))

2. while循环

a = 1  # 定义一个变量a,赋值为1
while a < 7:print(a)a = a + 1
# 打印一次让a加1,当a=6+1时,循环结束。
#continue控制循环
name = 'Megan'
for i in name:if i == 'g':continueprint(i)    #打印结果跳过g,不打印g#break控制循环
a = 0  # 定义一个变量a,赋值为0
while a < 7:a = a + 1if a == 5:breakprint(a)    #打印结果到5就停止打印

注:continue跳过当前值,继续执行循环。

break跳出循环,终止循环。

四、函数的创建使用、排序和数据类型转换

1. 函数的创建和使用

语法:

函数的定义语法
def 函数名(参数1,参数2……):函数体return  语句

实例:

#定义函数
def menu(name, score):print('姓名:%s   分数:%s分' % (name, score))return#调用函数
menu('张三', 100)  # 执行,传参,打印结果:姓名:张三   分数:100分# 规则1. 可以在函数内容直接打印和使用函数外部的变量
# 规则2. 函数外部的代码不能直接使用内部的变量# 全局变量:函数外部的变量
# 局部变量:函数内部的变量

2. 排序和数据类型转换

  • 列表、字典、字符串、数字类型的相互转换
# 1. python的三种基本类型的转换
int('123')  # 把字符串转成整型
float(123)  # 把整数转成小数,浮点型
str(123)  # 把整数转成字符串# 2. 把整型拼接成字符串
a = 12
b = 34
c = 56
print(str(1) + str(b) + str(c))# 3. 把字符串转成列表
# 第一种方式
str1 = '1,2,3'
print(str1.split(','))  # 按逗号进行分割,输入结果['1', '2', '3']# 第二种方式
str2 = '[1,2,3]'
b = eval(str2)
print(b)  # 打印结果[1, 2, 3]
print(type(b))  # 列表类型
# eval():把字符串数据类型转换成原本数据类型。# 4. 把列表转成成字符串
list1 = ['1', '2', '3']
str3 = ''.join(list1)
print(str3, type(str3))  # 打印结果 123 <class 'str'># 5.把列表转换成字典
list2 = ['张大', '张二', '张三']
list3 = [80, 90, 100]
list4 = zip(list2, list3)
result = dict(list4)
print(result)
# zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。# 6. 将字典转换成列表
dict1 = {'阿大': 80, '阿二': 90, '阿三': 100}
list_name = list(dict1.keys())
list_score = list(dict1.values())
print(list_name, '\n', list_score)  #分别打印出两个列表
  • python内部sorted函数和sort函数详解

sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

#####################sort()函数,他只对列表管用############################
list = [0, 20, 11, 22, 55, 00, 44, 10, 42]
list.sort()
# print(list)  # 默认从小到大的排序,打印结果:[0, 0, 10, 11, 20, 22, 42, 44, 55]list.sort(reverse=True)
# print(list)  # 打印结果:[55, 44, 42, 22, 20, 11, 10, 0, 0]
# 知识点:排序,reverse=True从大到小,reverse=False从小到大。##################sorted()函数,对列表和字典都管用####################### 对列表进行排序
l1 = sorted(list, reverse=False)
# print(l1)  # 打印结果[0, 0, 10, 11, 20, 22, 42, 44, 55]# 按字典里面的key进行排序
dict1 = {'2阿三': 10, '3阿大': 80, '1阿二': 50}
dict1_key_s = sorted(dict1.items(), key=lambda x: x[0])
dict1_key_j = sorted(dict1.items(), key=lambda x: x[0], reverse=True)
print(dict1_key_s, '\n', dict1_key_j)# 按字典里面的key进行排序
dict1_value_s = sorted(dict1.items(), key=lambda x: x[1])
dict1_value_j = sorted(dict1.items(), key=lambda x: x[1], reverse=True)
print(dict1_value_s, '\n', dict1_value_j)

输出结果:

[('1阿二', 50), ('2阿三', 10), ('3阿大', 80)] 
[('3阿大', 80), ('2阿三', 10), ('1阿二', 50)]
[('2阿三', 10), ('1阿二', 50), ('3阿大', 80)] 
[('3阿大', 80), ('1阿二', 50), ('2阿三', 10)]

五、面向对象和文件操作

1. 面向对象

面向对象技术简介

  • 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
  • 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
  • 数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。
  • 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
  • 局部变量:定义在方法中的变量,只作用于当前实例的类。
  • 实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。
  • 继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
  • 实例化:创建一个类的实例,类的具体对象。
  • 方法:类中定义的函数。
  • 对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。

 创建类,实例:

class BF:nane = '张三'sex = '男'age = 30h = 173w = 70# 构造函数,可以构造新的def __init__(self, name, age):self.nane = nameself.age = age# 重点:规定类下面的函数的第一个参数,必须是self# 作用:类的索引,通过self可以访客其下的多个属性def self_introduction(self):print('''自我介绍:姓名:%s性别:%s年龄:%s身高:%s cm体重:%s kg''' % (self.nane, self.sex, self.age, self.h, self.w))'''
输入main,敲回车,自动生成main函数
man函数的作用:帮助执行类里的方法
'''
if __name__ == '__main__':object1 = BF('阿大', 28)  # 实例化object1.self_introduction()

注:print里的三个单引号的打印,是打印段落。

三个单引号是多行注释!!!

from face_to_object import BFBF('帅大叔',34).self_introduction()'''
总结:获取别的对象的步骤
1. 通过from……import……引入类
2. 调用类,传入参数值,执行类里的方法打印结果:自我介绍:姓名:帅大叔性别:男年龄:34身高:173 cm体重:70 kg
'''

2. 文件的写入和读取

testPython = 'D:\\log\\testPython.txt'  # 定义文件路径# 文件写入
with open(testPython, 'a', encoding='utf-8') as f:f.write('学习文件的写入和读取——写入;')# 文件读取
with open(testPython, 'r', encoding='utf-8') as f:print(f.read())'''
总结:open()里的三个参数
第一个参数,文件地址
第二个参数,控制文件的读写,a:写入,r:读取
第三个参数,编码如果是写入,调用方法write()
'''

open()中第二个参数如下:


模式  描述
t   文本模式 (默认)。
x   写模式,新建一个文件,如果该文件已存在则会报错。
b   二进制模式。
+  打开一个文件进行更新(可读可写)。
U   通用换行模式(不推荐)。
r   以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb  以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+    以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w   打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb  以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+    以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a   打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab  以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

3. 目录操作

import osif __name__ == '__main__':# 1. 获取当前文件的绝对路径地址print('当前文件绝对路径:', __file__)# 2. 获取当前文件所在目录地址print('当前文件所在目录:', os.getcwd())# 3. 获取当前文件所在目录的父目录print('父目录:', os.path.abspath('..'))# 4. 改变当前的文件的操作路径os.chdir('D:\\log')print('改变路径后:', os.getcwd())  # 打印结果:改变路径后: D:\log# 5. 在当前路劲拼接一个子目录path_str = os.path.abspath('.\\Script')print('拼接后的目录:', path_str)  # 打印结果:拼接后的目录: D:\log\Script

六、模块安装、正则表达式&结巴分词与生成词云

1. 模块安装

模块:供我们使用的,被包装好的类和函数;

结巴分词模块:可以让一段字符串,一句话变成单个的词语,他的英文模块名:jieba

setp1 安装:pip install jieba

# 第一步:引入jieba
import jieba# 第二步:
word_list = jieba.cut('最光明最黑暗')
for i in word_list:print(i)'''
打印结果:最光明最黑暗
'''

2. 正则表达式&Re处理文本内容

正则表达式:按照正确的表达方式,从一大段数据里,获取到我想要的数据;

re.search方法

re.search 扫描整个字符串并返回第一个成功的匹配。

import redef re_search():str = 'sdfs,水电费水电费,dsfs223d的'regex = r"[0123456789]"result = re.search(regex, str)print(result.group())if __name__ == '__main__':re_search()  # 调用上面的方法,打印结果:2

findall

在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果有多个匹配模式,则返回元组列表,如果没有找到匹配的,则返回空列表。

注意: match 和 search 是匹配一次 findall 匹配所有。

import redef re_findall():str = 'sdfs,水电费水电费,dsfs223d的'regex = r"[0123456789]"result = re.findall(regex, str)print(result)if __name__ == '__main__':re_findall()  # 调用上面的方法,打印结果:['2', '2', '3']

re.split

split 方法按照能够匹配的子串将字符串分割后返回列表.

import redef re_split():str = '我爱北京天安门666我爱我家777我爱你呀'regex = r'\d{3}'result = re.split(regex, str)print(result)if __name__ == '__main__':re_split()  # 打印结果:['我爱北京天安门', '我爱我家', '我爱你呀']

检索和替换

Python 的 re 模块提供了re.sub用于替换字符串中的匹配项。

import redef re_sub():str = '收快递的号码:17700001234  呜呜~'regex = r"(\d{3})(\d{4})(\d{4})"result = re.sub(regex, r'\1****\3', str)print(result)if __name__ == '__main__':re_sub()  # 调用上面的方法,打印结果:收快递的号码:177****1234  呜呜~

re.match函数

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。

import redef re_match():str = 'Love 666 , You  刘德华'regex = r'(\w+) (\d+)'result = re.match(regex, str)print(result.group())'''
group()总结:
1. 函数为空,其实是0,代表整个表达式
2. 1:代表第一个小括号
3. 2:代表第二个小括号
'''if __name__ == '__main__':re_match()  # 打印结果:Love 666'''
总结
1. \d   代表数字
2. \w   代表字母
3. {3}  代表取值个数
4. [123abc] 代表取值范围
5. +    代表未知值的个数
'''

……

3. 结巴分词

import codecs  # 作用:处理中文不乱乱码
import jieba  # 分词
from collections import Counter  # 计数def make_word(txt):make_list = jieba.cut(txt)c = Counter()for i in make_list:if len(i) > 1 and i != '\r\n':c[i] = c[i] + 1for k, v in c.most_common(10):print(k, v)if __name__ == '__main__':with codecs.open('testPython.txt', 'r', encoding='utf-8') as f:txt = f.read()make_word(txt)

4. 生成词云

import codecs  # 作用:处理中文不乱乱码
import jieba  # 分词
from collections import Counter  # 计数
from matplotlib import pyplot as plt    # 画图的第三方函数库
from wordcloud import ImageColorGenerator, STOPWORDS, WordCloud# 使用wordcloud    安装命令:pip install wordcloud
def make_word(txt):make_list = jieba.cut(txt)c = Counter()words_list = []for i in make_list:if len(i) > 1 and i != '\r\n':c[i] = c[i] + 1words_list.append(i)for k, v in c.most_common(10):print(k, v)return " ".join(words_list)def word_pic():back_color = plt.imread('pic.jpg')  # 解析该图片wc = WordCloud(background_color='white',  # 背景色max_words=1000,  # 最大词数mask=back_color,  # 文字背景色的配置选项max_font_size=100,  # 文字大小stopwords=STOPWORDS.add('学习'),  # 停用词font_path='C:\Windows\Fonts\simsunb.ttf',  # 个性化展示random_state=42  # 每个词的随机颜色)return wc, back_colorif __name__ == '__main__':with codecs.open('testPython.txt', 'r', encoding='utf-8') as f:txt = f.read()words_txt = make_word(txt)wc, fc = word_pic()# 从文本生成词云wc.generate(words_txt)# 提取模板色彩image_colors = ImageColorGenerator(fc)# 开始画词云plt.imshow(wc.recolor(color_func=image_colors))# 生成图片wc.to_file('newpic.jpg')

Python办公自动化学习笔记(二)—Python语法基础相关推荐

  1. 《流畅的python》学习笔记之python是什么类型的语言?

    讨论类型时,最好考虑两条不同的坐标线! 强类型和弱类型 如果一门语言很少隐式转换类型,说明它是强类型语言.如果经常这么做,说明它是弱类型语言.其中,java,c++和python是强类型语言,php, ...

  2. pythonsze_python学习笔记二 数据类型(基础篇)

    Python基础 对于Python,一切事物都是对象,对象基于类创建 不同类型的类可以创造出字符串,数字,列表这样的对象,比如"koka".24.['北京', '上海', '深圳' ...

  3. Python学习笔记|二.Python安装教程

    Python 安装教程 Python是跨平台的,它可以运行在Windows.Mac和各种Linux/Unix系统上.在Windows上写Python程序,放到Linux上也是能够运行的. 安装Pyth ...

  4. C 语言学习笔记(二):编程基础

    目录 一.冯诺依曼模型 二.程序语言发展历史 三.进制 3.1 二进制 3.2 八进制 3.3 十六进制 3.4 进制转换:二进制.八进制.十六进制.十进制之间的转换 3.4.1 将二进制.八进制.十 ...

  5. python人工智能学习笔记_[Python] 人工智能与自然语言处理学习笔记(1)

    最近我参加了一个人工智能与自然语言处理的课程,这是第一周的学习笔记.这份笔记不涉及一般知识,全部都是与实践(我在这门课上的作业)有关的总结. 文章目录理论学习人工智能的五种模型:作业1. Rule B ...

  6. Python+Selenium学习笔记5 - python官网的tutorial - 交互模式下的操作

    这篇笔记主要是从Python官网的Tutorial上截取下来,再加上个人理解 1. 在交互模式下,下划线'_'还可以表示上一步的计算结果 2.引号转义问题. 从下图总结的规律是,字符串里的引号如果和引 ...

  7. 廖雪峰的Python教程学习笔记一Python简介和基础语法

    一.Python简介 Python是著名的"龟叔"Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个面向对象的高级编程语言.与其它面向对象语言 ...

  8. Programming Computer Vision with Python (学习笔记二)

    首先介绍跟图像处理.显示有关两个库:NumPy和Matplotlib,然后介绍增强图像对比度的实现原理. NumPy NumPy是Python用于科学计算的基础库,提供了一些很有用的概念,如:N维数组 ...

  9. 【黑马-python】---学习笔记(1)---Linux基础

    Linux基础 1 操作系统(科普) 1.1 科普 1.2 不同应用领域的主流操作系统 1.2.1 桌面操作系统 Windows系列-用户群体大,安全性不好,稳定性不好 masOS-适合于开发人员 L ...

最新文章

  1. 社交网络+大数据真的用来可以模拟一个活人吗?
  2. webpack中hash、chunkHash、contentHash的区别
  3. mongodb mysql 写_MySQL和MongoDB语句的写法对照
  4. css设置字体颜色、文本对齐方式、首行缩进、文本装饰、列表样式、鼠标样式、禁止文本域拖拽、轮廓线、块级元素对齐方式、文字溢出设置
  5. ArrayList理解(1)初始化
  6. 第十五:Pytest-html报告修改与汉化
  7. 获取数组中的所有非唯一值(即:重复/多次出现)
  8. 什么短视频更吸引人?考虑到三点,吸粉引流不在话下
  9. 软件工程总结笔记——软件结构设计(四)
  10. 白盒测试技术——语句覆盖、判定覆盖、条件覆盖
  11. Matlab根据特征值排序特征向量
  12. cannot be cast to
  13. 【保姆级】阿里云服务器frp内网穿透教程
  14. linux模拟蓝牙播放器,为 Ubuntu Linux 开启蓝牙 APTX / LDAC 支持
  15. 怎样查找某个外文期刊的文献?
  16. 用户空间与内核空间数据交换-2-generic netlink
  17. Xshell的使用方法(初学者)
  18. Block原理(一)
  19. 李纳斯是个怎样的人?
  20. 请求分页置换算法——先进先出算法(FIFO)

热门文章

  1. 使用simhash计算文本相似度
  2. oracle 字符转正规表达,oracle 字符串转成行
  3. JavaScript--图片放大镜
  4. Java之PriorityQueue实现最大堆、最小堆
  5. 学生/上班族摸鱼好选择
  6. 企业付款到零钱「微信小程序别样发放红包」
  7. java Text 错误: 找不到或无法加载主类 Text
  8. Vue修改自带组件el-input样式
  9. Python之youtube_dl:youtube_dl库的简介、安装、使用方法之详细攻略
  10. PDF编辑之添加页码以及去掉水印