![](https://img-blog.csdnimg.cn/20200214172447209.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python&爬虫
文章平均质量分 67
Python基础教程,案例教程
山顶夕景
实践出真知
展开
-
【Python基础】parse_args() | HfArgumentParser | 读入json参数文件
parse_args()的使用:建立解析对象:parser = argparse.ArgumentParser();给parser实例添加属性:parser.add_argument('-epoches', type=int, default=15, help='batch size for dataloader');增加属性;通过args = parser.parse_args()把刚才的属性从parser给args,后面直接通过args使用。import argparseif __na原创 2022-05-05 23:21:18 · 11048 阅读 · 0 评论 -
【Pycharm教程】代码调试、git操作、连接远程服务器
文章目录一、 Pycharm上传本地代码到github1.1 pycharm连接github1.2 生成token1.3 上传项目1.4 更新本地项目到github1.5 查看git记录二、git常用操作2.1 处理冲突Reference一、 Pycharm上传本地代码到github1.1 pycharm连接github如果账号登陆不上就使用github的token,在github->setting->developer setting->person access tokens-&原创 2022-05-09 20:55:40 · 4693 阅读 · 0 评论 -
【Python】基础知识和编程技巧
1、copy 和 deepcopy 的区别是什么?python中的对象之间的赋值是按引用传送的。(1)copy()浅拷贝,只拷贝父对象,不会拷贝对象的内部的子对象。(2)deepcopy()深拷贝,拷贝父对象及其子对象。#!/usr/bin/python## -*-f= coding:utf-8 -*-import copyorigin=[1,2,[3,4]]cop1=origin #引用cop2=copy.copy(origin)#浅拷贝cop3=copy.deepcopy(origi原创 2021-04-29 00:25:09 · 1606 阅读 · 13 评论 -
【python】每天一个小练习
文章目录注意规范一、基础操作题二、面向对象OOP三、算法题第一题第二题第三题注意规范(1)加上文件头#!/usr/bin/python## -*- coding: utf-8 -*-#!/usr/bin/python指定有什么解释器运行脚本及解释器所在的位置原因:脚本语言共同遵守的规则:当第一行为 #!/path/to/script/interpreter时,指定了用来执行本脚本的解释器。例如:#!/bin/sh shell脚本#!/usr/bin/perl perl脚本#!/usr/原创 2021-04-27 23:45:17 · 1089 阅读 · 6 评论 -
终端启动jupyter notebook更换端口
一、问题描述如果尝试在端口 8889 上启动 Jupyter Notebook 但最终启动在了 8890 端口,这通常意味着 8889 端口已经被占用。要解决这个问题,可以尝试以下几种方法来关闭占用 8889 端口的进程。1. 查找并终止占用端口的进程首先,需要找出哪个进程正在占用 8889 端口。打开终端或命令行界面,然后根据操作系统使用以下命令:对于 macOS 和 Linux:lsof -i :8889这将列出所有占用端口 8889 的进程。会看到一些列,其中包含进程的 ID(PID原创 2024-02-24 11:51:57 · 1573 阅读 · 0 评论 -
【Python】单元测试unittest框架
使用unittest框架进行单元测试是Python标准库的一部分,提供了编写测试用例、测试套件以及运行测试的能力。测试用例是继承自unittest.TestCase的类。在这个类中,你可以定义一系列的方法来测试不同的行为。每个测试方法都应该以test开头。下面代码是一个简单的测试用例# test-单元测试import unittest# 子类必须继承unittest.TestCase类class TestMethod(unittest.TestCase): # 每个测试方法都需要以tes原创 2024-02-12 12:00:31 · 1230 阅读 · 1 评论 -
使用curl命令传输数据 | 使用requests模块进行请求
curl是传输数据的命令行工具,可以通过命令行发送HTTP请求和接收HTTP响应。它的名字是“client for URLs”,意为URL的客户端,表示该工具主要用于处理URL相关的任务。curl可以用于下载文件、上传文件、测试Web服务API等任务。基本语法为curl [options] [URL],其中option是可选项:-X:指定HTTP请求方法,如-X GET表示使用GET方法发起请求。-H:指定HTTP请求头,如-H "Content-Type: application/json"表示指定原创 2023-05-28 12:35:01 · 3769 阅读 · 0 评论 -
【小白篇】Vscode配置Python和C++环境 | 远程连接服务器
之前用pycharm写的python,vscode略显轻量级,操作:Ctrl+Shift+P 或者 View > Command Palette,输入Python: Select Interpreter,选择python解释器(可以使用anaconda的环境)安装插件:在这里插入图片描述可以在terminal交互/运行代码:terminal->new terminal二、配置C++环境之前学习C++都是在VS上跑代码,也可以使用更轻量级的vscode,vscode只是一个文本编辑器,仅需要安原创 2023-08-02 14:34:56 · 2769 阅读 · 2 评论 -
Python - 100天从新手到大师
Python - 100天从新手到大师作者:骆昊Python应用领域和就业形势分析简单的说,Python是一个“优雅”、“明确”、“简单”的编程语言。学习曲线低,非专业人士也能上手 开源系统,拥有强大的生态圈 解释型语言,完美的平台可移植性 支持面向对象和函数式编程 能够通过调用C/C++代码扩展功能 代码规范程度高,可读性强目前几个比较流行的领域,Pytho...转载 2020-02-19 09:51:53 · 1341 阅读 · 0 评论 -
Python操作SQLite数据库
简单记录下SQLite基础使用。有些数据文件是.db为扩展名的,要用到SQLite进行读写和增删改查操作。SQLite数据库是一种轻量级的关系型数据库管理系统(RDBMS),以单个文件的形式存储,整个数据库系统被完全保存在一个文件中,便于传输、备份和部署。这也意味着没有独立的数据库进程,可以直接使用API访问数据库。如果需要将SQLite数据库文件导入到其他数据库系统中,通常需要使用适当的工具或方法来实现数据迁移。比如,可以使用SQLite提供的导出命令将数据导出为SQL脚本,然后再使用其他数据库系统的工原创 2023-06-28 14:49:21 · 904 阅读 · 0 评论 -
解决conda install报错Solving environment: failed with initial frozen solve. Retrying with flexible solve
# 一、问题描述如题,在`conda install annoy`时报错找不到对应包:```pythonCollecting package metadata (repodata.json): doneSolving environment: failed with initial frozen solve. Retrying with flexible solve.PackagesNotFoundError: The following packages are not available f原创 2023-06-15 20:44:51 · 2957 阅读 · 0 评论 -
解决TypeError: ‘tuple’ object does not support item assignment
文章目录一、问题描述二、解决方案一、问题描述也是一个非常基础的问题,python中对tuple元组进行操作时会如题报错TypeError: ‘tuple’ object does not support item assignment。二、解决方案因为python中不可变对象有:数字 、字符串、元组 ;可变对象有:字典、列表(元组效率比列表高一丢丢,并且可以存放不同类型的元素,列表一般放相同类型元素,但是一起放列表、元素、字典等啥的也是可以的),不能直接对元组进行修改元素。可以先将元组转为列原创 2023-04-15 15:36:16 · 4433 阅读 · 0 评论 -
【数据分析】(task4)数据可视化
在60-80岁的高龄群体中,看出遇难人数比存活人数更多,也有可能是这群老人逃生不方便;在0-14岁小孩群体中,存活人数相对比遇难人数多得多,看出在船上逃生很多人把生存机会优先让给小孩了。库进行可视化,从下图可视化图,看出第三类仓位的遇难人数非常多,第一类仓位的存活人数比遇难人数更多;第一类高级仓位也是三个仓位中,唯一一个仓位是存活人数更多的。primitive是基本要素,它包含一些我们要在绘图区作图用到的标准图形对象,如曲线Line2D,文字text,矩形Rectangle,图像image等。原创 2023-01-22 16:55:23 · 751 阅读 · 0 评论 -
Jupyter Notebook添加目录
问题描述如果用jupyter notebook跑代码时,当分了很多点,想看到对应的目录,对总体有个概览时,会发现notebook木有自动生成目录的栏目。解决方法(1)下载插件:pip install jupyter_contrib_nbextensions(2)重启打开jupyter,可以发现多了一栏Nbextensions。(3)如果发现栏Nbextensions的插件很少,那可能要重新下载再启动:# 1、先卸载扩展包pip uninstall jupyter_contrib_nbex原创 2021-12-26 20:03:42 · 2110 阅读 · 0 评论 -
调用自身类方法和父类方法
这篇很基础,主要是记录2个关于调用父类和子类的点:- C++和Java中调用自身类是用`this`,如果调用自身类的方法则用`this.xxx_function`,而python中调用自身类的方法是用`self.xxx_function`;- Java和python调用父类的方法可以直接用`super`,但是C++没有`super`- 在C++中,子类和父类函数名一样的函数fun,如果参数不一样,不管加不加`virtual`,当子类调用fun()时,会先在子类中找,找不到会报错。原创 2022-09-01 23:06:44 · 1104 阅读 · 0 评论 -
Python的logging日志工具 & 深度学习项目yaml配置文件
如果某一个日志对象打日志时,它的父对象会同时收到日志,所以有些使用者发现创建了一个logger对象时会打两遍日志,就是因为他创建的logger打了一遍日志,同时root对象也打了一遍日志。会创建两个logger对象,一个是abc父对象,一个是xyz子对象,同时abc没有父对象,所以它的父对象是root。得到的对象都是一样的,不需要重新配置,可以直接使用。定义的该logger的子logger,都可以共享父logger的定义和配置,所谓的父子logger是通过命名来识别,任意以。......原创 2022-08-23 17:38:27 · 3273 阅读 · 1 评论 -
解决pycharm连接远程服务器spyder server找不到文件(jupyter server process failed to start)
pycharm连接上远程服务器的python后,如果在pycharm要使用远程服务器的python虚拟环境,并且使用Jupyter notebook又是不一样的,由于操作问题,报错如下图:原创 2022-08-18 19:23:59 · 2421 阅读 · 0 评论 -
【Python】Python内存管理机制
文章目录1.1 可变对象和不可变对象1.2 Python垃圾回收(1)垃圾回收(2)标记-清除 and 分代回收1.3 Python内存池Reference1.1 可变对象和不可变对象从一道简单的面试题开始:list和tuple区别在list集合中可以实现元素的添加、修改、插入、以及删除,由下面的例子可看出并没有要求list里的每个元素必须是相同的数据类型。list = [1, 'abc']print(list) # 输出[1, 'abc']在tuple集合中,一旦元素被存储,以后就不能修改,原创 2022-03-03 20:31:09 · 1561 阅读 · 0 评论 -
解决报错:jinja2.exceptions.TemplateNotFound: index.html
一、问题描述(1)首先写了一个简单的登录账号密码的页面:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><form action=""> 账号: <input type="text" name="name">原创 2021-12-25 09:52:11 · 11601 阅读 · 0 评论 -
【新闻推荐系统】(task3)Scrapy基础及新闻爬取实战
学习总结回顾之前的爬虫(八)Scrapy爬虫框架。scrapy爬虫的使用步骤:创建一个工程和spider模板编写spider编写item pipeline优化配置策略为了在推荐系统中不断获取数据,本次task为(新闻推荐实战)数据层—构建物料池之scrapy爬虫框架基础:Scrapy框架有固定的文件结构、类和方法,在实际使用过程中一般是编写item pipelines和spider(里面的自定义爬取器类)两个文件代码。文章目录学习总结一、Scrapy的简介与安装1.0 爬虫工具介绍原创 2021-12-21 16:15:07 · 1483 阅读 · 0 评论 -
【新闻推荐系统】(task4)Flask框架基础与入门
学习总结继续我们的新闻推荐系统,本个task是学习系统后端构建之Flask及其基本使用。算法工程师需要了解一些关于开发的知识,因为在实际的工作中经常调试线上的代码来调用策略或模型。一般来说,URL=传输协议+主机名+端口号+(目录)文件名,传输协议和主机名对于同一个网站是一样的,但后面的内容多种多样。一个网站往往有很多网页,为了方便管理、存放网页对应的URL,我们使用[路由](在flask框架中,默认使用@app.route装饰器),即用户请求(HTTP请求)的URL与视图函数之间的映射程序。将找到原创 2021-12-24 19:52:14 · 1521 阅读 · 0 评论 -
七夕生成动态爱心图gif
python就是这么神奇,除了生孩子,其他啥都能做,祝各位单身狗早日脱单,七夕快乐(csdn可能单身狗多点吧hhh)from matplotlib import pyplot as pltimport matplotlib.animation as animationimport numpy as npt = np.linspace(0, 6, 100)x = 16 * np.sin(t) ** 3y = 13 * np.cos(t) - 5 * np.cos(2 * t) - 2 * np.原创 2021-08-13 23:01:41 · 788 阅读 · 0 评论 -
Python将字符串转为变量名的3种方法
1. locals()locals是python的内置函数,他可以以字典的方式去访问局部和全局变量。python里面用名字空间记录着变量,就像javascript的window一样,他记录着各种全局变量。每个模块,每个函数都有自己的名字空间,记录着变量,常量,类的命名和值。就像JS一样,当python在使用变量时,会按照下面的步骤去搜索:函数或类的局部变量。全局变量。内置变量。以上三个步骤,其中一步骤找到对应的变量,就不会再往下找。如果在这三个步骤都找不到,就会抛出异常。2.vars()原创 2021-06-25 00:14:23 · 29710 阅读 · 4 评论 -
【python数据可视化】穷逼买二手房历险记
文章目录一、实验介绍二、模块设计1.数据准备2.绘图三、第三方库介绍1.Pandas库2.Pyecharts库3.matplotlib库四、代码实现五、效果和结论一、实验介绍穷逼李华(化名)买不起新房,决定抄底二手房,下面让我们来用python数据分析全国的二手房价市场,康康哪个省份的二手房建筑面积最多。二、模块设计1.数据准备数据来自“房天下”网站爬虫得到的数据,读者们也可以在(https://labfile.oss.aliyuncs.com/courses/3023/Second_hand_h原创 2021-06-21 00:31:45 · 1087 阅读 · 4 评论 -
【python】装饰器!property和setter用法
文章目录1.引子:函数也是对象2.函数内的函数3.装饰器小栗子reference1.引子:函数也是对象木有括号的函数那就不是在调用。def hi(name="yasoob"): return "hi " + name print(hi())# output: 'hi yasoob' # 我们甚至可以将一个函数赋值给一个变量,比如greet = hi# 我们这里没有在使用小括号,因为我们并不是在调用hi函数# 而是在将它放在greet变量里头。我们尝试运行下这个 print(原创 2021-05-18 00:08:17 · 1392 阅读 · 0 评论 -
python报错Error:‘xxx’ object is not callable
情况一:‘xxx’ object is not callable,“xxx”为函数,例如int,list,str。当出现报错 ‘xxx’ is not callable的时候,通常都是函数名重用或者变量名重用。网上有其他专业名词的解释,但华而不实,其本质通常都是函数名重用或者变量名重用。当出现这个错误时查看报错语句中用到的变量名或者函数名在其他语句中是否重用。例:我在这里用Bettery_number定义了一个属性,又用该变量定义了一个方法名,属于重用变量名,导致出错。大家遇到这个错误一定仔细检原创 2021-05-07 00:27:21 · 1985 阅读 · 0 评论 -
vscode写python出现invalid syntax的一个神奇原因
用Run and Debugging可以顺利运行并输出窗口但是用Run Python File in Terminal 就报错尝试清空terminal窗口原创 2021-05-07 00:01:46 · 3197 阅读 · 6 评论 -
关于学习python的建议
一、前提部分有计算机的常识。至少在安装Python,调环境变量能够看着教程能跟上,常识性的东西就随便翻翻书就行了。二、基础部分可以跟着廖雪峰的教程学,很好的教程可以跟着骆昊的Python100天可以查阅菜鸟教程当一本字典三、书籍推荐Learn Python the Hard WayThink Python: How to Think Like a Computer Scient...原创 2020-01-04 12:39:43 · 899 阅读 · 0 评论 -
(一)python基础入门
1.python语言介绍python是一个动态的解释型(字节码编译)语言。它在运行之前并不会去对代码做出额外的“翻译”工作,计算机会直接在它被运行的时候,一边“理解”和执行它,一遍判断程序中是否有造成没有办法执行的部分(语法错误)。python的变量、参数、函数(方法)在声明时都是无需说明类型的;因为Python不需要对类型进行说明,所以用它写出的代码都显得比较短小,同时Python程序中...原创 2020-01-29 12:52:02 · 533 阅读 · 2 评论 -
(二)用python写程序
1.hello,worlddef main(): print('hello,world')if __name__ == '__main__': main()声明了一个main函数作为这个程序“定义域”~main函数入口2.python的函数python的函数定义如下形式def max_pow(a, b): if a > b: ...原创 2020-01-29 14:25:03 · 592 阅读 · 0 评论 -
(三)python的字符串使用
1.python的字符串 python内建了一个专门用于处理字符串的库(名为str的类)。a=3和a='3'不同,后者存字符串3,前者存数字3。 字符串中内容包含单引号或者双引号,要使用他们的转移字符,分别为\' 和 \'' 形式。另:一个双引号包括的字符串中可以直接包含单引号,一个单引号包裹的字符串中可以直接包含双引号。 一个字符串在Python中可以分成多...原创 2020-01-29 14:42:42 · 674 阅读 · 0 评论 -
(四)Python的简单结构
1.使用列表 在python内建了一个成为列表的结构。字符串是特殊列表(但不是真正的列表,不能用列表的函数方法),我们可以简单的将它看成一系列的长度为1的子字符组成的特殊列表。list=[100,23,45]print(list[0])print(list[1])print(list[2])print(len(list))字符串是特殊列表,对于字符串len函数给出了字符...原创 2020-01-29 20:14:16 · 457 阅读 · 0 评论 -
(五)Python中的排序和元组
1.简单的排序 Python中内置了一些用于排序的方法。numbers = [1, 4, 2, 3, 8, 3, 0]numbers.sort()print(numbers)2.基本排序刚才的sort没有返回值,而在python中,还是存在有全局的返回值的排序的方法的。sorted()得到的值是排序后的列表,而不是一个None。使用sorted的reverse参数(...原创 2020-01-29 22:53:12 · 997 阅读 · 0 评论 -
(六)Python字典与文件
1.什么是字典 在Python中有一个将“名字”和“值”进行配对的结果,成为字典。其中也包括了一系列的类似的配对,我们称之为 键值对(key-value pair),这里每个配对的“名字”叫做 键名(key),每个“值”我们称为 键值(value)。一个python中的键值对的形式为冒号分隔键名和键值的形式,如 键名:键值。 字典在Python被定义为一系列用{}包裹键...原创 2020-01-30 00:06:55 · 748 阅读 · 0 评论 -
(七)Python中的正则表达式
1.什么是正则表达式 正则表达式(regular expression)是一种用于匹配文本形式的强大逻辑表示,在Python中的re模组提供了正则表达式的支持。正则表达式由一些普通字符和一些元字符(meta characters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊含义。 当正则表达式为一个普通的字符串时,一个正则表达式的匹配行为就是一个普通的字符串查...原创 2020-01-30 12:28:25 · 558 阅读 · 0 评论 -
(八)python中的面向对象编程
1.面向对象编程与Python 把有形和无形的事物抽象成“对象”,如书本 乐器,自然语言 时间等。编程解决现实中问题,第一步就是将现实世界中的对象和类如实反映到程序中。将抽象后的数据和函数封装在一起,就构成了类。一个类被定义好后,它就可以被实例化为一个具体的对象---就像一些Python自带的库函数一样。 Python是一门纯粹的面向对象的语言。在python中,一切皆对象。...原创 2020-01-30 20:43:41 · 599 阅读 · 0 评论 -
(九)Python中的函数(上)
1.函数概念的复习形参、实参、return在交互式环境中定义了函数add后,可以试试这样输入:>>> type(add)<class 'function'>>>>2.函数如何定义3.关于函数的命名在函数定义时,我们可以调用另一个函数:def extend(): print('excited!') ...原创 2020-01-30 21:06:16 · 549 阅读 · 0 评论 -
(十)Python中的函数(下)
12.用递归函数计算阶乘def fac(n): if n==0: return 1 else: return n*fac(n-1)print('Enter a positive integer:')n = int(input())y = fac(n)print(y)13.头递归和尾递归头递归:在一般条件条件(如n==1)满足时,返回一...原创 2020-01-30 21:07:39 · 802 阅读 · 0 评论 -
量化分析(一)数据采集、预处理&SVM建模
一.数据采集在此量化框架内,全部使用本地化计算。优势:1.稳定——不会因网络不稳定而导致分析过程中断。 2.快速——本地化运算对于数据的访问速度比在线获取数据快,当机器学习的算法涉及到海量数据做训练集或迭代训练的时候,这一点尤其重要。 3.可复用——无论基础的行情数据还是加工处理后的数据,保存在本地后,对于后续进行结果分析或策略优化时更为方便。本地化计算,首先要做的,就是将所需...原创 2020-02-29 18:37:34 · 5336 阅读 · 1 评论 -
Tushare财经数据包安装与使用
一.Tushare介绍Tushare是一个免费开源的python财经数据接口包。主要实现对股票数据等从数据采集、清晰加工和数据存储的过程。考虑到Python pandas包在金融量化分析中体现出的优势,Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。当然也可以通过Tushare的数据存...原创 2020-02-29 16:25:31 · 2075 阅读 · 0 评论