又到一年总结季,下周要考Python啦,整理一下老师给的ppt

Python Programing 03

代码块

  • 分支语句的作用范围可以是有限的
  • 使用代码块表示该作用范围
  • 代码块由缩进定义
  • 注意使用冒号
  • 同一代码块的缩进空格数要一致

Python Programing 04 函数,模块,简单文件读写

函数

  • 程序可能会很长很长
  • 同样的功能可能会多次执行
  • 把执行特定功能的模块封装起来就是函数
  • 便于修改,逻辑更加清晰,代码可以重用

lambda函数

  • lambda语句创建一个无名函数,并将该函数作为返回值
  • 只能包含一个表达式,连if这样的结构都不支持
  • def语句中的函数名是预先设定好的。lambda语句则可以把产生的函数赋给任意一个变量名
  • lambda语句产生的函数也可以不占用变量名

模块

  • 将一些函数或变量封装在.py文件中,以供调用

  • 比函数更高层次的封装

  • .py文件的名字就是模块的名字

  • 通过这种封装,可以避免单个.py文件过长

  • 自定义的模块应该放在主程序目录下

  • 模块的调用

  • 模块被载入后成为了一个对象

  • 模块的意义:代码重用和管理(同函数);模块提供命名空间(作为对象来实现)

读取文本文件

#打开一个文件
input = open(‘file_name’, ‘r’)
#读取文件中的内容到一个字符串
content = input.read()
#关闭文件
input.close()

相对路径和绝对路径

  • 相对路径:以程序文件所在的位置为根目录
  • 绝对路径:从“C:\”写起
  • 路径的书写经常使用raw字符串:r‘xxx’

按行读取文件

line=input.readline()
  • 文件结尾处返回空字符串
lines=input.readlines()

写入文件

#以写入方式打开一个文件
output = open(‘file_name’, ‘w’)
#写入一行
output.write(‘one apple a day’ + ‘\n’)
#关闭文件
output.close()
  • 把数字转化成字符串写入

从文件中读取数字

Python Programing 05 类与对象,异常处理

定义一个类

class 你的类:
xxx
xxx

方法中的指代

  • self——对象自己
  • super(类名称,self)——父类

产生对象

  • -使用赋值语句创建对象:
  • o1=C1()
  • o2=C1()

类的方法和对象的属性

  • 类中定义的函数称为方法
  • 方法可以理解为类的行为
  • 对象可以含有一些变量(可能是方法产生的),称为属性
  • 属性是属于个体的

类的继承

class 类的名字(父类的名字):
xxx
xxx
  • 父类中的方法将被子类继承

继承多个父类

class C1(C2,C3):......
  • 当C2和C3中存在同名内容时,以C2为准

多态:同样的接口,不同的方法

  • 水果.切
  • 西瓜.切
  • 橙子.切
  • 榴莲.切
  • 同名方法的搜索:自下而上

钩子

  • 类中,以__XXX__为名的函数称为钩子
  • 重载钩子函数可以实现特殊功能

构造函数

  • __init__()
  • 对象产生时会自动运行这个函数

异常处理

  • 异常:可以改变程序中控制流程的事件
  • 异常是一种特殊分支
  • 一般是某种错误或者失败发生
  • Python可以自动处理异常,处理方法是立即终止程序,并且报告问题类型和位置
  • 我们可以手动定义异常处理的方式

异常处理的基本语法

  • try观察一段代码,尝试捕捉其中发生的异常
  • except 相应某种异常,或者所有的异常
  • finally 无论异常是否发生,总会运行这里的代码
  • else 如果try内的语句未发生异常,则执行

异常捕获机制

  • 按先后顺序尝试捕获异常
  • 如果一条except不响应这个异常,则向后传递
  • 如果没有语句响应这个异常,则Python系统处理

Python Programing 06 Ipython,Numpy,Scipy

Ipthon

  • 安装:cmd下输入pip install ipython
  • 运行:cmd下输入ipython输入查看帮助文档

Tab键自动完成

  • 键入一些内容之后,按Tab键,显示可能的变量或者函数名;
  • 也可以用于显示模块中有哪些可调用的方法或常量:
import math
math.[Tab]

内省

中断执行的代码

  • 当代码死循环时可以用ctrl + C退出运行

命令历史

-按↑可以调出上一条指令

