自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 SQL语句

创建表create table 表名(列名 数据类型 参数 comment ‘注释’,…primary key (列名));数据类型可以用? data types;语句查看有哪些数据类型参数可以设置该列数据是否可以为空、数字自动增长、默认值等comment ‘注释’ 是对该列的注解,但不会显示在表上插入数据单独插入:insert into 表名 values(数据);批量插入:insert into 表名 values(数据),…(数据);指定列批量..

2020-09-17 23:29:05 124

原创 数据库与MySQL

数据库(database)除了可以解决数据持久化问题,还可以很好地管理数据,非常方便地获取数据,对于关系型数据库来说,还可以保证数据的一致性和完整性关系型数据库理论基础:关系代数和集合论表现形式:用二维表保存数据行:记录列:字段 --> 主键列(promary key)编程语言:SQL(结构化查询语言)DDL(数据定义语言):create / drop / alterDML(数据操作语言):insert / delete / updateDQL(数据查询语言..

2020-09-17 23:28:24 114

原创 版本控制

版本控制配置用户名和邮箱git config --global user.name “用户名”git config --global user.email “邮箱地址”创建本地版本仓库:git init将工作区文件放到暂存区:git add将暂存区内容提交到仓库:git commit -m ‘提示信息’查看提交历史记录:git log查看版本控制状态:git status将暂存区内容放回工作区:git rm --cached用暂存区恢复工作区:git re

2020-09-17 23:27:35 145

原创 vim和网络命令

vim三种模式:命令模式编辑模式末行模式(底线命令模式)命令进入编辑模式:i/I/o/O/a/A进入末行模式:?????​ sp/vs - 水平/垂直拆分窗口​ b 数字 - 切换代码​ ls - 查看打开的文件​ ctrl+w两次 - 切换光标所在的窗口​ !shell命令 - 直接执行shell命令移动光标:​ 左上右下:h j k l​ 行首行尾:0 $​ 一个单词:w​ 最后一行:G​ 第一行:gg/1G​ 第N行:NG

2020-09-10 08:46:10 172

原创 Linux系统安装软件和服务

Linux系统安装软件和服务包管理工具yum查找:yum search安装:yum install -y卸载:yum erase -y更新:yum update查看信息:yum info查看已安装的软件包:yum list installedrpm安装:rpm -ivh查找:rpm -qa | grep卸载:rpm -e源代码构建安装yum install -y gcc​ 下载源代码:​ wget 地址​ 解压缩归档​ tar -z

2020-09-10 08:45:34 189

原创 Linux命令

Linux命令Linux命令格式:命令 [参数] [命令作用的对象]帮助命令:man/ --help/whatis/whereis/which查看命令:cat/more/less/od/tac/rev/head/tail文件和文件操作:pwd:打印当前工作目录​ cd:切换目录​ 绝对路径:以/开头的路径​ 相对路径:以当前文件夹为基础​ ls:查看文件和文件夹​ -l:长格式查看​

2020-09-10 08:44:55 124

原创 多进程

守护线程非守护线程:若一个进程有多个线程,程序不会再主线程结束后就结束,而是在所有线程结束之后才结束守护线程:主线程结束,子线程就结束(主线程结束程序就结束)线程对象.setDaemon(True)数据冲突一般发生在多个线程对同一个数据进行操作的时候。在一个数据被一个线程操作后却还未更新数据时数据被另一个线程操作就会造成数据冲突。解决数据冲突:在数据被一个线程操作时将数据锁住,等该线程返回更新数据后再解锁数据让数据再次可以被线程操作Lock锁类,重量级锁(上锁和解锁都需要手动进行)

2020-09-03 19:08:26 117

原创 pyquery、xpath和线程池

pyquery的使用​ pyquery的节点操作本质上和jquery一样,一个pyquery对象就是一个容器,容器中的元素就是相关的所有标签,操作pyquery对象会直接操作pyquery中的所有标签。通过html页面创建pyquery对象pyquery(html页面)通过选择器选中标签pyquery对象(css选择器) - 获取选择器选中的标签pyquery对象.find(css选择器) - 获取选择器选中的标签获取标签内容和属性pyquery对象.text()/pyquery

2020-09-02 20:08:18 128

原创 bs4的使用

Buautifulsoup创建指定页面对应的解析器BeautifulSoup(需要解析的文档数据,解析器类型(一般是lxml))标签选择器解析器对象.标签名 - 解析器对象中第一个指定标签获取标签名、标签属性、标签内容标签名:标签对象.name标签属性标签对象.attrs - 获取指定标签所有的属性和值对应的字典标签对象.attrs[属性名]标签内容标签对象.string - 获取标签中文本内容(若内容是标签则返回子标签的文本内容,若文本和子标签同时存在则返回

2020-08-31 20:15:28 151

原创 多线程

添加线程进程和线程正在运行的应用程序就是进程,进程与进程之间相互独立互不干扰,均运行在专门的运行空间中线程是进程执行任务的基本单元,一个进程默认有一个线程,这个线程叫主线程如果进程中需要主线程以外的子线程,需要手动创建threading模块函数threading是python标准库中提供用来专门解决多线程问题的模块threading.current_thread() - 获取当前线程threading.active_count() - 获取当前进程中活跃线程的个数thread

2020-08-31 20:14:10 112

原创 socket

socketServer什么是socketsocket又叫套接字,是实现连接的两个端套接字分为服务器套接字和客户端套接字。服务器套接字会绑定一个固定的IP等待客户端连接,正常情况下一个服务器可以同时和多个客户端保持连接;客户端套接字不需要绑定IP,在需要的时候主动连接服务器套接字socket编程用代码实现能够通信的服务器和客户端python中提供了一个socket模块专门用来支持socket编程服务器套接字创建套接字对象socket(family,type) - 创建套接字

2020-08-27 19:53:18 112

原创 数据持久化

文件基本操作文件操作文件内容的操作,主要是文件读操作和写操作文件操作基本操作第一步:打开文件第二步:读文件 - 获取文件内容/写文件 - 将内容写入文件中第三步:关闭文件打开文件open(file,model=‘r’,…,encoding=‘None’) - 以指定方式打开指定文件并返回一个文件对象file - 需要打开文件的路径model - 文件打开方式(决定文件打开后能够支持的是读操作还是写操作;决定打开文件后操作数据的数据类型是文本数据类型还是二进制数据类型)​ 控

2020-08-26 20:10:02 246

原创 异常

异常什么是异常程序在执行过程中遇见错误语法导致程序崩溃异常捕获通过异常捕获的程序让本身会异常的代码能够继续执行怎么捕获异常捕获代码段1中所有异常try:​ 代码段1except:​ 代码段2说明:try、except - 关键字,固定写法​ 代码段1 - 需要捕获异常的代码​ 代码段2 - 捕获到异常之后需要执行的代码执行过程:先执行代码段1,若执行时遇见异常程序不会报错,会直接执行代码段2,然后接着执行后面的语句捕获代码段1中的指定异常try

2020-08-26 00:05:46 121

原创 Vue

VueVue就是js的一个库,这个库中提供了一个Vue类,通过这个类的对象可以和html中的标签进行绑定Vue对象new Vue({​ el:需要绑定的标签的id选择器,​ data:对象,为被绑定的标签提供各种数据,​ methods:对象,通过提供方法来提供功能,​ computed:对象,通过提供方法来提供数据})指令{{vue属性}} - 标签内容v-bind:标签属性名 = “Vue属性” - 标签属性v-for=‘变量 in Vue对象提供的序列’ - for

2020-08-26 00:05:03 107

原创 ajax网络请求

jQuery属性操作获取父节点节点对象.parent() - 获取父节点节点对象.children() - 获取所有子节点属性操作标签内容节点对象.text()/节点对象.text(值)节点对象.html()/节点对象.html(值)value属性节点对象.val()/节点对象.val(值)class属性操作节点对象.addClass(class值)节点对象.removeClass(class值)样式节点对象.css(css属性名)/节点对象.css(cs

2020-08-20 20:27:29 181

原创 jQuery

事件绑定给标签的事件属性赋值(函数的调用) - this是window,函数中没有事件对象对应的函数节点.事件属性=函数 - this是事件源节点addEventLisenner(事件名称,函数) - 事件名称要去on,this是事件源可以给同一个标签的同一个事件绑定不同的驱动程序(一般在原来功能已经实现,需要添加新功能的时候应用)事件类型常见事件类型:onclick - 标签被点击的事件(可以绑定在绝大多数可见标签上)onload - 页面加载完成时对应的事件(一

2020-08-20 20:26:53 107

原创 BOM和事件

BOM操作什么是BOMbrowser object model - 浏览器对象模型js提供了window对象,表示整个浏览器window对象js中定义的全局变量,都是绑定在window对象的属性。​ this - 谁调用就指向谁,如果直接调用则this为window窗口基本操作新建窗口window.open() - 新建一个空的窗口,返回一个窗口对象window.open(html地址)window.open(html地址,’’,‘width=宽度值,height=高度

2020-08-18 19:44:22 123

原创 原生js基础

常见数据类型js常见数据类型:数字类型、字符串、布尔、数组数字类型(Number) - 所有数字对应的类型typeof(数据) - 获取数据的数据类型数学对象(Math)小数转换成整数:Math.ceil(数据) - 向上取整Math.floor(数据) - 向下取整Math.round(数据) - 四舍五入常用运算x的y次方:Math.pow(x,y)绝对值:Math.abs(数据)随机数Math.random() - 产生0~1的随机数Math.ran

2020-08-17 20:47:21 147

原创 css选择器优先级和js基础

选择器的优先级​ 权重值越大优先级就越高(无论权重是多少,内联样式表的优先级都是最高的)​ 元素选择器/*:权重为1​ 类选择器:权重为2​ id选择器:权重为4​ 群组选择器:看每个独立选择器的权重值分别为多少​ 后代、自带选择器:权重为所有被大于符号或空格隔开的选择器的权重之和js基础认识js什么是jsjs就是JavaScript,是一门专门用来控制前端页面的编程语言(属于脚本语言)js是web标准中的行为标准,主要负责网页中内容的修改js代码位置内联js

2020-08-14 20:53:12 817

原创 布局学习

一般首先在head标签中先使用style标签并在其中使用通配符设置margin和padding为0,这样可以关闭所有标签自带的外边距和内边距在label的for属性中设定id,可以将label与id对应的元素进行绑定not-repeat不平铺;repeat平铺 x坐标-坐标值/left/right/center y坐标-坐标值设置标签对齐方式:vertical-align:top/bottom/middle - 顶部/底部/中间text-decoration - 设置文

2020-08-13 20:26:14 137

原创 css布局

标准流布局标准流布局标签在没有布局相关的属性时,默认的布局方式就是标准流布局块级标签一个占一行,默认宽度是父标签的宽度,默认高度是内容的高度,设置宽高有效。如:h1~h6、p、div、列表相关行内标签一行可以显示多个,默认大小是内容的大小,设置宽度无效。如:a、span、label、font…行内快标签一行可以显示多个,默认大小是内容的大小,设置宽高有效。如:img、输入框display属性(css)block:将标签修改为块级标签inline:将标签修改为行内

2020-08-12 19:49:57 92

原创 表单标签和css基础

表单标签form标签:容器标签,本身单独没有意义,需结合表单相关标签(input、select、textarea)使用​ action属性:后端数据接口地址​ method属性:请求方式(get/post)input标签input是表单相关标签,可以放在form标签中做数据的提交和重置type属性:设置标签种类text(默认):普通文本输入框​ value属性:设置和获取输入框中的内容,与输入框中内容关联​ name属性:用来区分不同的数据和对数据进行提交(提交时是以name=valu

2020-08-11 22:57:18 155

原创 HTML基础

HTML基础语法什么是htmlhtml - 超文本标记语言标记语言 - 在不同的文本前加不同的标记让文本的功能和意义不同,例如:Markdown、HTML(不区分大小写)标签(标记)标签是HTML的基本结构,不同的标签有不同的功能双标签(标准标签):<标签名 属性1=属性值1 属性2=属性值2…>标签内容</标签名>单标签:<标签名 属性1=属性值1 属性2=属性值2…/>或<标签名 属性1=属性值1 属性2=属性值2…>说明:&lt

2020-08-10 20:26:48 185

原创 面向对象编程

类中的方法概念:定义类就是描述清楚这个类是拥有哪些相同功能和属性的集合类中的方法就是对类相同功能的描述方法就是定义在类中的函数三种方法:对象方法定义:直接定义在类中的函数就是对象方法特点:自带self参数调用:对象.方法()类方法定义:类中前加@classmethod装饰器的函数就是类方法特点:自带cls参数调用:类.方法()静态方法定义:类中前加@staticmethod装饰器的函数就是静态方法特点:没有参数调用:类.方法()注意:从语法上来说,

2020-08-07 17:18:39 177

原创 正则语法、类和对象

正则语法贪婪和非贪婪当匹配次数不确定时,匹配分为贪婪和非贪婪模式贪婪:在能够成功匹配的前提下,匹配次数尽可能多的匹配,默认情况下都是贪婪的非贪婪:在能够成功匹配的前提下,匹配次数尽可能少的匹配,在不确定的次数后加?就是非贪婪的​ 如:*?,+?,??,{M,N}?,{M,}?,{,N}? (fullmatch中贪婪与非贪婪没有区别)检测符号检测符号只做检测,不会做匹配\b - 检测是否是单词边界(任何可以隔开单词的符号,如:空格、标点符号、字符

2020-08-06 20:14:15 107

原创 模块、包、正则语法

模块什么是模块一个py文件就是一个模块模块间的数据交流我们可以在任意一个模块中使用另一个模块中所有的全局变量(普通全局变量、函数、类)如果想在一个模块中使用另一个模块中的内容必须先导入模块模块分类系统模块:系统已经定义好的模块,可以直接导入使用第三方库模块(其他程序员或机构定义的模块):需要下载放入工程后再导入使用自定义模块:导入后直接使用导入模块导入方式import 模块 - 导入指定模块,导入后可以通过模块名.变量的形式使用该模块中的全局变量from 模

2020-08-05 23:55:15 205

原创 装饰器迭代器生成器

装饰器什么是装饰器装饰器的本质就是一个实参高阶函数或返回值高阶函数装饰器的作用就是在不修改原函数的前提下给函数添加功能装饰器语法:def 函数(func):​ def test(*args,**kwargs):​ func(*args,**kwargs)​ 添加新功能​ return test说明:函数 - 装饰器对应的函数名,也是装饰器的名字(与添加功能相关)func - 指向的是需要添加新功能的函数test - 指向的是已经添加完功能的新函数有参的装饰器如

2020-08-05 23:54:32 216

原创 函数进阶

函数就是变量定义函数时,其实就是在定义一个类型为function的变量,函数名就是变量名;普通变量能做的事函数都能做实参高阶函数实参高阶函数若一个函数的一个或多个参数是函数,那么原函数即为实参高阶函数通过函数体中如何使用该参数来确定应该传什么类型的数据实参高阶函数的应用除了写装饰器以外,一般不会自己定义实参高阶函数,主要使用系统定义好的实参高阶函数系统中常用的实参高阶函数:max/min,sorted/sort,reduce,map…max/minmax/min(序列) -

2020-08-03 19:19:54 104

原创 函数的参数、返回值、作用域和匿名函数

参数位置参数和关键字参数根据函数调用时实参的传递方式将实参分为位置参数和关键字参数位置参数 - 调用函数时直接在括号中写多个实参,实参与形参一一对应关键字参数 - 调用函数时以 形参名=实参 的形式来确定实参,位置不影响结果,关键字参数不能重复,不能缺少注意:位置参数和关键字参数可以一起使用,但是位置参数必须在关键字参数的前面,不管以什么形式传参,最终每个参数都要有值参数默认值定义函数时,可以给形参赋默认值,若一个形参有默认值,那么这个参数调用时可以不传参数,若定义函数时有

2020-07-31 22:42:20 202

原创 字符串、函数定义和调用

字符串格式字符串语法:带有格式占位符的字符串 % (数据1,数据2,数据3,…)格式占位符:字符串中不同类型的占位符号,固定的​ %s - 字符串的格式占位符(任何类的数据都可以赋值)​ %d - 整数的格式占位符​ %.Nf - 浮点数的格式占位符,且控制小数点后有N为小数​ %c - 字符的格式占位符(可以给字符或编码值)​ %() - 固定写法数据 - 最后给字符串中不确定内容赋值的数据,数据的个数和类型要与格式占位符

2020-07-30 19:59:05 569

原创 集合和字符串

集合什么是集合(set)集合是容器型数据类型,以{}为标志,多个元素用,隔开集合是可变的(支持增删改操作),无序的集合的元素是不可变的,唯一的(集合自带去重功能)定义空集合:变量 = { }是错的,这样定义出来是空字典,变量=set()定义出来才是空集合增删改查查 – 遍历​ for 变量 in 集合:​ 循环体增​ 集合.add(元素) - 将指定元素添加进指定集合​ 集合.update(序列) - 将指定序列中的所

2020-07-29 19:58:00 414

原创 元组及字典

元组元组中的元素可以是任何的数据类型元组就是不可变的列表,所以列表中所有不会改变列表的操作都适用于元组元组中一些特有的方法和功能元组只有一个元素时:元组(元素,) – 在唯一一个元素之后必须有逗号定义元组时可以直接用逗号隔开多个元素省略括号,但前提是省略括号不会存在歧义获取元素时可以通过保持变量个数和元素相等,来分别用变量获取对应元素变量1,变量2,变量3 = 元素1 ,元素2 ,元素3 <==> 变量1=元素1,变量2=元素2,变量3=元素3变量个数少于元

2020-07-28 19:51:07 173

原创 6列表和元组

列表的增删改增append – 列表.append[元素] – 将指定元素增加到指定列表末尾(不会产生新的数据,在原列表上增加)insert – 列表.insert[下标,元素] – 将指定元素增加到列表的指定下标位置extend – 列表.extend[序列] – 将指定序列中的元素增加到列表的末尾示例:给一个分数列表:[90,56,78,89,45,60,32,100],在列表中所有不及格分数后加一个0scores = [90,56,78,89,45,60,3

2020-07-27 19:31:05 137

原创 数字类型与列表学习

数字类型Python中的数字类型有:int(整型)、float(浮点型)、complex(复数)、bool(布尔)int:所有的整数,包括十进制、二进制、八进制、十六进制int数据类型转换:int(数据)除了数字类型以外只有部分str可以转换成int。float:所有的小数,包括科学计数法2e3…float数据类型转换:float(数据)复数不能转换、布尔能转换、str中只含数字的能转换complex:由实部和虚部组成,虚数单位为j实部为0时能省略,虚部为1时不

2020-07-24 20:49:40 188

原创 分支和循环结构学习

分支结构(if)if单分支结构格式:if 条件语句:​ 代码块条件语句是任何有结果的表达式,不能是赋值语句代码块是与if保持一个缩进的代码或代码段,在满足条件语句时执行。执行过程:先判断条件语句是否成立(布尔值是否为True),成立(为True)则执行代码块,否则不执行代码块示例:根据输入的数据值打印奇数或偶数num = int(input())if num % 2 == 0: print('偶数')if not num % 2: print('偶数')if num % 2:

2020-07-23 20:07:57 140

原创 运算符和分支结构学习

编译性语言(C、Java等)与Python定义变量的区别编译性语言:定义变量前先定义变量类型再赋值,系统会根据变量类型申请内存空间,之后再将数据与内存空间和变量名关联,更改数据的过程就是先将内存空间中的数据清除再赋新值。由于最初在申请内存空间时内存空间就由变量类型确定了,所以在里面保存的数据的类型和大小就确定了,当保存数据超出内存空间大小时就会导致数据溢出,数据太小时又会浪费内存。Python:定义变量时直接对变量赋值,系统会根据赋值的大小申请内存空间,之后将数据与内存空间和变量名关联,更改数据时就是

2020-07-22 19:59:39 119

原创 python初学

Python简介Python是一种解释性语言,与编译性语言C语言、Java等有所不同,C、Java等编译性语言所写的源文件在运行时首先会被编译器编译成可执行文件,之后再执行可执行文件得到结果,而Python作为解释性语言在运行时会直接通过解释器一边解释一边执行代码,相对而言,编译性语言的运行效率更高,而Python的开发效率更高。Python基础语法注释注释是代码中对代码进行解释说明的文字,但它本身不会被执行,不会影响程序的功能。单行注释在注释文字前加一个#,#只会从当前位置注释到本行结束,

2020-07-21 22:20:01 161

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除