8

高手问答第 265 期 —— 学 Python,如何学更高效?

 3 years ago
source link: https://www.oschina.net/question/4252687_2323484
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

高手问答第 265 期 —— 学 Python,如何学更高效?

白开水不加糖 发布于 昨天 10:09
阅读 828

Python 这么火,Python 办公自动化是吸引职场人学习的动力,你们都用 Python 实现了哪些办公自动化?都用到了那些好玩有趣的库?效果怎么样?你们认为什么样的工作适合用 Python 来实现办公自动化?欢迎来一起探讨。

OSCHINA 本期高手问答(8 月 9 日- 8 月 15 日)我们请来了何老师 @爱编程的金融人  和大家一起探讨关于 Python与办公自动化领域相关的问题:

  • Python处理Excel、Word、PPT
  • Python文件管理
  • Python爬虫
  • Python处理PDF

可讨论的问题包括但不限于以上内容,其他相关问题也欢迎大家积极提问!

嘉宾介绍:

何华平,金融从业者&技术爱好者,著有《一本书看透信贷》(机械工业出版社2017年,重印十余次,读者近十万),《学Python不加班》;翻译多部金融专业著作,也是金融核心期刊审稿专家。

知乎账号:https://www.zhihu.com/people/H-Howard

为了鼓励踊跃提问,《人民邮电出版社》会在问答结束后从提问者中抽取 5 名幸运用户赠予 《学Python不加班 》 一书。

购买链接:https://item.jd.com/12873429.html

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就相关问题向 @爱编程的金融人 提问,直接回帖提问即可。

爱编程的金融人
昨天 10:27

声明一下,我不是编程高手哈,我只是在2017年写过《一本书看透信贷》。有赖于读者支持,销量还可以。

我在和读者交流发现,许多读者感到“大道理都懂、无法落地”,眼高手低,工作效率底下,特别是一线信贷、风险人员加班做表写报告。针对这一迫在眉睫的问题,我从2018年开始搜集场景题材,编著了《学Python不加班》,希望能帮助一线人员提升工作效率,“复杂问题简单化,简单问题程序化、自动化”,做到切切实实的减负。

当然,这本书业适合其他行业的读者,特别是需要处理大量文案工作的从业者,重点是用Python来解决日常繁琐的工作。

欢迎各位高手分享自己提升办公效率的技巧,不限于Python哈~~

小黄鸭的思想
昨天 11:13

@爱编程的金融人    Python 有很多依赖PY包,各种PY包怎么记忆各种包的作用?有什么好的方法吗?还是用到什么再去查?怎么提高效率?

柏氏可乐
昨天 11:24

@爱编程的金融人  Pygame 和 Python 3.9 似乎不兼容,怎么安装都无法在项目中成功导入模块,怎么解决这么问题

爱编程的金融人
昨天 14:24

引用来自“小黄鸭的思想”的评论

@爱编程的金融人    Python 有很多依赖PY包,各种PY包怎么记忆各种包的作用?有什么好的方法吗?还是用到什么再去查?怎么提高效率?

谈谈我自己使用的经验吧。

记不住,也不用记。记得二十年前自己刚开始学编程的时候,老师跟我们说,编程的东西你们不可能都记下来的,用到的时候知道去哪里查就行了。本来我们为了提升工作效率学Python,如果Python的学习本身成为一种负担,那就没有必要了。
1.标准库,由于是官方提供的,功能比较成熟,建议读者尽可能多的掌握。比如os,这是文件文件夹操作常用的,基本上每次都要调用;比如re,正则表达式,处理文本要用。
标准库,直接查看官网就可以了,地址https://docs.python.org/zh-cn/3/library/
2.第三方库。基本的常用库要了解和熟练掌握,比如数据分析pandas,爬虫requests,作图matplotlib、pyecharts。处理Excel本书介绍了很多第三方库,这些和Excel的格式息息相关,不过我最常用的还是pandas。处理word和ppt,我都常用python-docx和pptx。实在要处理老版本的doc和ppt文件,用win32com,当然这个库用起来比较慢,但是功能是最齐全的。

