当前位置: 首页 > 科技观察

Java和Python思维方式的区别

时间:2023-03-19 00:07:48 科技观察

本文是代码·知识星球上闻所未闻的开发经验总结和问题解答。一、开发经历语言决定思维方式刚开始工作的时候,其实我非常讨厌Java。因为太累赘了,像个东拉西扯的老奶奶。不过后来因为工作原因被迫写了一年Java,倒也没有那么讨厌。我们常说语言决定思维方式。Java和Python其实是两种不同的思维方式。在用Python写代码的时候,我的思路是从下到上,从低到高,实现小的组件,然后组合成整体的功能。但是Java是先定义接口,再实现接口。这种思路让我写代码的时候先整体后部分,从高到低,从上到下,把一个功能拆成小块。另外,我刚开始写Python的时候,喜欢用字典来存储各种数据。但是我是从Java学了bean的思想,用类来存储数据。这种方法大大提高了我的Python代码的可读性和可维护性。我们在使用Python开发的时候,有时候你要反复告诉组员不能乱用lambda函数,不能把不同类型的数据赋值给一个变量,不要把所有的数据都一个一个放到字典里一。过了两天,他们可能还是违反了,但是Java可以在语法层面阻止这种情况的发生。二、问题解答1南哥,能不能详细说说,classes存储数据吗?LovelyBeans——用Beans思想让Python代码更易维护2016年,python还没有内置模块dataclass。现在使用dataclass会更方便。2楠哥,请发一篇关于https证书的科普文章。比如:证书是做什么用的,存在于什么地方,如何验证...又比如:fildder怎么也有自己的证书呢?虽然百度可以做这些事情,但是原理不是很清楚。每日一技能:HTTPS证书与中间人攻击原则3问题:知乎还有没有办法爬取只有会员才能完整阅读帖子内容?目前知乎会员可以全文阅读的帖子只能在app内阅读,网页小程序还不行。Airtest现在不显示答案的内容应用中没有网络用于fd抓取(手机自带的浏览器可以上网排除fd设置的问题)。爬虫只能爬到人眼能看到的内容。如果服务器不返回全文,爬虫自然爬不出来。41s1000并发问题,之前用多线程等不能满足要求,发现问题。之前,我使用集合中的双端队列作为队列。今天改成队列,并发一下子到了1000+..但是队列底层是为什么用deque的时候差别这么大?谁告诉你队列最底层是deque?deque的底层是一个双向链表。队列不是。5问:南哥,有没有办法抓取微信小程序接口getuserinfo返回的数据?是的。可以使用mitmproxy监控手机的http请求。拦截该接口的返回信息。具体方法在我的爬虫书里有提到。大家可以在微信读书搜索我的名字,就可以找到我的书,绿皮的那本。6转问题5,但是这个没有绕过安卓微信的sslpining,能抓取到数据吗?有没有办法抓取电脑微信?用ios7比较方便请教问题:南哥,requests的r.raw和r.content有什么区别,获取的数据都是bytes类型的?官网原文:在极少数情况下,您希望从服务器获取原始套接字响应,您可以访问r.raw。如果你想这样做,确保你在你的初始请求中设置了stream=True..raw是套接字返回的。完全没有修改。并且.content被修改和转码。如果网站返回gzip或deflate的内容,.content将自动解锁。8我有个问题想请教:我想监控一个git项目。当创建git项目的新分支或提交指定分支时,会自动触发持续集成任务。这个需求,我应该用什么方法来实现呢?如果您使用的是GitHub,则可以使用GitHub操作。如果你用gitlab,它有个东西叫webhook,可以让你填一个URL,每次提交都会调用一次这个URL。代码中,eve是定义在类外的全局变量,self.event可以看作是类内部实例方法的局部变量。为什么这两个变量是同一个对象?我是带参数传入的,代码第17行