V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
kevinguoCN
V2EX  ›  Python

业余爱好感觉学 Python 学的很迷茫

  •  
  •   kevinguoCN ·
    kevinguocn · 2020-02-12 00:42:13 +08:00 · 8554 次点击
    这是一个创建于 1775 天前的主题,其中的信息可能已经有所发展或是发生改变。

    感觉现在 python 学了 web,学了 AI,学了数据分析。 Django,TensorFlow,Numpy matplotlib 这些库都用过,不是科班出身 对着网上的例子敲也能敲出来,遇到小问题也能解决。 但是学到现在,越学越迷茫。可能是没有把 python 运用到生活中,可能我的专业跟编程确实关系不是很大。所以现在觉得没有什么好的点子去做。编程只能变成了一项技术 而没有成为我解决问题的能力。

    60 条回复    2020-02-21 22:56:58 +08:00
    CallMeReznov
        1
    CallMeReznov  
       2020-02-12 00:45:24 +08:00   ❤️ 11
    考了驾照,你得去当司机才有钱赚.
    noqwerty
        2
    noqwerty  
       2020-02-12 00:54:08 +08:00 via Android   ❤️ 7
    说实话没有实际问题要解决能学下来这么多你已经很厉害了
    cmdOptionKana
        3
    cmdOptionKana  
       2020-02-12 00:58:21 +08:00   ❤️ 2
    其实吧,大多数人日常生活中都用不到编程技术,实在有需要,多数情况下也可以通过直接下载别人做好的 app 来解决。

    如果你不打算以此为职业,如果你对编程还是有兴趣,那么,你现在这个阶段可以开始尝试做一些小作品了。

    至于做什么小作品,多想想,多找找,这个思考过程也很重要。就像一个学生,就算已经学了组词造句、写作文,但每次作文下笔前思考要写什么内容也很重要。
    szx300
        4
    szx300  
       2020-02-12 00:59:33 +08:00 via iPhone   ❤️ 1
    怎么学的?我也准备自学 python !
    WinG
        5
    WinG  
       2020-02-12 04:04:29 +08:00
    最近 pandas,sklearn 玩的不亦乐乎,试试让生活中的每一件事都与学到的东西发生联系,一定有好玩的发现,慢慢就找到“事”做了。
    robertredd
        6
    robertredd  
       2020-02-12 07:00:38 +08:00 via Android
    做个自己的项目?
    black11black
        7
    black11black  
       2020-02-12 07:16:34 +08:00
    严重赞同 2L
    crella
        8
    crella  
       2020-02-12 07:46:46 +08:00 via Android   ❤️ 1
    楼主不妨改进一下 octave,我觉得现在的 octave 还是太难用了。


    顺便求问有展开多项式的工具吗,比如-x(x-1)^2+3*(x^2-x+1)^3,这种多项式,完全展开,我想了一下,需要符号运算而自己没学过
    xmoiduts
        9
    xmoiduts  
       2020-02-12 08:59:56 +08:00 via Android
    @crella sympy 可以吗?
    yishidixia
        10
    yishidixia  
       2020-02-12 09:04:24 +08:00   ❤️ 1
    一切的技术都基于业务场景,脱离了业务场景谈技术就是刷流氓
    NonClockworkChen
        11
    NonClockworkChen  
       2020-02-12 09:09:13 +08:00
    有效的产品=编程+商业模式+产品需求。
    xingheng
        12
    xingheng  
       2020-02-12 09:17:58 +08:00
    写爬虫啊,把所有主流网站的数据爬一遍,这需求就来了,过程中不断重构,经验就有了
    helionzzz
        13
    helionzzz  
       2020-02-12 09:32:17 +08:00
    现在一般人 PY 的应用无非就是数据处理和爬虫,你看看能不能把某一样和你的需求联系起来
    noqwerty
        14
    noqwerty  
       2020-02-12 09:36:49 +08:00 via Android
    另外一个我能想到的需求是把一部分 R 里面 tidyverse 的函数迁到 pandas 上面
    justfortest
        15
    justfortest  
       2020-02-12 09:42:21 +08:00
    确实一般都没什么编程需求,当作业余爱好玩玩就好,也许你可以尝试用 python 控制一些硬件之类的,这样实用些。
    retanoj
        16
    retanoj  
       2020-02-12 09:44:52 +08:00
    说到底,还是得“找点事儿做”
    crella
        17
    crella  
       2020-02-12 10:52:31 +08:00 via Android
    所以问 sympy 怎么分解多项式,百度搜不到,必应搜 poly... expand python 也看不出来,直升机没油了
    siteshen
        18
    siteshen  
       2020-02-12 11:01:00 +08:00
    learnshare
        19
    learnshare  
       2020-02-12 11:03:29 +08:00
    1. 定一个小目标,然后边学边写
    2. 过半年再重写一下
    3. 重复前两步
    JerryCha
        20
    JerryCha  
       2020-02-12 11:08:27 +08:00
    建议把 leetcode 刷个遍,不然很容易失去目标与性质
    JerryCha
        21
    JerryCha  
       2020-02-12 11:08:46 +08:00
    *兴致
    freed
        22
    freed  
       2020-02-12 11:23:03 +08:00
    和我差不多,这种一般都是目标驱动..不是从事这个工作或者没有什么目标的话....

    丢一段时间就忘得差不多了..........
    chochox
        23
    chochox  
       2020-02-12 11:26:09 +08:00
    你得选一个你最喜欢做的,可以跟着开源项目一起做,把自己学的东西应用起来,慢慢越来越深入,你就可以创造更大的价值
    37Y37
        25
    37Y37  
       2020-02-12 11:33:21 +08:00   ❤️ 1
    确实要解决实际问题,看楼主这技能树已经点的很齐全了,想一些实际的例子去实现,解决一些实际问题,无论是对所学的东西,还是自身的成就感都很有帮助

    两个简单的小例子,都是我学习 python 的时候干过的

    第一个是当年投资的时候写的小工具,爬数据,简单分析,推送微信群、公众号这样,文章写的并不好,思路可以参考下: https://ops-coffee.cn/s/YhKyJ16yuI0bPpygKV_d1w

    另一个就是折腾博客,生成静态文件,自动上传 github,利用 github page 实现的现在的这个博客,跟很多现有的博客系统实现方式不一样,不断完善,满足自己需要: https://ops-coffee.cn/s/7g2wncQG1lIziOmtBxXwEw

    还有就是想了想自己的工作环境,写了一堆辅助的工具系统: https://ops-coffee.cn/devops

    其实仔细想想应该有很多地方可以用得到,最简单的如果你对记账感兴趣写个记账程序也行,或者把你感兴趣的内容写个爬虫爬取下来做个聚合站或者 app 小程序什么的都行,定一个小目标,动手做,都会有收获
    eq06
        26
    eq06  
       2020-02-12 11:52:10 +08:00
    没有把 python 运用到生活中 ,主要是你生活中没有把任何一件事情做到极致。
    wangyzj
        27
    wangyzj  
       2020-02-12 13:25:56 +08:00
    你还没刷过题吧
    给你一个新坑
    Hoshizora
        28
    Hoshizora  
       2020-02-12 13:51:33 +08:00 via Android
    写爬虫
    v2vTZ
        29
    v2vTZ  
       2020-02-12 14:21:38 +08:00 via iPhone
    没有需求,创造需求啊!
    zfish
        30
    zfish  
       2020-02-12 15:16:07 +08:00 via iPhone
    给自己定个目标,比如搭建一个独立博客以及尤其衍生出来的一系列需求都可以锻炼你开发技能的,比如博客的 push 推送,rss 转邮件,博客 api 开发之类
    PostMeridiem18
        31
    PostMeridiem18  
       2020-02-12 15:29:41 +08:00
    嗯...技多不压身?
    kevinguoCN
        32
    kevinguoCN  
    OP
       2020-02-12 16:05:32 +08:00
    @noqwerty 可能以前上中学的时候就对编程很感兴趣,觉得能写代码很酷。 但是上大学家里不同意报计算机,所以就搁置了。大学我所有的计算机课几乎满分,自己学了 php python,也自己折腾过网站。 但是现在感觉没什么更深入的需求了。
    kevinguoCN
        33
    kevinguoCN  
    OP
       2020-02-12 16:06:00 +08:00
    @robertredd 有个自己的博客 www.kevinguo.cn 感谢宣传。。
    crella
        34
    crella  
       2020-02-12 16:09:33 +08:00
    @siteshen
    @ipwx 还好刚学过泰勒展开式。想到一个办法,对给定函数不断赋值并求导,如果重复第几次的时候求导为 0,就说明这个函数最高具有几次方幂,然后按泰勒公式的思路去做,慢慢模拟各个幂的乘数项。
    SaltyLeo
        35
    SaltyLeo  
       2020-02-12 16:17:50 +08:00
    就是得有一个长远的目标才会有动力学习,这是我最近开始做的一个小项目: https://t.me/i_book_in,TGbot 基本上没有大的 bug 了,下一步就是重构 web 端。
    kevinguoCN
        36
    kevinguoCN  
    OP
       2020-02-12 16:18:04 +08:00
    @wangyzj 非计算机专业 没必要刷题吧。ahhh
    SaltyLeo
        37
    SaltyLeo  
       2020-02-12 16:18:23 +08:00
    ipwx
        38
    ipwx  
       2020-02-12 16:44:52 +08:00
    @crella 你这什么奇怪的思路。

    如果你都能数值求导了,说明你的符号计算系统很完善,为啥不直接把多项式展开化简。你说数值计算高次导数?摆脱这无差距大吧。。。还有,SymPy 里面展开叫做 expand,这不是随便查一下文档就知道的事情么。

    当然,一般用 WolframAlpha 它不香么,还要开 Python。

    https://docs.sympy.org/latest/tutorial/simplification.html#expand
    fengfisher3
        39
    fengfisher3  
       2020-02-12 17:19:39 +08:00
    举个例子,用 python 炒股?
    kevinguoCN
        40
    kevinguoCN  
    OP
       2020-02-12 17:34:49 +08:00
    @fengfisher3 量化投资? 最近在学金融的知识。但是这个对专业性要求比较高。
    SteveAlan
        41
    SteveAlan  
       2020-02-12 18:01:20 +08:00
    现在不是疫情吗。做点统计分析也不错,maybe~
    killeder
        42
    killeder  
       2020-02-12 18:41:37 +08:00
    cmdOptionKana
        43
    cmdOptionKana  
       2020-02-12 18:43:33 +08:00   ❤️ 1
    @kevinguoCN 楼主看一下这个我用 PyQT 做的密码管理器有没有兴趣 https://github.com/ahui2016/PyMima

    这个项目我已经停止开发,但是非常适合你拿来练手,你看看如果有兴趣请告诉我,我给你一些已经想好的 todo 和参考资料(比如云备份功能),你可以 fork 过去继续开发(采用 GPL 许可)。
    storypanda
        44
    storypanda  
       2020-02-12 19:35:43 +08:00
    我之前在广州找工作的时候做着新闻更新兼职,自学爬虫,最后想写 sympy,然后开发 Mac app,结果找工作焦虑,没最后完成,感兴趣可以看看我的博客 广漂日记和 Python 相关文章,欢迎交流。

    广漂日记: https://felixxiong.github.io/categories/%E5%9F%8E%E6%BC%82/%E5%B9%BF%E6%BC%82%E6%97%A5%E8%AE%B0/

    编程开发-python: https://felixxiong.github.io/categories/%E7%BC%96%E7%A8%8B%E5%BC%80%E5%8F%91/Python/
    ghui
        45
    ghui  
       2020-02-12 19:42:16 +08:00 via Android
    寻找需要解决的问题
    mmixxia
        46
    mmixxia  
       2020-02-12 19:45:56 +08:00
    楼上说的都挺对的
    hmxxmh
        47
    hmxxmh  
       2020-02-12 19:49:02 +08:00 via Android
    非常同意二楼
    fengfisher3
        48
    fengfisher3  
       2020-02-12 20:18:44 +08:00
    @kevinguoCN 反正不是主业,慢慢来嘛。
    kblexel
        49
    kblexel  
       2020-02-12 22:03:45 +08:00
    二楼说的不错,你已经很厉害了。。。作为业余爱好整体看到网上鼓吹学编程的言论(虽然一大部分下面都会有个广告链接),我研究了半天也没搞明白学会到底能解决我什么问题,所以一直没有坚持下来,每次心血来潮看了一两节课的视频就放弃了。 。。但我相信这种思维模式和多一个技能总是没有坏处的
    xuanwu
        50
    xuanwu  
       2020-02-12 22:20:47 +08:00
    多用中文命名变量吧。
    国内开源项目的不可持续性之我见: https://zhuanlan.zhihu.com/p/100182186
    对了,已经有了 python api 汉化项目: https://zhuanlan.zhihu.com/p/102811665
    cosven
        51
    cosven  
       2020-02-12 23:34:24 +08:00   ❤️ 1
    如果楼主是想练练手,感受一下编程语言在日常生活中的应用,欢迎加入 FeelUOwn 项目开发: https://github.com/feeluown/FeelUOwn

    简介一下:这是个音乐播放的项目,活了 5 年了,目前有几个友善小伙伴一起开发、交流。

    技术上使用 Python 3 + PyQt5,有很多有挑战的技术点,举几个例子

    简单的词法分析器: https://github.com/feeluown/FeelUOwn/blob/master/fuocore/protocol/lexer.py
    实现一个 asyncio.Protocol: https://github.com/feeluown/FeelUOwn/blob/master/fuocore/protocol/server_protocol.py
    实现一个 Python 描述器: https://github.com/feeluown/FeelUOwn/blob/master/fuocore/models.py#L80
    Python 元类的使用场景: https://github.com/feeluown/FeelUOwn/blob/master/fuocore/models.py#L97
    pyqt Signal/Slot 机制实现: https://github.com/feeluown/FeelUOwn/blob/master/fuocore/dispatch.py
    手写 thread based tcp server: https://github.com/feeluown/FeelUOwn/blob/master/fuocore/thread_tcp_server.py
    简单爬虫: https://github.com/feeluown/feeluown-netease/blob/master/fuo_netease/api.py

    欢迎加入 ~
    mouyase
        52
    mouyase  
       2020-02-13 09:26:28 +08:00 via Android
    没有需求,创造需求也要做
    raawaa
        53
    raawaa  
       2020-02-13 09:59:52 +08:00
    python 我也很迷茫,最迷茫的是,难道 python 至今没有一个方便一点的依赖包管理系统吗,比如像 npm 这样的。
    crella
        54
    crella  
       2020-02-13 12:03:58 +08:00
    @ipwx 额额,正在学高数,顺便了解一下怎么模拟一些数学运算过程也是挺好的。

    写了 200 行代码,结果还算可以。不会用符号计算,都是用加减乘除搞出来的,到处 eval

    比如我的代码中,

    SaryExpand.parse '(x**2-x+1)**3'

    # 理想结果是= x^6-3x^5+6x^4-7x^3+6x^2-3x+1,

    程序结果是= f(x) = 1.0 * x**6 - 3.0 * x**5 + 6.018 * x**4 - 7.054 * x**3 + 6.058 * x**2 - 3.036 * x + 1.01

    再比如

    SaryExpand.parse '-x*(x-1)**2+3*(x**2-x+1)**3'

    # 理想结果是= 3x^6-9x^5+18x^4-22x^3+20x^2-10x+3,

    程序结果是= f(x) = 3.0 * x**6 - 9.0 * x**5 + 18.054 * x**4 - 22.161 * x**3 + 20.174 * x**2 - 10.108 * x + 3.026

    写代码的过程感觉还是挺有意思的。可能有些强迫症吧,不想什么都靠工具来搞

    在代码里,增大迫近函数的定义域,同时减小散点横坐标 x 的步长,发现各个乘数的值越来越接近理想值。这也算是意外收获吧,毕竟我数学比较差。

    后面调整定义域和步长,得到

    f(x) = 3.0 * x**6 - 9.0 * x**5 + 18.006 * x**4 - 22.015 * x**3 + 20.011 * x**2 - 10.004 * x + 3.0
    shimmerh
        55
    shimmerh  
       2020-02-13 16:35:42 +08:00
    老哥,你程序是代替人工的,你首先需要定义一个生活工作中的问题,然后去用技术解决。这样才有乐趣。
    justfortest
        56
    justfortest  
       2020-02-14 11:07:56 +08:00
    @cosven 以前用过,还可以,要是有以前的精力和时间我也尝试参与开发了。
    learningman
        57
    learningman  
       2020-02-14 14:59:04 +08:00
    @raawaa pypi 啊。。。。
    learningman
        58
    learningman  
       2020-02-14 14:59:35 +08:00
    @crella 出门左转 matlab
    cosven
        59
    cosven  
       2020-02-15 11:47:12 +08:00
    @justfortest 如果是工作了,时间确实会非常少。
    storypanda
        60
    storypanda  
       2020-02-21 22:56:58 +08:00 via Android
    楼主可以看看我的博客
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2889 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 12:35 · PVG 20:35 · LAX 04:35 · JFK 07:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.