Python有点麻烦就是版本多,有些第三方库开发者用的版本和用户装的版本不同,所以读者电脑上,有些第三方库不一定能用。这就需要在解决实际问题时,不断试错,或者去打开源代码略作修改。
Python 资源大全中文版 https://github.com/tingtinglu/awesome-python-cn
3.库这么多,如何记忆?
我建议,针对任务来学习库,而不是针对库去找任务。毕竟,日常工作中的任务是有限的。先把任务解决了,再优化。当然我也能经常发现一些更好的库,更好地解决原有的任务。之前要写一大段代码,用这个库可能就一行代码,那么下次就用它就好了。

任何一门语言,长期不用都会遗忘的。比如POI和NPOI,是自动化处理office的很好的方案,在舍弃VBA之后,很长一段时间我都是用它们,但是我已经很久不用Java\C#了,很多就忘了。
希望没有误导您。

爱编程的金融人
昨天 14:52

引用来自“Li_Peng”的评论

@爱编程的金融人 请教一个问题,python2.x和3.x差别比较大,很多老的软件和库是基于2.x,现在做等保之类的安全检查,提示这些这软件或库使用的python的版本低,存在安全问题,但是也不可能自己手动把python 2.x的代码都改成3.x的,有没有其他的解决方案可以处理类似问题呢?

1.第三方库。大多数第三方库都正在努力地相容Python3版本,选择安装第三方库的时候要选择正确的版本,比如:

https://www.lfd.uci.edu/~gohlke/pythonlibs/这里面有很多安装包
python_editor‑1.0.4‑py2‑none‑any.whl
python_docx‑0.8.10‑py2.py3‑none‑any.whl
python_dateutil‑2.8.2‑py3‑none‑any.whl
要选择py3,但是,确实有很多第三方库长期没有维护了,只支持py2。Python3在设计的时候没有考虑向下相容。许多针对早期Python2设计的库都无法在Python3上正常执行。 
在没法修改第三方库源代码的情况下,为了用这个库,不得不同时安装python2和python3,但要注意兼容的问题。
2.老代码。有个工具:https://docs.python.org/3/library/2to3.html

就我目前使用情况来说,主要涉及到Python 2 的 print 已经被 Python 3中的print() 函数取代,我直接修改相应的代码。

看看其他朋友有没有好办法解决呢?

爱编程的金融人
昨天 15:09

引用来自“柏氏可乐”的评论

@爱编程的金融人  Pygame 和 Python 3.9 似乎不兼容,怎么安装都无法在项目中成功导入模块,怎么解决这么问题

不同版本的python必须使用指定版本的Visual C++
https://wiki.python.org/moin/WindowsCompilers#Which_Microsoft_Visual_C.2B-.2B-_compiler_to_use_with_a_specific_Python_version_.3F

另外,Python 3.9版本较新,用下面的语句安装:
python3 -m pip install pygame --pre --user

开源中国首席罗纳尔多
昨天 15:12

@爱编程的金融人 您好,请问学习Python有什么好的路线和教程?

爱编程的金融人
昨天 16:41

引用来自“开源中国首席罗纳尔多”的评论

@爱编程的金融人 您好,请问学习Python有什么好的路线和教程?

1.从语言本身的学习路线
基础入门:
官方的入门文档
或者市面上任意找一本通俗的教程都可以
进阶教程:
Python Cookbook、Python高级编程、Python核心编程、改善python程序的91个建议、流畅的Python
高级教程:
Python源码剖析
C/C++相关教程
2.计算机领域知识
有时候感到学习困难,是因为没有深厚的计算机基础知识。这时候就要相应的补课:
操作系统、数据结构和算法、网络协议、前端后端数据库....
3.工作场景,解决问题的思路
日常办公应用,我这本书归到这里
更复杂的场景:智能风控、图像识别、区块链、人工智能、物联网.....

贺小皮蛋
昨天 17:04

老师 原来是跨界的  厉害厉害


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK