- 博客(42)
- 收藏
- 关注
原创 线性回归
线性回归(Linear-Regression)一.定义将y作为因变量,x作为自变量,得到方程:y=β0+β1xy=\beta_0+\beta_1xy=β0+β1x当给定参数β0\beta_0β0和β1\beta_1β1的时候,画在坐标图内是一条直线。当我们只用一个x来预测y,就是一元线性回归,也就是在找一个直线来拟合数据。线性回归就是要找一条直线,并且让这条直线尽可能地拟合图中的数据点二.损失函数残差:真实值和预测值间的差值:e=y−y^e=y-\hat{y}e=y−y^
2021-03-20 16:58:40 479 1
原创 KNN
KNN(K-NearestNeighbor)一.K近邻算法的基本概念,原理K近邻算法是一种基本分类和回归方法即给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类,就把该输入实例分类到这个类中,(类似于现实生活中少数服从多数的意思)二.特征归一化距离的度量Lp(xi,xj)=(∑=1n∣xi(l)−xj(l)∣p)1pL_p(x_i,x_j)=(\sum_{=1}^n|x_i^{(l)}-x_j^{(l)}|^p)^\frac{1}{p
2021-03-20 14:06:59 333
原创 数据库
数据库(database)数据的仓库,它是保存和管理数据的仓库如果希望在程序中实现数据持久化操作,数据库就是一种非常好的解决方案BATCMD - 百度、阿里、腾讯、携程、美团、滴滴、…IOE —> IBM小型机 / Oracle数据库 / EMC存储设备 —> 贵X86服务器 / MySQL / fastDFS —> 去IOE运动 —> 性价比非常高数据的分类:关系型数据库(SQL)理论基础:关系代数 + 集合论具体表象:用二维表保存数据行:记录列:字段(
2021-01-30 09:24:22 260
原创 Linux个人总结
科普系统Unix:商业化的Unix服务器 —> AIX / HP-UX / SolarisWindows —> Server / Advanced Server / Dara CenterLinux:发行版本很多,很多都不需要付费服务器云服务器:最灵活、伸缩性给最好、性价比最高的选择远程连接:远程桌面工具 / SSH客户端工具SSH:windows —> XShell / FinalShell macOS —> Termius计算机硬
2021-01-26 19:41:12 746 1
原创 每周汇总-20210116
动态内容的获取JavaScript逆向 —> 找到真正提供数据的API接口 —> Response —> json()浏览器开发者工具 —> Network —> XHR(JavaScript获得数据的异步请求)专业抓包工具 —> Fiddler / Charles / Wireshark直接操控浏览器 —> selenium —> WebDriverpip install selenium —> from selenium im
2021-01-16 14:16:41 257
原创 day27-使用selenium模拟登录qq空间
通过selenium登录qq空间在对qq空间的登录表单点击右键检查后发现,这个表单是在一个内嵌的窗口中,所以我们需要先切换到页面内嵌的窗口(iframe)中然后在iframe中查找超链接、用户名、密码和登录按钮最后直接用代码操控登录就可以了from selenium import webdriverimport getpassdriver = webdriver.Chrome()driver.get('https://qzone.qq.com/')# 先切换到页面内嵌的窗口(ifram
2021-01-13 19:57:20 186
原创 day25-day26-动态内容和异步编程
复习编写爬虫程序的步骤:抓取页面 —> requests / aiohttp / httpx异步编程 —> 异步I/O(AIO) —> 协作式并发 —> 提高了CPU利用率 —> (微线程、纤程)解析页面正则表达式 —> recompile —> Patternmatch() / search() —> Match —> group()findall() / finditer()CSS选择器 —> beau
2021-01-12 17:54:00 34717
原创 每周汇总-20210109
网页基本知识统一资源标识符:URI - Universal Resource Identifier统一资源定位符:URL - Universal Resource LocatorHTTP协议- 请求响应式的协议HTTP请求请求行 - GET / HTTP /1.1GET:从服务获取资源POST:向服务器提交数据HTTP响应响应行 - HTTP/1.1 200 OK响应状态码 - 404 Not Found / 403 Fornbidden2xx:成功3xx:重定向
2021-01-11 09:05:36 219 1
原创 da24-银行账户多线程和通过开发者工具进行爬虫
网络图片爬取页面上可能有动态内容(通过JavaScript代码动态生成的,显示网页源代码时看不到的内容)方法一:JavaScript逆向 —> 找真正提供数据的URL通过浏览器开发者工具,查找提供数据的URL(数据接口)通过专业的抓包工具,直接获取到数据接口Fiddler / Charles / Wireshark(Ethereal)方法二:通过Python代码操控浏览器,直接拿到带动态内容的页面,然后再提取数据 —> selenium.webdr
2021-01-08 20:56:21 232 1
原创 day22-day23比较杂和使用API接口爬取数据
python读写Excel文件openpyxl —> XML —> xlsxxlrd / xlwt —> xlsxlwings每个Excel文件 —> 工作簿 —> Workbook一个Excel文件可以包含多个工作表 —> sheet行和列交汇的地方叫做单元格 —> cellwb = xlwt.Workbook() Sheet = wb.add_sheet('...') Shee
2021-01-07 22:04:55 155
原创 day21-了解爬虫
爬虫的分类通向爬虫: 搜索引擎定向爬虫: 只爬取自己需要的数据爬虫的作用中小企业一般情况下,数据都是短板,只能靠爬虫去采集数据舆情监控竞品分析、了解行情写爬虫程序获取页面:requests.get(url) —> resp.text解析页面:正则表达式解析:re.compline(’…’) —> Pattern —> findall / match / searchCSS选择器解析:BeautifulSoup4xpath解析import rei
2021-01-05 21:09:25 155 2
原创 day19-(补充)pip包管理
(补充)pip管理包python的包管理工具: pip检查是否有pip工具pip --version / pip -V更换国内下载镜像:pip config set global.index-url https://pypi.doubanio.com/simple安装:pip install pillow卸载:pip uninstall -y pillow更新:pip install -U pillowjupyter —> 启动一个网页版的交互式环境,可以写各
2021-01-05 21:08:50 124
原创 day18-面向对象进阶
类方法和静态方法类中方法分为:对象方法、类方法和静态方法对象方法怎么定义: 直接定义在类中的函数怎么调用: 用对象来调用 -> 对象.对象方法()特点: 自带参数self;self调用的时候不用传参,指向当前对象(谁调用指向谁)什么时候用: 如果实现函数的功能,需要用到对象属性,就将这个函数定义成对象方法用对象调用对象方法,也叫给这个对象发一个消息类方法怎么定义: 在类中,定义函数前加@classmethod装饰器怎么调用: 用类来调用 -> 类名.类方法()特点:
2021-01-05 21:08:19 595
原创 day20-网页基础知识以及爬虫前传
网页基本知识URI - Universal Resource Identifier - 统一资源标识符URL - Universal Resource Locator - 统一资源定位符URI = URL + URN(x)https://www.baidu.com:443/index.htmlhttp://14.215.177.38:80/index.htmlhttps://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6
2021-01-04 20:53:58 118
原创 day15-时间和hash和json
时间模块python和时间相关的模块有两个:time、datetime时间戳时间戳指的是当前时间到1970年1月1日0时0分0秒(指的是格林威治时间)的时间差(单位时秒)优点: 1)使用时间戳保存时间比使用字符串保存时间所占用的内存要少很多; 2)通过时间戳对时间进行加密更简单time() - 获取当前时间,返回的是时间戳localtime() - 获取当前本地时间,返回的是结构体时间localtime(时间戳) - 将时间转换成本地的结构体时间将
2021-01-01 18:56:27 2168 1
原创 day17-面向对象作业
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积class Rectangle: def __init__(self, length, width): self.length = length self.width = width def perimeter(self): return (self.length + self.width)*2 def area(self): return self...
2020-12-30 10:36:22 186
原创 day17-面向对象基础
面向对象编程编程思想面向过程编程(穷人) - 一遇到问题马上想到代码解决问题的逻辑来解决问题工具: 逻辑、算法函数式编程(小资) - 一遇到问题马上想到有没有一个已经存在函数能够帮我解决这个问题;如果没有自己定义一个可以解决这类问题的函数…工具:函数面向对象编程(土豪) - 一遇到问题马上想到有没有一个对象拥有解决这个问题的能力,如果没有就自己创造能够创造这种对象的类工具:类、对象认识类和对象什么是类,什么是对象类:类就是拥有相同功能和相同属性的对
2020-12-29 19:53:01 96
原创 day16正则表达式作业
利用正则表达式完成下面的操作:1.用户名匹配 要求: 1.用户名只能包含数字 字母 下划线 2.不能以数字开头 3.⻓度在 6 到 16 位范围内from re import fullmatchre_str = r'[a-zA-Z_][a-zA-Z\d_]{5,15}'密码匹配 要求: 1.不能包含!@#¥%^&*这些特殊符号 2.必须以字母开头 3.⻓度在 6 到 12 位范围内re_str = r'[a
2020-12-28 21:21:33 142
原创 day14-异常和常用模块
异常和常用模块数据持久化需要持久化的数据通过一个文件保存需要这个被持久化数据的时候,不直接给值,而是从文件中读这个数据如果被持久化的数据发生了改变,需要把最新的值在重新写入文件中异常捕获异常程序报错又叫程序出现异常,如果在执行程序的过程中,出现异常,那么这个程序会在出现异常的地方结束异常捕获异常捕获就是让程序在出现异常的时候不崩溃,可以继续执行什么时候捕获异常: 明明知道某段代码可能会出现异常,但是有没有办法或者必要去通过修改这段代码来避免异常的时候,就可以使用异常捕
2020-12-28 21:18:03 115
原创 day16-正则表达式
正则表达式匹配符号re模块是python内置的专门提供处理正则表达式函数的模块from re import fullmatch什么是正则表达式正则表达式是一种可以让字符串处理变得很简单的工具正则表达式就是通过各种正则符号来描述字符串的规则在不同的编程语言中,正则的语法是相同的,但是表示方式不同:python - ‘正则表达式’, js - /正则表达式/正则符号普通字符 - 普通字符在正则表达式中表示这个符号本身fullmatch(正则表达式, 字符串) - 判断字符串是否
2020-12-28 21:17:20 177
原创 day13-包和文件操作
包的使用什么是包包是python程序中一种专门用来管理py文件的文件夹,这个文件夹中有一个特殊文件_init_ .py(项目中的普通文件夹一般用来管理项目需要的非代码文件)怎么使用包中的内容 - 导入import 包名 - 导入后可以通过 ‘包名.’ 去使用这个包中的__init__ .py文件中定义的所有的全局变量import 包名.模块名 - 导入后可以通过 ‘包名.模块名’. 去使用指定模块中所有的全局变量from 包名 import 模块名1, 模块名2, …
2020-12-24 21:34:45 189
原创 day12 作业
写一个装饰器@tag要求满足如下功能:@tag(name='p')def render(text): # 执行其他操作 return text@tag(name='div')def render2(): return 'abc'print(render('Hello')) # 打印出: <p>Hello</p>print(render2()) # 打印出: <div>abc</div>def tag(..
2020-12-23 20:37:59 107
原创 day12-迭代器生成器和模块
有参装饰器有参装饰器应用场景:如果实现装饰器的功能的时候需要额外的数据,就需要有参装饰器def 函数名(参数列表): 定义无参装饰器函数 return 无参装饰器函数名函数名 - 创建装饰器的函数名参数名 - 有多个参数看实现装饰器的功能额外需要多少个数据def create_tag(name): def tag(f): def new_f(*args, **kwargs): result = f(*args, **kwargs)
2020-12-23 20:35:25 190
原创 day11作业
为函数写一个装饰器,在函数执行之后输出 afterdef after(f): def new_f(*args, **kwargs): result = f(*args, **kwargs) print('after') return result return new_f为函数写一个装饰器,把函数的返回值 +100 然后再返回。def add1(f): def new_f(*args, **kwargs): ..
2020-12-22 20:18:10 115
原创 day11-高阶函数
高阶函数函数就是变量python中定义函数就是定义类型是function的变量,函数名就是变量名变量能做的,函数名也能做面试题list1=[]for i in range(5): list1.append(lambda x:x*i)"""i=0:[lambda x:x*i]i=1:[lambda x:x*i], [lambda x:x*i]i=2:[lambda x:x*i], [lambda x:x*i], [lambda x:x*i]i=3:[lambda x:x
2020-12-22 20:17:14 108
原创 day10-函数进阶
函数的进阶位置参数和关键字参数实参按照传递方式的不同分为位置参数和关键字参数两种位置参数调用函数的时候让实参和形参一一对应(第一个实参给第一个形参赋值,第二个实参给第二个形参赋值…)格式:数据1, 数据2, 数据3, …关键字参数让实参和形参通过关键字(形参名)对应格式:形参名1=数据1, 形参名2=数据2, …关键字参数和位置参数混用混用的时候位置参数必须在关键字参数前面def func1(x, y, z): print(f'x:{x}, y:{y},
2020-12-21 21:48:14 100
原创 day9-函数作业
编写一个函数,交换指定字典的key和value。 例如:dict1={'a':1, 'b':2, 'c':3} --> dict1={1:'a', 2:'b', 3:'c'} def change(dict1): result = [(dict1[key],key) for key,value in dict1.items()] print(dict(result))编写一个函数,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串 例如: ..
2020-12-19 10:22:19 163 1
原创 day9-格式字符串和函数基础
格式字符串r语法:python可以在字符串的最前面(加引号前)加 r/R 来阻止字符串中的转义字符转义r可以让字符串中的转义字符都变成普通字符str1 =r'\tabc\n123'print(str1) # \tabc\n123path = R'E:\千峰学习\02语言基础'print(path) # E:\千峰学习\02语言基础格式字符串name = input('请输入姓名:')age = int(input('请输入年龄:'))money = int(input('请
2020-12-19 10:17:04 106 1
原创 day8-字符串作业
输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)例如: 输入**'abcd1234 ’ ** 输出**‘bd24’**str1 = 'abcd1234'print([x for x in str1[1::2]])输入用户名,判断用户名是否合法(用户名长度6~10位)user_name = input('请输入用户名:')if 6<= len(user_name) <=10: print('合法')else: print('不合法..
2020-12-17 21:43:23 128
原创 day8-字符串
字符串和字符什么是字符串(str)容器型数据类型:将’’、""、’’’’’’、"""""、作为容器的表示,里面每个独立的文字信息就是它的元素(引号中的每个符号都是字符串的元素)元素:引号中的每个符号都是元素,字符串的元素又叫字符特点:不可变(不支持增删改);有序的(支持下标操作)‘’'和"""对应的字符串都可以在内容中直接通过回车换行字符python中只有字符的概念,没有对应的数据类型。如果需要字符,用长度是1的字符串来表示转义字符字符串中的元素/符号/字符分为
2020-12-17 21:42:07 201
原创 day7字典和集合作业
1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明)stu = {'姓名':'stu1', 'age':20, 'score':90, 'tel':'12213331444', 'sex':'男'}2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)students = [{'name':'stu1', 'age':20, 'score':90, 'tel':'12213331444', 'sex':'男'},{'name':'s
2020-12-17 10:54:04 598
原创 day7-字典和集合
字典字典存在的价值 - 可以同时保存多个意义不同的数据的时候,通过key来对数据进行区分和说明什么是字典(dict)字典是容器型数据类型;将{}作为容器的标志,里面多个元素(元素是键值对)用逗号隔开;{键1:值1, 键2:值2, 键3:值3,…}字典的元素:必须是键值对, 键 - 必须是不可变数据,一般用字符串;唯一的。(功能是对值进行说明) 值 - 任何类型的数据都可以,可以重复。(值才是字典真正想要保存的数据)特点:字典是可变的(支持增删改);是无
2020-12-16 21:46:45 148 1
原创 day6-列表和元组
列表相关操作数学运算:+、*列表1 + 列表2 - 将两个列表合并成一个新的列表list1 = [1,2,3]list2 = [100,200]print(list1+list2) # [1, 2, 3, 100, 200]列表×N / N×列表 - 列表中的元素重复N次,产生一个新的列表(N是大于等于0的整数)list1 = [1,2,3]print(list1*3) # [1, 2, 3, 1, 2, 3, 1, 2, 3]比较运算符
2020-12-15 21:18:27 162
原创 day6-列表作业
1.生成50-300之间可重复的 10个数据 存放于列表中, 保证列表中元素的顺序,对列表进行排重,并对列表使用排序算法进行降序排序例如:随机生成了[70, 88, 91, 70, 107, 234, 91, 177, 282, 197] --- 去重之后 [70, 88, 91, 107, 234, 177, 282, 197] ---- 降序排序 [282, 234, 197, 177, 107, 91, 88, 70]nums = [70, 88, 91, 70, 107, 234,
2020-12-15 20:22:32 322
原创 day5-列表作业
1.已知一个数字列表,求列表中心元素。scores = [90,45,52,10,89,67,55,32,69,100]length = len(scores)if length & 1 == 0: print(scores[length//2-1],scores[length//2])else: print(scores[length//2])2.已知一个数字列表,求所有元素和。scores = [90,45,52,10,89,67,55,32,69,100]sum
2020-12-15 20:22:00 258
原创 day5-数字和列表
数字相关类型python中数字相关类型有四个:int、float、*complex、boolint(整型) - 所有的整数对应的类型表示:数字直接写转换:int(数据) 不是所有的数据都可以转换成整数:只有浮点数、布尔、部分字符串*python2.x中整数有两种类型:int、long浮点数转换成整数:直接去掉小数部分,保留整数部分print(int(12.5)) # 12print(int(1.9)) # 1print(int(-1.9)) # -1
2020-12-14 19:39:03 158
原创 day4-循环关键字和位运算
循环关键字continuecontinue是关键字,只能用在循环体中当执行循环体的时候,如果遇到continue,当次循环直接结束,然后马上进入下次循环的判断(遇到continue结束一次循环)for x in range(3):print(’===’)continueprint(’—’)print(’+++’)练习:计算1到100中,所有不能被3整除的数的和sum1 = 0for x in range(1,101): if x % 3 != 0: sum1
2020-12-12 17:55:09 111
原创 day3 分支和循环作业
基础题根据输入的成绩的范围打印及格 或者不及格。grade = 67if grade >= 60: print('及格')else: print('不及格')"""grada = 67if grade > 60 , print('及格'); 67 > 60 -> True"""根据输入的年纪范围打印成年或者未成年,如果年龄不在正常范围内(0~150)打印这不是人!。age = 89# 方法一: if嵌套if 0 <= age
2020-12-12 12:07:17 350
原创 day3-分支和循环
if 多分支结构if - elif - else应用场景:针对不同的条件实现不同的操作。(不同的条件之间满足:如果其中一个条件已经满足,就没有再判断其他条件的必要)语法:if 条件语句1:代码段1elif 条件语句2:代码段2elif 条件语句3:代码段3…else:代码段N注意:后面的条件是在前面的条件不成立的前提下进行判断的练习:要求根据symbol的符号不同,对num与2进行不同的操作,例如:symbol是’+’,-> num就加2,’-’,-&
2020-12-10 21:28:12 97
原创 day2-运算符和变量作业
选择题print(100 - 25 * 3 % 4) 应该输出什么? (B)A. 1B. 97C. 25D. 0下列哪种说法是错误的(A)。A. 除字典类型外,所有标准对象均可以⽤于布尔测试B. 空字符串的布尔值是FalseC. 空列表对象的布尔值是FalseD. 值为0的任何数字对象的布尔值是False下列表达式的值为True的是(B)。A. 3>2>2B. 1 and 2 != 1C. not(11 and 0 != 2)D. 10 < 20
2020-12-09 20:51:22 307 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人