python
文章平均质量分 52
小瓶盖的猪猪侠
这个作者很懒,什么都没留下…
展开
-
Python强类型编程
第一个例子体现动态性:用字符串直接执行代码,动态构建了一个函数并执行,甚至给函数挂载新的名字。第二个例子体现强类型性:变量都有类型信息,不同类型无适配操作时不允许操作,例如整数和字符串不允许相加。原创 2023-06-27 17:30:23 · 879 阅读 · 0 评论 -
pandas iloc和loc
loc按照标签或者索引、布尔值或者条件进行选择数据,这种选择数据的方法较为常用。iloc索引器用于按位置进行基于整数位置的索引或者选择。原创 2022-11-17 20:59:40 · 232 阅读 · 0 评论 -
浅谈pyhon中的__slots__
python对象和类都是利用__dict__设置动态属性,例如下面。当添加不在__slots__定义的属性时,python就会报错。而__slots__的作用是防止类和对象属性无节制的添加,通过上面的例子解释了python对象属性都是可以动态添加。下面就来聊聊关于__slots__继承问题。...原创 2022-08-27 10:39:31 · 362 阅读 · 0 评论 -
PyTorch 中的乘法:mul()、multiply()、matmul()、mm()、mv()、dot()
函数功能:逐个对 input 和 other 中对应的元素相乘。本操作支持广播,因此 input 和 other 均可以是张量或者数字torch.mul() 的别称函数功能:计算 input 和 output 的点乘,此函数要求 input 和 output 都必须是一维的张量(其 shape 属性中只有一个值)!并且要求两者元素个数相同!函数功能:实现线性代数中的矩阵乘法(matrix multiplication):(n×m) × (m×p) = (n×p) 。本函数不允许广播!函数功能:实现矩阵原创 2022-07-02 15:24:39 · 2675 阅读 · 1 评论 -
collections中namedtuple的用法
我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成:p = (1, 2)但是,看到(1, 2),很难看出这个tuple是用来表示一个坐标的。这时,namedtuple就派上了用场。用法namedtuple('名称', [属性list])样例from collections import namedtuplePoint = namedtuple('Point', ['x', 'y'])p = Point(1, 2)print(p.x,p.y)...原创 2021-07-18 21:33:59 · 153 阅读 · 0 评论 -
python总结之函数调用(二)
今天看到函数,突然感觉好陌生,于是决定把python函数这块给弄清楚,函数主要包括函数的定义和函数的调用,这篇主要是写函数的定义,还会有另一篇写函数的调用。>>> def test1():... print("test1")...>>> test1()test1上面就是一个函数的声明和调用,当然,函数...原创 2021-05-01 23:52:23 · 149 阅读 · 0 评论 -
python总结之函数定义(一)
今天看到函数,突然感觉好陌生,于是决定把python函数这块给弄清楚,函数主要包括函数的定义和函数的调用,这篇主要是写函数的定义,还会有另一篇写函数的调用。>>> def test1():... print("test1")...>>> test1()test1上面就是一个函数的声明和调用,当然,函数内容元不止上面的那些内容。但是上面的代码包括了函数的定义和调用的最基本内容.函数的 执行 会引入一个用于函数局部变量的新符号表。 更确切地说,函数中所原创 2021-05-01 22:50:01 · 314 阅读 · 1 评论 -
Sklearn的train_test_split用法
功能划分数据的训练集与测试集参数解读:X_train,X_test, y_train, y_test = train_test_split (*arrays,test_size, train_size, rondom_state=None, shuffle=True, stratify=None)arrays:特征数据和标签数据(array,list,dataframe等类型),要求所有数据长度相同。test_size / train_size: 测试集/训练集的大小,若输入小数表示比例,若输原创 2021-05-01 15:34:58 · 739 阅读 · 0 评论 -
pandas学习map函数
pandas对象中的map函数作为映射,但这种映射不会影响原对象的值,当arg是字典时,Series中不在字典中的值(作为键)将转换为NaN。>>> s = pd.Series(['cat', 'dog', np.nan, 'rabbit'])>>> s0 cat1 dog2 NaN3 rabbitdtype: object>>> s.map({'cat': 'kitten', 'dog': '原创 2021-04-28 21:26:46 · 1273 阅读 · 0 评论 -
pandas获取对应的行或者列
loc通过标签或布尔数组访问一组行和列。.loc[] 主要基于标签,但也可以与布尔数组一起使用。允许的输入为:单个标签,例如’a’,标签列表或数组,例如。[‘a’, ‘b’, ‘c’]带有标签的切片对象,例如’a’:‘f’。与切片轴长度相同的布尔数组,例如。[True, False, True]可对齐的布尔系列。遮罩之前,键的索引将对齐。可对齐索引。返回的选择的索引将作为输入。1获取单行为了获取当行,只需要利用行号就能够获取,>>> df = pd.DataFr原创 2021-04-24 12:11:59 · 5182 阅读 · 1 评论 -
pandas数据合并
1concatconcat函数是在pandas底下的方法,可以将数据根据不同的轴作简单的融合pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False)axis: 需要合并链接的轴,0是行,1是列join:连接的方式 inner,或者outer1.1 相同字段的表首尾相接原创 2021-04-24 10:57:36 · 241 阅读 · 0 评论 -
AttributeError: ‘DataFrame‘ object has no attribute ‘ix‘
问题原因pandas版本0.20.0及其以后版本中,ix已经不被推荐使用问题解决使用loc和iloc替换locloc gets rows (or columns) with particular labels from the index. loc从索引中获取具有特定标签的行(或列)。这里的关键是:标签。标签的理解就是name名字。>>> import pandas as pd>>> df = pd.DataFrame(data= [[1, 2, 3],[4原创 2021-04-24 09:57:10 · 15600 阅读 · 0 评论 -
python中的切片
在python中,像列表,元组和字符串这类序列类型都支持切片操作。s[a????️c] 的形式对 s 在 a 和 b之间以 c 为间隔取值。c 的值还可以为负,负值意味着反向取值;>>> a=list(range(10))>>> a[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> a[::2][0, 2, 4, 6, 8]>>> a[::-2][9, 7, 5, 3, 1]关于切片和区间的讨论pyt原创 2020-11-14 23:59:58 · 115 阅读 · 0 评论 -
利用阿里云搭建爬虫环境
在之前需要一个阿里云的服务器设置root登录点击设置密码,设置root登录密码安装mysql传送门按照上面的步骤做完后,还需要设置阿里云的防火墙规则,否则无法远程连接的安装python3.7到此安装成功...原创 2020-10-25 14:55:04 · 658 阅读 · 0 评论 -
python学习之UDP实现一个会话
from socket import socket,AF_INET,SOCK_DGRAMimport threadingudp_socket = socket(AF_INET,SOCK_DGRAM)udp_socket.bind(("",8089))addr = ("172.20.17.1",8080)def send_msg(): while True: data = input("send msg:") if data == "q":原创 2020-05-21 10:44:35 · 244 阅读 · 0 评论 -
python学习之threadlocal
import threadinglocal = threading.local()def process_st(): name = local.name; print("local.name = {} ,thread.name={}".format(name,threading.current_thread().name))def pro(name): local.name = name; process_st()if __name__=="__main__"原创 2020-05-20 23:15:47 · 584 阅读 · 0 评论 -
python实现生产者和消费者
from threading import Threadfrom queue import Queueimport timeque = Queue(1000)class Producter(Thread): def run(self): global que count = 0 while True: if que.qsize() < 10: for i in range(10):原创 2020-05-20 20:53:11 · 241 阅读 · 0 评论 -
python进程池Pool中的apply方法与apply_async的区别
在掌握apply方法与apply_async的区别之前,需要了解阻塞和非阻塞的区别,阻塞阻塞好比过独木桥,前面人不走,后面人就无法先前走,只有前面人过了独木桥,后面人才能继续向前走非阻塞非阻塞的逻辑和阻塞相反,就是前面人不走,你就在旁边待着,让后面人先走,apply就是属于上面的阻塞模式,apply_async属于非阻塞模式1、apply实例import multiprocessingdef fun(name): print(name)if __name__=="__main_原创 2020-05-19 19:28:25 · 1221 阅读 · 0 评论 -
python学习之特殊属性和魔术方法(续)
反射运行时:区别于编译时,指的是程序被加载到内存中执行的时候。反射:python中,能够通过一个对象,找出其type,class,attribute或method的能力,成为反射或自醒。具有反射能力的函数type(),isinstance(),callable()(查看对象能否被调用),dir(),getattr()内建函数object 可以是类或实例 语法格式:getattr(object,name[,default]) : 通过name 返回object的属性值,当属性不存在时,将使用de原创 2020-05-08 17:41:36 · 170 阅读 · 0 评论 -
python学习之特殊属性和魔术方法
https://blog.51cto.com/11233559/24223511 总述属性含义__name__类函数,方法等的名字__module__类定义所现在的模块名__class__对象或类所属的类__bases__类的基类的元素,顺序为他们在基类列表中出现的顺序__doc__类/函数的文档字符传,如果没有定义则为None__m...原创 2020-05-08 09:30:47 · 231 阅读 · 0 评论 -
python学习之模块与包的思考
模块1、什么是模块?一个模块就是一个Python文件,文件名就是模块名字加上.py后缀。因此模块名称也必须符合变量名的命名规范。使用python编写的代码(.py文件)已被编译为共享库或DLL的C或C++扩展包好一组模块的包使用C编写并链接到python解释器的内置模块2、为什么要使用模块?如果你退出python解释器然后重新进入,那么你之前定义的函数或者变量都将丢失,因此我们...原创 2020-05-07 20:35:43 · 323 阅读 · 0 评论 -
python学习之异常处理
在程序中,发生异常经常遇见的,例如打开不存在的文件,除数为0等,如果我们处理程序发出的异常,程序在遇到异常时就不会继续执行a = 1/0print("exit")程序在执行上面a = 1/0时,会报出ZeroDivisionError异常,如果不处理ZeroDivisionError异常,程序就不出继续执行print("exit")try…except在高级语言中,都会引入异常处理语...原创 2020-05-07 13:51:54 · 139 阅读 · 0 评论 -
python学习之单例模式
class A: __obj = None __flag = False def __new__(cls, *args, **kwargs): if cls.__obj is None: cls.__obj = object.__new__(cls) return cls.__obj def __init__...原创 2020-05-07 09:57:10 · 105 阅读 · 0 评论 -
python学习之修饰器
装饰器的使用场景装饰器通常用于在不改变原有函数代码和功能的情况下,为其添加额外的功能。比如在原函数执行前先执行点什么,在执行后执行点什么。让我们通过一个例子来看看,装饰器的使用场景和体现的设计模式。(抱歉的是我设计不出更好的场景,只能引用武大神的案例加以演绎)有一个大公司,下属的基础平台部负责内部应用程序及API的开发,有上百个业务部门负责不同的业务,他们各自调用基础平台部提供的不同函数处理...原创 2020-05-06 21:09:26 · 124 阅读 · 0 评论 -
python学习之@property装饰器的用法
起因在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改:s = Student()s.score = 9999思路这显然不合逻辑。为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,在set_score()方法里,就可以检查参数class Student(ob...原创 2020-05-06 19:48:55 · 131 阅读 · 0 评论 -
python学习之对象的方法思考
方法在python类中,方法分为实例方法,类方法,静态方法1、实例方法实例方法是通过实例对象进行调用的,在定义实例方法时,都需要传递一个实例对象进去,一般我们会将这个实例对象定义为self,当然也可以是其他参数名称。实例在调用实例方法时,会将实例方法解析为为类名.方法名(对象),例如下面的一个例子,a.prin()和A.prin(a),实际在调用a.prin()时,python编译会将a.p...原创 2020-05-06 16:09:10 · 96 阅读 · 0 评论 -
python学习之字符串的思考
在字符串对象中,始终需要记住字符串对象的值是无法修改的,所有对字符串对象的操作饭后的都是新建立的字符串,原字符串对象是没有发生任何变化的str转义在使用+符合拼接字符串时,如果+其中一侧不是字符串时,则需要通过str函数进行转移>>> "fsdbo"+12Traceback (most recent call last): File "<pyshell#11&g...原创 2020-05-05 12:45:15 · 178 阅读 · 0 评论 -
python学习之切片思考
切片可以说是python作为数据处理的一个强大的工具,整个格式如下[start:end:tep]start表示起始的索引,包括start索引end表示结束的索引,不包括end索引tep表示每次的步长,默认为1>>> a = [1,2,3,4,5,6]>>> print(a[1:3])[2, 3]>>> print(a[1:...原创 2020-05-04 22:47:43 · 182 阅读 · 0 评论 -
python学习之列表操作函数介绍
修改通过索引直接修改元素>>> a =[1,2,5,6]>>> a[0] = 10>>> print(a)[10, 2, 5, 6]插入python中列表插入的函数主要有append和insert,append函数主要是在列表的最后插入元素,insert函数是指定位置插入元素>>> print(a)[10,...原创 2020-05-04 22:10:58 · 101 阅读 · 0 评论 -
python学习之is 与==
is比较两个对象的标识是否相等==比较的是对象的value是否相等关于对象的标识和value的认识可以看我的另一篇博客原创 2020-05-04 20:47:45 · 84 阅读 · 0 评论 -
python学习之标识符思考
"标识符:用于变量、函数、类、模块等的名称。标识符有如下特定的规则1.区分大小写。如:sxt和SXT是不同的2.第一个字符必须是字母、下划线。其后的字符是:字母、数字、下划线3.不能使用关键字。比如:if、or、while 等4.以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。比如:init_是类的构造函数...原创 2020-05-04 16:57:57 · 105 阅读 · 0 评论 -
python学习之对象思考
都说python是面向对象编程,这个对象将包含三部分,标识、类型、以及value标识在这里,将标识可以理解为对象内存的起始位置,类型用于判断对象占用多大内存空间,知道对象内存结束位置,防止读取内存时发生泄漏value对象的包含的内容例如下面几行代码>>> a = 3>>> id(3)1716238064>>> id(a)...原创 2020-05-04 16:41:45 · 78 阅读 · 0 评论 -
requests源码之get方法
getdef get(url, params=None, **kwargs): r"""Sends a GET request. :param url: URL for the new :class:`Request` object. :param params: (optional) Dictionary, list of tuples or bytes to sen...原创 2020-05-04 10:45:10 · 408 阅读 · 0 评论 -
scrapy框架结合Selenium和ChromeDriver
from scrapy.http import HtmlResponseclass SeleniumMiddleware(object): def __init__(self): self.driver = webdriver.Chrome('./chromedriver') def process_request(self, request, spider):...原创 2020-05-03 21:47:48 · 940 阅读 · 0 评论 -
scrapy框架执行流程图
组件Scrapy 引擎(Engine)引擎负责控制数据流在系统中所有组件中流动,并在相应动作发生时触发事件.调度器(Scheduler)调度器从引擎接受request并将他们入队,以便之后引擎请求他们时提供给引擎.下载器(Downloader)下载器负责获取页面数据并提供给引擎,而后提供给spider.SpidersSpider是Scrapy用户编写用于分析response并提取...原创 2020-05-02 23:13:16 · 386 阅读 · 0 评论 -
scrapy爬虫之中间件Middleware
设置随机请求头spiderclass MiddlewSpider(scrapy.Spider): name = 'middlew' allowed_domains = ['exercise.kingname.info'] start_urls = ['http://exercise.kingname.info/exercise_middleware_ua'] c...原创 2020-05-02 22:13:57 · 395 阅读 · 0 评论 -
scrapy学习之ImagesPipeline
初级下载图片初级下载图片是直接通过scrapy框架直接下载图片image_spider.pyimport scrapyfrom tutorial.items import ImageItemclass ImageSpiderSpider(scrapy.Spider): name = 'image_spider' allowed_domains = ['autohome....原创 2020-05-01 22:46:53 · 482 阅读 · 0 评论 -
scrapy框架学习之CrawlSpider样例
# -*- coding: utf-8 -*-import scrapyfrom scrapy.linkextractors import LinkExtractorfrom scrapy.spiders import CrawlSpider, Ruleclass WeixinSpider(CrawlSpider): name = 'weixin' allowed_do...原创 2020-04-29 17:45:45 · 164 阅读 · 0 评论 -
scrapy框架学习之demo2
在该部分将pipeLine模块加上直接上代码qsbk.py# -*- coding: utf-8 -*-import scrapyfrom tutorial.items import TutorialItemfrom scrapy.http import responseclass QsbkSpider(scrapy.Spider): name = 'qsbk' a...原创 2020-04-24 21:49:02 · 140 阅读 · 0 评论 -
scrapy框架学习之demo1
环境配置1、安装Scarpy库2、安装pypwin32库创建项目在pytharm的终端创建一个scrapy的项目scrapy startproject tutorial相应的目录下就有了刚刚创建的项目创建爬虫来到刚刚的项目中的spiders的目录下,继续在pycharm下的终端输入scrapy genspider qsbk "qiushibaike.com"代码,创建一个...原创 2020-04-24 17:54:09 · 162 阅读 · 0 评论