找回忘记保存的变量

魔术命令

用Ipython运行文件

  • %run+路径+文件名
  • %run D:/test.py

在交互模式下运行大段代码

  • 默认情况下,交互模式只能一条一条执行代码,不能把一段代码复制粘贴到交互模式运行
  • 使用%cpaste命令来执行多行代码
  • 或者直接使用%paste命令来执行当前剪贴板中的内容

Numpy

  • 在cmd下通过pip install numpy安装
  • import numpy as np来载入

多维数组array

  • NumPy的核心就是这个多维数组array
    Python自带的数组是弱类型的,可以存放不同类型的内容,因此无法进行某些运算,如矩阵相乘
    array是一个同结构数据的多维容器
    每个array数组都有一个shape和一个dtype属性,分别记录其各维度大小以及数据类型
  • 创建array序列
d=[1,2,3]
arr=np.array(d)
  • 指定array的类型
arr1 = np.array([1,2,3], dtype = np.float64)
arr2 = np.array([1,2,3], dtype = np.int32)

索引和切片

  • 二维数组可以索引两次
  • np的索引和切片不复制内容
  • 复制:.copy()

Scipy

  • 通过在cmd下输入pip install scipy安装

Python Programing 07 Pandas数据处理

Pandas

  • 基于Numpy构建
  • 包含SeriesDataFrame两种数据结构,以及相应的方法
  • 调用方式
from pandas import Series,DataFrame
import pandas as pd

创建Series

  • 常规创建
obj2 = Series([2,2,3,3], index = [‘a’, ‘b’, ‘c’, ‘d’])
  • 以字典创建
d = {‘a’:123, ‘b’:456, ‘c’ :789}
obj3 = Series(d)
states = [‘a’, ‘c’, ‘d’]

DataFrame

  • 很像一个Excel表格
  • 含有一组有序的列
  • 列内同构,列之间可以是不同的数据类型
  • 既有列索引,也有行索引
  • 以二维结果保存数据(高维数据视作二维表格的叠加)
  • 创建DataFrame
d = {‘name’: [‘Bob’, ‘Jack’, ‘Lili’, ‘Dongwei’],‘age’: [28, 33, 22, 88],‘salary’:[3000, 2, 5000, 999999999]}
frame1 = DataFrame(d)
frame2 = DataFrame(d, columns = [‘age’, ‘name’, ‘salary’])
frame3 = DataFrame(d, index = [‘01’, ‘02’, ‘03’, ’04’])
  • 给列赋值
frame3[‘IQ’] = [110, 70, 100, 999] #长度必须匹配
  • 按行索引
somebody = frame3.ix[’02’]
  • 丢弃指定行或列
frame4  = frame3.drop(‘IQ’, axis = 1)  #丢弃列
frame5  = frame3.drop(’02’)
  • 插入列
s = Series([1,2,3])
frame5.insert(1, ‘aaa’, s)
  • 两个index的运算
append #连接
difference #差集
intersection #交集
union #并集
  • 过滤
frame6 = frame3[frame3[‘age’] > 30]
  • 按索引排序
obj6 = obj3.sort_index()
frame 10 = frame3. sort_index()
frame 11 = frame3. sort_index(axis = 1)
  • 处理缺失数据
手工产生NaN值:np.nan
x2 = x.dropna() #剔除含NaN的行
x2 = x.fillna(0) #以0替换NaN
x2 = x.fillna({‘a’:-1, ‘c’:0}) #对于’a’列’c’列分别操作
x2 = x.fillna(method = ‘ffill’) # 以插值替换NaN
  • 统计汇总
s1 = frame3.sum() #按列小计
s2 = frame3.sum(axis = 1) #按行
  • 合并数据集

Python Programing 08 数据读写

Numpy读写矩阵

np.save(文件名,矩阵)
np.load(文件名)

  • pandas读取csv表格
pd.read_csv(文件名)#读取csv表格,自动类型推断
  • pandas写入csv表格
frame.to_csv(文件名)

处理畸形的csv文件

  • 当csv文件结构有问题时,pd.read_csv函数无法读取
  • 使用上述方法读入文件,然后进行整理,最后转化成DataFrame

pandas读取二进制文件

frame.save(文件名)
pd.load(文件名)

pandas读写Excel文件

xls_file = pd.ExcelFile(‘data.xls’)
table = xls_file.parse(‘Sheet1’)

读取JSON文件

读取xml

  • 使用lxml库来解析xml
from lxml import objectify
parsed = objectify.parse(open('cd_catalog.xml'))
root=parsed.getroot()
  • 可用函数:getchildren() x.tag

读取html

from lxml.html import parse
from urllib.request import urlopen
parsed = parse(urlopen('http://www.zufe.edu.cn/’))
doc = parsed.getroot()
links = doc.findall('.//a’)
links[0].get('href’)
links[0].text_content()

读取html中的table

parsed = parse(urlopen('http://info.zufe.edu.cn/xygk/szdw.htm’))
doc = parsed.getroot()
tables = doc.findall(‘.//table’)
‘.//tr’   ‘.//td’

Python Programing 09 数据绘图

matplotlib绘图

  • 载入
import matplotlib.pyplot as plt
  • 载入图片
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.plot(np.arange(10))
fig.show()
  • 管理subplot
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(2,2,3)
#参数:行数,列数,第几个
  • 调节subplot间距
fig.subplots_adjust(wspace = 0.5)
#可用参数:left  right  bottom  top  wspace  hspace
  • 绘制各种图像
from numpy.random import randn
ax1.plot(randn(50).cumsum())#折线图
ax2.hist(randn(100), bins = 20)#柱状图
ax3.scatter(randn(50), randn(50))#散点图
fig.show()
  • 颜色标记线型
ax1.plot(randn(50).cumsum(), linestyle = ‘--’, color = ‘g’, marker = ‘o’ )
  • 设置坐标轴范围
ax1.set_xlim([0,100])
ax1.set_ylim([-1,1])
  • 设置刻度标签和具体刻度
ticks = ax1.set_xticks([0,20,40,60,80,100])
labels = ax1.set_xticklabels([‘zero’, ‘one’, ‘two’, ‘three’, ‘four’, ‘five’], rotation = 30)
  • 设置标题和轴标签
ax1.set_title('fig 1’)
ax1.set_xlabel(‘Step’)
ax1.set_ylabel(‘Value’)
fig.show()
  • 添加图例
ax4 = fig.add_subplot(2,2,4)
ax4.plot(randn(1000).cumsum(), ‘k’, label = ‘one’)
ax4.plot(randn(1000).cumsum(), ‘r.’, label = ‘two’)
ax4.legend(loc = ‘best’)
fig.show()
  • 绘制形状
rect = plt.Rectangle((0.2,0.75), 0.4, 0.15, color = ‘g’, alpha = 0.2)
ax.add_patch(rect)
  • 保存图片
fig.savefig(‘xxx.svg’, dpi = 400, bbox_inches = ‘tight’)

pandas绘图

from pandas import  Series, DataFrame
import pandas as pd
df = DataFrame(randn(10,4).cumsum(0), columns = [‘A’, ‘B’, ‘C’, ‘D’], index = np.arrange(0,100,10))
df.plot()

读入Matlib图片

import scipy.io as sio
raw_K=sio.loadmat('Subject1K.mat')
raw_V=sio.loadmat('Subject1V.mat')
k = raw_K['Subject1K']
v = raw_V['Subject1V']

Python Programing 10 PyQt信号和槽

我们选择的GUI库:PyQt5

  • PyQt安装:在cmd下输入pip install pyqt5
  • 第一个例子
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *class Form(QDialog):def __init__(self,parent=None):super().__init__(parent)
app=QApplication(sys.argv)
form=Form()
form.show()
app.exec_()

  • 第二个例子:计算器
import sys
from math import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *class Form(QDialog):def __init__(self, parent=None):super().__init__(parent)self.text = QLabel('AAA')self.browser = QTextBrowser()self.lineedit = QLineEdit("Type an expression.")self.lineedit.selectAll()layout = QVBoxLayout()layout.addWidget(self.text)layout.addWidget(self.browser)layout.addWidget(self.lineedit)self.setLayout(layout)self.lineedit.setFocus()self.lineedit.returnPressed.connect(self.updateUi)self.setWindowTitle("Calculate")def updateUi(self):try:text = str(self.lineedit.text())self.browser.append("%s = <b>%s</b>" % (text, eval(text)))except:self.browser.append("<font color=red>%s is invalid!</font>" % text)app = QApplication(sys.argv)
form = Form()
form.show()
app.exec_()

Qt类

  • Qt类的继承关系:各种控件类都继承自QWidget QWidget继承自QObject

常见的控件

  • QPushButton:按钮
    QLabel:文本标签(不能交互)
    QLineEdit:单行文本框控件
    QTextEdit:多行文本控件
    QCheckBox:勾选框
    QSlider:滑动条

信号


-信号就是信号类型的对象

信号和槽链接的方式

  • 发出对象.信号名.connect(接收对象.槽名)

第三个例子:汇率

import sys
import urllib.request
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *class Form(QDialog):def __init__(self, parent=None):super().__init__(parent)date = self.getdata()rates = sorted(self.rates.keys())dateLabel = QLabel(date)self.fromComboBox = QComboBox()self.fromComboBox.addItems(rates)self.fromSpinBox = QDoubleSpinBox()self.fromSpinBox.setRange(0.01, 10000000.00)self.fromSpinBox.setValue(1.00)self.toComboBox = QComboBox()self.toComboBox.addItems(rates)self.toLabel = QLabel("1.00")grid = QGridLayout()grid.addWidget(dateLabel, 0, 0)grid.addWidget(self.fromComboBox, 1, 0)grid.addWidget(self.fromSpinBox, 1, 1)grid.addWidget(self.toComboBox, 2, 0)grid.addWidget(self.toLabel, 2, 1)self.setLayout(grid)self.fromComboBox.currentIndexChanged.connect(self.updateUi)self.toComboBox.currentIndexChanged.connect(self.updateUi)self.fromSpinBox.valueChanged.connect(self.updateUi)self.setWindowTitle("Currency")def updateUi(self):to = self.toComboBox.currentText()from_ = self.fromComboBox.currentText()amount = ((self.rates[to]/self.rates[from_])*self.fromSpinBox.value())self.toLabel.setText("{0:.2f}".format(amount))def getdata(self): self.rates = {}try:date = "Unknown"data = urllib.request.urlopen("https://www.gov.uk""/government/uploads/system/uploads""/attachment_data/file/702273""/exrates-monthly-0518.csv").read()for line in data.decode("utf-8", "replace").split("\n"):line = line.rstrip()if not line or line.startswith(("#", "Closing ", "Country")):continuefields = line.split(",")if line.startswith("China"):date = fields[-1]else:try:value = float(fields[3])self.rates[fields[0]] = valueexcept ValueError:passreturn "Exchange Rates Date: " + dateexcept Exception as e:return "Failed to download:\n{}".format(e)app = QApplication(sys.argv)
form = Form()
form.show()
app.exec_()

Python Programing 11 PyQt5对话框,控件

QLabel

self. aLabel = QLabel(self)
self. aLabel. setText(“AAA”)
self. aLabel.setPixmap( QPixmap(“a.jpg"))

QSpinBox,QDoubleSpinBox 数字框

self.mySpinBox = QDoubleSpinBox(self)
self.mySpinBox. setRange(1, 1000000000)
self.mySpinBox.setValue(1000)
self.mySpinBox.valueChanged.connect(self.updateUi)

QSlider 滑动条

设置:setMinimum,setMaximum,setSingleStep,setValue
信号:valueChanged
读取:v = self.mySlider.value()

QLineEdit,QTextEdit 可编辑文本框

self.lineedit = QLineEdit("Type a string.")
self.lineedit.returnPressed.connect(self.updateUi)
s = self.lineedit.Text()

QTextBrowser 不可编辑文本框

self.browser = QTextBrowser()
self.browser.append(‘aaa’)

QListWidget 选单

self.listWidget = QListWidget(self)
self.listWidget.addItems(['item1', 'item2', 'item3'])
self.listWidget.itemClicked.connect(self.XXX)

QComboBox 下拉选单

self.comboBox = QComboBox(self)
itemdata = ['item0', 'item1', 'item2']
self.comboBox.addItems(itemdata)
self.comboBox.currentIndexChanged.connect(self.updateUi)

QPushButton 按钮

self.okButton = QPushButton(self)
self.okButton. setText(“OK")
self.okButton.clicked.connect(self.accept)

QHLayOut,QVLayOut 横,纵向布局

self.layout = QVBoxLayout(self)
self.layout.addWidget(xxx)
self.setLayout(layout)

QGridLayOut 矩阵式布局

self.layout = QGridLayout(self)
self.layout.addWidget(myLabel, 0, 0)
self.layout.addWidget(mySpinBox, 0, 0)
self.setLayout(layout)

QSpacerItem 弹簧

s = QSpacerItem(20, 20, QSizePolicy.Minimum, QSizePolicy.Expanding)
layout.addSpacerItem(s)

利用弹出式对话框获得信息

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *class PenPropertiesDlg(QDialog):def __init__(self, parent=None):super(PenPropertiesDlg, self).__init__(parent)widthLabel = QLabel("&Width:")self.widthSpinBox = QSpinBox()widthLabel.setBuddy(self.widthSpinBox)self.widthSpinBox.setAlignment(Qt.AlignRight|Qt.AlignVCenter)self.widthSpinBox.setRange(0, 24)self.beveledCheckBox = QCheckBox("&Beveled edges")styleLabel = QLabel("&Style:")self.styleComboBox = QComboBox()styleLabel.setBuddy(self.styleComboBox)self.styleComboBox.addItems(["Solid", "Dashed", "Dotted", "DashDotted", "DashDotDotted"])okButton = QPushButton("&OK")cancelButton = QPushButton("Cancel")buttonLayout = QHBoxLayout()buttonLayout.addStretch()buttonLayout.addWidget(okButton)buttonLayout.addWidget(cancelButton)layout = QGridLayout()layout.addWidget(widthLabel, 0, 0)layout.addWidget(self.widthSpinBox, 0, 1)layout.addWidget(self.beveledCheckBox, 0, 2)layout.addWidget(styleLabel, 1, 0)layout.addWidget(self.styleComboBox, 1, 1, 1, 2)layout.addLayout(buttonLayout, 2, 0, 1, 3)self.setLayout(layout)self.setWindowTitle("Pen Properties")okButton.clicked.connect(self.accept)cancelButton.clicked.connect(self.reject)class Form(QDialog):def __init__(self, parent=None):super(Form, self).__init__(parent)self.width = 1self.beveled = Falseself.style = "Solid"penButton = QPushButton("Set Pen")self.label = QLabel("The Pen has not been set")self.label.setTextFormat(Qt.RichText)layout = QVBoxLayout()layout.addWidget(penButton)layout.addWidget(self.label)self.setLayout(layout)self.setWindowTitle("Pen")penButton.clicked.connect(self.setPenProperties)self.updateData()def updateData(self):bevel = ""if self.beveled:bevel = "<br>Beveled"self.label.setText("Width = {}<br>Style = {}{}".format(self.width, self.style, bevel))def setPenProperties(self):dialog = PenPropertiesDlg(self)dialog.widthSpinBox.setValue(self.width)dialog.beveledCheckBox.setChecked(self.beveled)dialog.styleComboBox.setCurrentIndex(dialog.styleComboBox.findText(self.style))if dialog.exec_():self.width = dialog.widthSpinBox.value()self.beveled = dialog.beveledCheckBox.isChecked()self.style = dialog.styleComboBox.currentText()self.updateData()app = QApplication(sys.argv)
form = Form()
form.resize(400, 200)
form.show()
app.exec_()


Python Programing 12 PyQt主窗口编程

  • 具体代码指路:图像编辑代码

图像类

image = QImage(fname)
imageLabel = QLabel()
imageLabel.setPixmap(QPixmap.fromImage(image))

状态栏

菜单栏

工具栏

动作

动作组

Python Programing 13 Qt Designer

  • 安装:pip3 install PyQt5_tools
  • 打开Qt Designer方式指路:打开QD
  • 完成的设计保存为.ui文件,需要转化为.py文件才可以使用。命令:
pyuic5 -o 1.py 1.ui
  • 不要修改转换得到的.py文件

设计步骤

对话框的实现

对话框的测试


大概就是这样了,下周上机考了1551
书于吃了玉米水饺就不会冻耳朵的冬至

12.24
今天考完了Python,无语了,好难啊,我是废物,1551
pip install Python的沉重打击
successfully installed
并不愉快地打出gg

Python 14 复习环节相关推荐

  1. 2022年(第13届蓝桥杯省赛)Python 14 天夺奖冲刺营

    2022年(第13届蓝桥杯省赛)Python 14 天夺奖冲刺营 2022.03.25 攒了一周的视频直播没有看,更新完了直接看合集. 数据结构基础之链表篇 什么是链表 链表是线性表的链式存取的数据结 ...

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

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

  3. python编写自定义函数判断n1-n2范围内的素数_【每日道代码题001】- PYTHON基础复习...

    问题001-1:请对输入三个整数a,b,c,判断能否以它们为三个边长构成三角形.若能,输出YES和面积,否则输出NO a = float(input()) b = float(input()) c = ...

  4. Python 速效复习汇总(新手慎用)二

    Python 速效复习汇总 jieba库 常用分词函数 示例 文件 打开与关闭 读和写相关方法 PIL 库 一. Image 类 图像读取和创建 常用属性 序列图像操作方法 图像转换和保存方法 图像旋 ...

  5. python 基础复习二

    这里写自定义目录标题 python 基础复习二 1.数据类型 2.数据的应用 3.数据的转换 总结 python 基础复习二 1.数据类型 最常用的数据类型有三种--字符串(str).整数(int)和 ...

  6. 【面试复习】Python基础复习

    [面试复习]Python基础复习 前言 相信一些学习python的朋友找不到一些python的的朋友找不到相对应的python面经,所以博主就推荐大家可以去牛客上面看看哦,各种大厂面经和习题哦! 地址 ...

  7. (萌新笔记)python的复习笔记

    简介:python,作为我在暑假入门的第一门语言,我发现它特别简洁和实用,因此我想记录我的python学习过程,现在刚刚大一入门(我比较弱鸡,所以本文可能会有记录很多我初学时遇到的问题,还请大家斟酌观 ...

  8. 大一上期Python考前复习

    初识Python考试前复习 Python介绍 基本语法 1.赋值语句 2.del语句 3.if 语句 4.for循环语句 4.while循环语句 4.1循环下的语句 数据类型 1.数据可变性 2.数据 ...

  9. Python总复习-下

    目录 人工智能总目录网页链接 文章目录 目录 9.Python-web前端 Day01-HTML-页面 1. Web 1. 什么是WEB 2. 组成 3. Web 服务器 4. 浏览器 2. HTML ...

最新文章

  1. Eigen: C++开源矩阵计算工具——Eigen的简单用法
  2. linux查看文件和文件夹大小
  3. opc调试软件_组态王和三菱OPC软件完美演绎天塔之光
  4. word修改一处另一处自动修改_这么做让word自动记录修改明细,再也不用一个字一个字的核对了...
  5. 智能计米器jk76怎么安装_春节智能锁消费指南:只看价格的后果有多严重?
  6. 处理兼容问题:对于某些css3属性需要加前缀?
  7. 在线HTTP请求/响应头转JSON工具
  8. 内置对象 API Math对象、Data对象、Array对象、String对象
  9. 拳王虚拟项目公社:微店闲鱼怎样自动化卖虚拟商品,虚拟资源自动化收钱项目
  10. ie主页被劫持怎么办 解决浏览器主页劫持方法
  11. P3237 [HNOI2014]米特运输
  12. 【Android】Webview加载url出现空白但是在手机或者pc的浏览器中可以正常打开的解决方法
  13. 国家气候气象观测站分类
  14. C/C++ 数据范围int
  15. 二十一世纪大学英语读写基础教程学习笔记(原文)——8 - Young and in Love(超年轻恋人)
  16. 电子产品销售数据分析
  17. 如何删除电脑弹出的热点新闻
  18. python web py入门-4-请求处理(上)
  19. 拼图游戏-从基础到应用玩转手势变化。
  20. 过敏性鼻炎通过免疫治疗可彻底根治

热门文章

  1. JAVA毕设项目民宿运营管理网站(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC)
  2. 三国演义 关羽过五关斩六将具体指什么
  3. 明哥之家的又一个博客
  4. java除法保留n位有效位
  5. 学历对计算机专业的人很重要吗?
  6. mysql整段注释_MySQL的注释方式
  7. tensorflow系列——读取tfrecord数据
  8. vue项目 使用 export * from 時候报错
  9. 复旦邱锡鹏新作:单机微调650亿参数大模型,业内人士:对大模型普及意义重大...
  10. 青岛软件企业认定的要求