前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java和Python思维方式的不同之处

Java和Python思维方式的不同之处

作者头像
青南
发布2021-11-19 11:36:09
6890
发布2021-11-19 11:36:09
举报
文章被收录于专栏:未闻Code未闻Code

本文是对未闻Code·知识星球上的开发经验以及问题解答的总结。

一、开发经验

语言决定思维方式

我刚刚开始工作的时候,其实特别讨厌Java。因为它太繁琐,就像一个絮絮叨叨的老奶奶。但后来因为工作原因强行写了一年的Java,反而不那么讨厌它了。

我们常说语言决定思维方式,Java和Python其实是两种不同的思维方式。用Python写代码的时候,我思考的方式是从下到上,从低到高,实现一个个小组件,再组合成整体功能。但是Java先定义接口再实现接口,这种思维方式让我写代码的时候先整体再局部,从高到低,从上到下,把一个功能拆解成一个个小部分。

另外,一开始我写Python,喜欢用字典来存放各种数据。但是我从Java里面学到了bean的思想,用类来储存数据,这个方法让我的Python代码可读性,可维护性大大提高了。

当我们用Python开发,有时候你要反复跟组员说不能乱用lambda函数,不能一个变量赋值不同类型的数据,不要什么数据都往字典堆一层套一层,过两天他们可能还是要违反,但Java从语法层面就能防止这种事情发生。

二、问题解答

1

南哥,可以详细说一下,类存储数据吗?

点击空白处查看答案

可爱的豆子——使用Beans思想让Python代码更易维护 这是我2016年的一篇文章,记住Python变量类型的三种方式,2016年的时候,python还么有dataclass这个内置模块。现在用dataclass会更方便。

2

南哥 ,出一篇https证书科普文章吧。比如:证书是干啥的,存在哪里了,怎么验证的…再比如:怎么fildder也有自己的证书呢?这些玩意百度着虽能搞 原理并不很清楚

点击空白处查看答案

一日一技:HTTPS 证书和中间人攻击的原理

3

提问:目前还有办法爬知乎仅会员可完整阅读帖子内容吗?目前知乎会员可完整阅读的帖子只能在 app 中可读web 小程序都不行,airtest 现在不显示回答的内容,fd 抓包在 app 内无网络 (手机自带的浏览器可以访问网络排除了fd设置问题)

点击空白处查看答案

爬虫只能爬到人眼能看到的内容。如果服务器不返回全文,爬虫自然爬不到。

4

1s1000并发的问题,之前用多线程等都达不到要求,找到了问题所在,之前一直用的是collection 中的deque作为队列,今天换成了queue 并发一下子到了1000+..但queue底层是用了deque 为啥还会差别那么大?

点击空白处查看答案

谁告诉你queue的底层是deque?

deque底层是双向链表。queue不是。

5

提问:南哥,有办法抓去到微信小程序接口getuserinfo返回的数据吗?

点击空白处查看答案

有。你可以用mitmproxy监控手机的http请求。拦截这个接口的返回信息。我的爬虫书上面讲到了具体的方法,可以在微信读书上面搜索我的名字就能找到我的书,绿皮那本。

6

接问题5,可是这样不绕过安卓微信的sslpining,能抓到数据吗?有没有办法电脑微信抓取呢?这样方便一点

点击空白处查看答案

用ios

7

提问:南哥,requests的 r.raw和r.content有什么大区别,获取的数据都属于bytes类型呀?

点击空白处查看答案

官网原文:In the rare case that you’d like to get the raw socket response from the server, you can access r.raw. If you want to do this, make sure you set stream=True in your initial request.

.raw是socket返回的内容。完全没有经过修改。而.content是经过修改和转码的。如果网站返回的是gzip或者deflate的内容,.content会自动解开

8

请教一个问题:想监控一个git工程,当git工程新建分支,或者指定分支有提交时,自动触发一个持续集成任务,这个需求,我应该用什么方法实现呢?

点击空白处查看答案

如果你用的是GitHub,可以通过GitHub action。如果你用的gitlab,它有一个东西叫做webhook,让你填写一个网址,每次提交会调用一次这个网址

9

提问:号内文章多线程事件监控一日一技:Python多线程的事件监控文章示例代码中eve是类外定义的全局变量,self.event可以算类内部实例方法的局部变量。两个变量为何是同一个对象呢?

点击空白处查看答案

我用参数传进去了,代码第17行

END

一二线大厂在职员工

十多年码龄的编程老鸟

国内外高校在读学生

中小学刚刚入门的新人

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未闻Code 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档