V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tangshuier
V2EX  ›  程序员

文科生如何深入学习 Python

  •  
  •   tangshuier · 146 天前 · 2347 次点击
    这是一个创建于 146 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在先前的帖子中最终选择了 Python 这个语言进行学习。并且在这段时间里,看了不少基础性的资料,目前基础性的东西已经掌握了,而且根据我接触到的 AI 相关领域,修改了claude 官方的元提示词代码,做出了基于 openai 模块的版本。在这叠个甲,不是广告,只是作为我当前学习成果的一个总结。希望大佬别喷我。

    现在我遇到的问题是:

    第一,我对于学习完基础部分之后的方向不够明确,准确地说是我的实习与 Python 结合不够紧。

    暑假期间我找到了一份与 AI 相关的实习,主要任务是探索一些 AI 知识库产品,做一些产品的体验分享,为金融公司内部的知识库作业平台提供一些参考资料。我的实际工作其实并不怎么涉及到代码,平时只需要下载开源项目,然后部署运行体验就可以了。我的本意是想通过这项工作,能够深入学习一些 AI 相关的开发经验,结果发现我根本就不需要上手开发,甚至连编程语言都没用得到,我好像在做类似产品经理相关的工作。而且我对于 Python 到底有多大需求,我自己也不清楚。

    第二,由于依赖 AI ,我很难判断我对于 Python 的掌握程度。

    解释这个问题需要说我的项目动机,动机很简单,claude 官方的代码使用的是 claude 这个包,不兼容第三方 api ,因此我修改成了 Openai 的格式。

    我在修改 claude 官方代码的时候,就已经用到 AI 对代码进行解读与分析。同时我通过 Openai 的例程,加上 AI 解读,最后修改出了成品。对我来说,我的“开发”任务就是面对一个实际需要,用自然语言扔给 AI ,让 AI 给出样例代码,然后反复迭代优化,最终作出成品。我不知道我是在用 Python 解决实际问题,还是在用 AI 解决实际问题。我真的掌握 Python 了吗?

    第三,我目前只会“跑”别人的代码,然后在别人的基础上“改”,没有我自己原创性的东西。

    这一点其实也是我在第一段“叠甲”的原因。我的代码是“改”出来的,不是我原创的。我发出这个项目的时候,我甚至觉得我这个项目是不是太低级了不够看。

    我接下来应该学习 Python 的什么领域,我该怎么判断我是否真正掌握了 Python ,我该怎么做一些原创性的东西呢?

    20 条回复    2024-08-02 17:37:16 +08:00
    piecezzz
        1
    piecezzz  
       146 天前
    说那么多,搞 demo 也好,实习也好,最终目的就是就业嘛,看你心水的招聘要求去对齐能力和技能树。
    yunv2
        2
    yunv2  
       146 天前
    学习什么东西,先要知道自己的目的是什么。

    看你描述的过程,使用 AI 优化代码,最后得到了想要的成果,说明这件事的目的已经达到。
    你做的已经非常不错,至于 python 掌握多少已经不重要了。

    在公司里,领导给你分配任务,只会关心这个任务你是否完成,不会关心你的过程。
    例如公司让你用 go 写一个程序,你只会 python ,难道你要把 go 的所有知识点全部掌握,才能写这个程序吗?
    还不是看看语法,试着写一写,报错,修改,报错,修改,直到完成。

    至于接下来学习 python 哪方面,比如对外提供一个稳定的服务;写一个小游戏;处理一些数据。
    结果导向,根据要做的事,一点一点琢磨如何用 python 实现。

    原创性的东西不理解,什么是原创性?从来没有人做过?还是了解一个需求,自己通过代码实现,而不是通过 AI ?

    如果指的是从来没人做过,那建议你现在先别考虑这种事情。
    如果是自己通过代码实现需求,其实就是多写代码,多看代码,熟能生巧,见得多了,自己也就能写出来了。
    waylife
        3
    waylife  
       146 天前
    提供一个思路,去做面试题,如果能做出来大部分的 Python 面试题,毕竟大部分的面试题都是这个程序核心的点,那掌握程度也高了很多。
    tangshuier
        4
    tangshuier  
    OP
       146 天前
    @piecezzz 我目前对于我自己的职业规划也是模糊的,至于什么能力和技能树就更不清楚了。因此我对于 Python 的态度是,它有用,具体在我身上有什么用,很难说。我原本以为我在公司的实习能用到 Python ,结果发现,我目前只用它改了个提示词生成工具,这个工具实际上脱离公司的实习环境,我也有这个需求,只不过恰巧在公司我有精力研究到了它而已。说到底,我能用 Python 做什么,我自己也不清楚。
    tangshuier
        5
    tangshuier  
    OP
       146 天前
    @yunv2 先说“不关心过程”这个问题,我倒觉得例子举的不太好,毕竟公司让你用什么编程语言写,一定是基于某种需要才这么说的,例如维护员工的技术栈,语言本身的特点等等。再说“原创性”的理解,其实我的理解更倾向于后者,也就是脱离 AI 自己通过代码实现,这点我做不到。对于 AI 的依赖,以至于我想学习“爬虫”这个领域,我的第一反应就是直接问 AI 要爬虫例程,然后反复迭代。好像对我来说,只要把 AI 与提示词用好了,我的任务就完成了一样。
    AwenWalker
        6
    AwenWalker  
       146 天前
    其实掌握了基础语法,然后再掌握一些常用库用法,就能做出一些东西了,反正不是成为 python 程序员要做完整的项目,能写出满足自己需求的脚本就行了,像爬虫,文本处理,excel 处理还有自动化脚本,能满足自己需求就好。
    至于感觉学不到东西,其实 python 的库是高度封装过的,你掌握了调各种第三方库的用法都是别人封装好的,也没有什么标准,会调用就行。
    真正想要深入肯定要掌握基础库用法,还有实现一些算法,看开源的库的源码,还有掌握各种技巧 which 官方文档上就有很多。
    samIIsun
        7
    samIIsun  
       146 天前
    写在最前:跨界转码开发,需要有内在的驱动力(兴趣)
    看到你的贴,让我想起了自己 26 、7 岁的迷茫和过往,文科、贸易本科、外贸从业、开发(python java c#)、运维(现在)。
    ztm0929
        8
    ztm0929  
       146 天前
    问题一,你的实习岗位名称叫什么?赞同楼上老哥说的,在工作中达成了目的就足够了。至于你说的体验具体的开发工作,老实说,文科专业大概率没有公司会让你去练。

    问题二,从你的描述来看,你大概率还没有掌握 Python ,不过也不必急,完成工作是第一要务,业余时间去用 Python 玩点自己喜欢的呗,兴趣才是最好的老师。

    问题三,完全不是问题,Python 最大的魅力就是灵活的模块导入。。。你多上 GitHub 玩玩,会发现几乎没有可以让你原创的领域🤣(当然也看你自己如何定义“原创”)跟写论文有点相似,导师总会 push 要搞点新东西,但学生们短短几年能整出什么新观点?(甚至大都是最后一年才开始稀里糊涂赶进度)

    综上,放宽心,照常实习,照常学习,如果非常想要考验自己,那就去刷题和 GitHub 上深度参与各种你感兴趣的 Python 项目(翻译、Issue 、PR 等等)

    PS ,你还得想清楚你是对生成式 AI 感兴趣还是对 Python 感兴趣,后者的概念比前者大得多
    tangshuier
        9
    tangshuier  
    OP
       146 天前   ❤️ 1
    @ztm0929

    关于我的实习岗位名称:金融实验室 AI 实习生,平日的工作任务就是我在开头写的,跑一跑 AI 产品,帮公司解决点内部需求。

    至于我对生成式 AI 感兴趣还是对 Python 感兴趣,这样说吧,把他俩放在一起比较,我对于生成式 AI 更感兴趣一些。
    ztm0929
        10
    ztm0929  
       146 天前 via iPhone   ❤️ 1
    @tangshuier 那你可以考虑 AI 工程师的发展路径了,找找看 Microsoft Azure 、Google 、AWS 这些大厂的认证和培训,基本都有免费的文档可以看。

    当然 Python 还要继续学,但不是像后端开发或者全栈开发那样学了,侧重点不太一样

    https://roadmap.sh/ai-data-scientist
    https://learn.microsoft.com/zh-cn/training/paths/create-machine-learn-models/
    tangshuier
        11
    tangshuier  
    OP
       146 天前
    @ztm0929 可能我表述有问题,我对于生成式 AI 的兴趣仅仅停留在我做出的 AI 作品上,而不是深入了解 AI 怎么训练、怎么微调之类的。另外,我一个文科生学习机器学习,是不是有点碰瓷人工智能专业的同学了😂
    ztm0929
        12
    ztm0929  
       146 天前 via iPhone
    @tangshuier 哈哈打扰了😂不过依然可以看看那些认证课程,如果只是想学如何调接口进行部署,还是有用的(我自己也在学),不过这种工作岗位缺口的话基本没有(最接近的估计还是产品经理)
    victorkk
        13
    victorkk  
       146 天前
    同为文科生,目前我用 Python 就主要是用 pandas ,简单的分析一下数据,偶尔用 matpilot 画个图啥的。想写一些在 github 看到的难一些的 python 代码,但实在是写不出来。目前我不会的就用 chatgpt ,感觉别人轻松写出来的代码,我得反复问 gpt ,反复去 Jupyter Notebook 实验才成功。

    虽然太新手,而且很难进步,但每次看到自己的代码能成功运行,能用 pandas 成功分析出一些数据,还挺有成就感的。
    126ium
        14
    126ium  
       146 天前 via Android   ❤️ 1
    文科生真别来凑热闹了,咱们这行不是公交车,谁都能上。当个兴趣爱好还行,想吃这碗饭还是算了吧。少听什么 xx 转码的案例,咱工作中替那帮逗比擦的屁股已经够多的了,放过我们吧
    deplives
        15
    deplives  
       146 天前   ❤️ 2
    同意楼上,文科生就别来凑热闹了,真想深入学习,先去学学数据结构,操作系统。光学个语言有啥用。
    404www
        16
    404www  
       146 天前
    金额不算太文科吧,该学的数学好像都学,我们学校汉语言都学 C 语言(运气好可以选到 python/office)
    tangshuier
        17
    tangshuier  
    OP
       146 天前
    @404www

    我是学公共管理专业的,能够进金融公司实习的原因有二,一是因为我的论文涉及到 AI 与电子政务的结合,所以需要去涉及 AI 的部门了解一些前沿技术。二是公司一直在展开校企合作,我直接联系到了校企合作的负责人,也向他表明了我的需要,我就这么进入到金融公司的 AI 研究院实习了。

    另外,我对于高等数学和线性代数的理解只停留在极为简单的概念和原理,让我上手去用很难。此外,我在校期间并没有学过高等数学和线性代数,目前对于高等数学和线性代数的了解纯粹来自自学。Python 语言也是如此。
    126ium
        18
    126ium  
       146 天前 via Android
    @404www 文科数学和工程数学差异巨大,教学侧重都不同,难度差很多,不是期末考考个 90 分就行的。且数学也仅是本行业的一部分,更多靠天赋和悟性,以及扎实的基础知识。文科生有自己发光发热的地方,真别来嚯嚯我们了,不要用自己的爱好(如果有,很多人只是看上钱了)挑战别人的饭碗
    CodingNaux
        19
    CodingNaux  
       145 天前
    你的问题无法回答,但给点信心:
    1. 跨界转码是可以的,成不成看自己的付出,还没毕业可以实习
    2. 对于绝大数人编程不需要很强的数据结构操作系统相关知识
    3. 对于绝大数人编程不需要很强的高等数学线性代数相关知识
    4. 担心被跨界嚯嚯,挑战饭碗,额,他活该
    5. 研究生起点可以,至少英语可以的
    6. 千万别报培训班;不到万不得,千万别入前端
    CodingNaux
        20
    CodingNaux  
       145 天前
    世界是个草台班子,喜欢什么干就完事了
    大多数编程码农都很一般(我就是其中之一)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5468 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 03:39 · PVG 11:39 · LAX 19:39 · JFK 22:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.