一日一技:为什么年代久远的Python项目里面那么多默认参数?摄影:产品经理蜡烛上面的跑马灯在写Python代码的时候,大家可能会在不知不觉中使用一些设计范式。我们来看两个例子。假设有一个类People:classPeople:def__init__(self,name,age,sex):self.name=nameself.age=ageself.sex=sexdefdance(self):pr
分类:
编程语言 时间:
2020-12-08 12:05:35
阅读次数:
6
你经常看到却经常忽视的init.py有什么用?摄影:产品经理有了它,乐高已经不香了Python初学者在阅读一些Python开源项目时,常常会看到一个叫做init.py的文件。下图为著名的第三方库requests的源代码:那么init.py有什么用呢?本文介绍它的两个用途。精简导入路径假设我们有两个文件main.py与writer.py,他们所在的文件结构如下图所示:main.py在DocParse
分类:
其他好文 时间:
2020-12-08 12:04:29
阅读次数:
3
1目标场景经常看到有朋友在闲鱼卖些小东西又或是自己擅长的一些技能,都能为他们带来不错的睡后收入。闲鱼上大量的商品,很难精准判断哪些受欢迎,哪些好卖;一个个录入数据去做数据分析,浪费时间的同时,效率也极其的低效。本篇文章的目的是利用Python自动化来获取某类商品中最好卖的商品以供参考。ps:本文仅限用于技术交流,请勿用于其他用途。2准备工作在编写代码之前,需要做如下准备工作:1、配置好Androi
分类:
编程语言 时间:
2020-12-08 12:04:07
阅读次数:
5
为aiohttp爬虫注入灵魂摄影:产品经理与产品经理在苏州的小生活听说过异步爬虫的同学,应该或多或少听说过aiohttp这个库。它通过Python自带的async/await实现了异步爬虫。使用aiohttp,我们可以通过requests的api写出并发量匹敌Scrapy的爬虫。我们在aiohttp的官方文档上面,可以看到它给出了一个代码示例,如下图所示:我们现在稍稍修改一下,来看看这样写爬虫,运
分类:
Web程序 时间:
2020-12-08 12:03:47
阅读次数:
9
一日一技:在Python中实现函数重载摄影:产品经理下厨:kingname假设你有一个函数connect,它有一个参数address,这个参数可能是一个字符串,也可能是一个元组。例如:connect(‘123.45.32.18:8080‘)connect((‘123.45.32.18‘,8080))你想在代码里面兼容这两种写法,于是你可能会这样写代码:defconnect(address):ifi
分类:
编程语言 时间:
2020-12-08 12:01:57
阅读次数:
6
一日一技:在Python里面的常用常量字符串摄影:产品经理地点:龙井村曾经,当我想实现:从24个小写字母中随机选择一个字母的时候,我是这样写代码的:importrandomletter=random.choice(‘qwertyuiopasdfghjklzxcvbnm‘)后来,我知道了,原来代码可以这样写:importrandomimportstringletter=random.choice(s
分类:
编程语言 时间:
2020-12-08 12:01:30
阅读次数:
5
一日一技:在Python中像字典一样持久化数据摄影:产品经理买单:kingname我们知道,如果我们在Python中想把一段数据持久化到硬盘上,最简单的办法就是写文件:withopen(‘data.txt‘,‘w‘,encoding=‘utf-8‘)asf:f.write(‘username:1234567\n‘)f.write(‘password:9876543\n‘)但这样做有一个弊端,就是在
分类:
编程语言 时间:
2020-12-08 12:00:14
阅读次数:
6
一日一技:Python下面最简单的单例模式写法摄影:产品经理买单:kingname二十几种设计模式中,单例模式是最简单最常用的一种。在其他语言里面实现单例模式要写不少代码,但是在Python里面,有一种非常简单的单例模式写法。为了演示这种简单的写法,我们首先创建一个文件,DBUtil.py文件,用来模拟数据库操作类。这个文件里面的代码如下:classDBUtil:def__init__(self)
分类:
编程语言 时间:
2020-12-08 11:59:58
阅读次数:
5
温馨提示:本文基于Kafka2.2.1版本。本文主要是以源码的手段一步一步探究消息发送流程,如果对源码不感兴趣,可以直接跳到文末查看消息发送流程图与消息发送本地缓存存储结构图。从上文初识KafkaProducer生产者,可以通过KafkaProducer的send方法发送消息,send方法的声明如下:Future<RecordMetadata>send(ProducerRecord&l
分类:
其他好文 时间:
2020-12-08 11:59:45
阅读次数:
3
一日一技:一个生成器如何当两个用?摄影:产品经理买单:kingname我们知道,Python里面的生成器只能被消费一次,例如下面的代码:defname_generator():fornamein[‘产品经理‘,‘kingname‘]:yieldnamedefsay_hello(g):print(‘hello函数开始运行‘)fornameing:print(‘hello‘,name)print(‘h
分类:
其他好文 时间:
2020-12-08 11:58:59
阅读次数:
3