Python 水平该怎么精进?

2020-12-15 16:10:44 +08:00
 Kikomore
Python 写了也快一二年了,但是还是在比较基础的层次上。

我的水平理解:

实现装饰器,上下文管理器,能用一些第三方库完成一些需求。

感觉很多地方需要提升,但是没有什么比较好的方向,望大哥们指点一二。

本人是测开方向,Java 同样也需要学习,所以时常会学这学那的,精力不集中,学的也比较杂。
3850 次点击
所在节点    Python
24 条回复
FreeEx
2020-12-15 16:19:36 +08:00
只学习语法的使用是不足的,需要了解操作系统和网络。
例如测试开发是否需要经常调用接口? Http 协议是否了解? http 代理的原理? socks5 代理原理?
接口测试是否需要做压力测试?如何在更短的时间内发送更多的请求?多线程 or 多进程 or 协程?如果一台操作系统的并发数量已经到达了上限能否使用多台操作系统来一起下发接口测试任务?
建议根据自身的业务需求来扩展学习。
AllRightReserve
2020-12-15 16:19:45 +08:00
看看第三方库的源代码,你能写成那样就算很精进了。
111111111111
2020-12-15 16:20:36 +08:00
把标准库过一遍,至少把目录看一看,会很有收获

装饰器什么的,算是技巧吧,有帮助但不是非常重要
Vegetable
2020-12-15 16:22:32 +08:00
我不是很了解测试方向,不过我个人体会,不建议在语言上追求精进。

能否不开浏览器徒手实现一个装饰器,还是使用 wrapt,是徒手撸 class 还是用 contexlib,其实并不是真的关键。

使用编程语言的确有一个及格线吧,达到及格线之后就应该脱离语言思考问题了。

比如设计模式这种东西,也许不全适合 python,但是他能让你对编程这件事情产生很多新的理解,写出来的代码也会有一些变化。
bnm965321
2020-12-15 16:23:17 +08:00
fluent python 。看完这本书会提高很多
subpo
2020-12-15 16:24:15 +08:00
python 本身没啥好提升的吧,大家都是因为 python 简单才慢慢开始用起来的吧
Kikomore
2020-12-15 17:29:50 +08:00
@FreeEx 感谢建议。
业务层面的话主要是写一下测试框架之类的,想去实现一些效果往往实现不了,这是我比较头疼的地方。比如我想实现一个测试用例并发执行的功能,除了用 threading,想不到别的更优雅的解决方式
Kikomore
2020-12-15 17:30:29 +08:00
@AllRightReserve
源代码只能看的懂一些英文和字面的东西,深层的往往就看不懂了
Kikomore
2020-12-15 17:31:09 +08:00
@111111111111 有想过读标准库的源码,但是觉得会比较枯燥,不一定能坚持下去
Kikomore
2020-12-15 17:35:06 +08:00
@Vegetable 感谢回复。
我觉得你说的可能就是我追求的一个方向,我可能自己不确定。看到 Python 有很多优雅的写法,我也会乐意把他应用到我的项目中去。

语言上的精进的话我觉得我还是需要的,感觉还是个半吊子,根据网上的教程写了一遍,面试时同样的笔试题反而做不出来。

对自身实力的估算错误应该是比较严重的问题。
Kikomore
2020-12-15 17:35:42 +08:00
@bnm965321
这本书确实不错,但是有点机器翻译的感觉,有的地方读的会感觉到很生涩
d873139022
2020-12-15 17:36:51 +08:00
目前测开半年,已经想转前端了。诶,对标开发工资,还是有差距
levelworm
2020-12-15 18:28:51 +08:00
@Kikomore 直接上英文吧
levelworm
2020-12-15 18:29:21 +08:00
我觉得最终还是大学的进阶课程。
Kikomore
2020-12-15 18:43:23 +08:00
@d873139022
一入前端深似海啊

我也没这个勇气转
Lemeng
2020-12-15 20:42:19 +08:00
买高阶的课程,腾讯,网易的视频。估计有点用
jones2000
2020-12-16 01:00:01 +08:00
语言什么的都不重要,工具而已。 就以测试为例, 你测试一个模块, 你需要把所有的边界,分支都测试到吧,起码你的测试代码覆盖率要 95%以上吧, 这就要看你测试用例如何写完整了, 这个跟编程完全没什么关系, 有了完整的测试用例文档, 你才能开始写自动化测试吧, 这个过程就是一个体力活了没什么技术含量了。测试其实是很庞大的工作,刚才我说的只是一部分。 好的测试没有 3,4 年经验积累是,根本搞不定的。
lynn0977
2020-12-16 10:03:27 +08:00
@jones2000 你的回答跟楼主问的不是问题不是一回事啊,不管测试技能多重要,他现在问的是编程技能,而非测试技能。测试开发里面编程能力可能不是最重要,不代表不重要,还是看需求。
skinny
2020-12-16 10:40:27 +08:00
造轮子,或解决实际需求。我的很多知识点就是造轮子时学会的,比如造 ORM 学会了很多元编程相关和以前从没用过的描述符。不要管造的好不好,能不能造完,你尝试的过程就会了解和学会很多“高级技能”。
BuffDog
2020-12-16 15:14:42 +08:00
语言只是工具,尝试定一个目标,完成它
重要是解决问题的思路,也可以称为手段,怎么解决这些问题是需要结合计算机知识的
假如你能用 Python 写一个抢购的脚本,那么就算换成别的语言,你也能知道该怎么去实现。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/735703

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX