V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
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
chaleaoch
V2EX  ›  Python

给同事讲 Python 的高级用法, 有没有提纲什么的...

  •  
  •   chaleaoch · May 18, 2021 · 4719 views
    This topic created in 1809 days ago, the information mentioned may be changed or developed.

    有经验的同事,譬如 Java 背景的或者刚毕业的.

    只讲接地气的实用的高级用法.

    奇技淫巧不要.

    大佬们集思广益

    谢谢啦.......

    只需要列提纲即可或者大佬们想到某一个点也可以.

    26 replies    2021-05-19 16:12:32 +08:00
    chaleaoch
        1
    chaleaoch  
    OP
       May 18, 2021
    - 装饰器套三层
    - 元类啊
    - property
    - 描述符
    - mixin
    - typehint
    - asyncio
    larsenlouis
        2
    larsenlouis  
       May 18, 2021
    Python Cookbook 目录里挑
    abersheeran
        3
    abersheeran  
       May 18, 2021   ❤️ 2
    没必要。如果你的同事 Java 写的不错,那他不需要知道任何 Python 特性也可以写出漂亮的代码。

    你给他讲讲 type hint 和 asyncio 就行了,前者可以让他感觉自己还在写静态语言,后者能让 Python 稍微做一些 IO 密集的工作。别的没必要。
    fwin3000cannada
        4
    fwin3000cannada  
       May 18, 2021
    github 搜 python_interview_question
    so1n
        5
    so1n  
       May 18, 2021
    说下一些语法, 以及 Python 是怎么"实现"Java 的反射,注解,范型 以及没有各种 spring-xxxx
    lerry
        6
    lerry  
       May 18, 2021   ❤️ 2
    当然是 Python 之父廖雪峰的 Python 教程啦..
    zhoudaiyu
        7
    zhoudaiyu  
    PRO
       May 18, 2021
    @lerry #6 那 C 语言之父是谭浩强吗
    zhoudaiyu
        8
    zhoudaiyu  
    PRO
       May 18, 2021
    Fluent Python 里面的讲讲就够了
    lvgsnm
        9
    lvgsnm  
       May 18, 2021 via iPhone
    @lerry java 之父,马士兵😂
    LeeReamond
        10
    LeeReamond  
       May 18, 2021   ❤️ 2
    python 为什么要追求高级用法?这与 python 哲学不合,理想的 python 是你不需要教给他们任何东西,大家看半小时就都能写出所有人都能看懂且简洁的代码。

    特殊应用是为了特定场景存在的,像原类之于 ORM,显然如果你不需要处理 orm 框架那没必要折腾原类
    chaleaoch
        11
    chaleaoch  
    OP
       May 18, 2021
    @LeeReamond 施主没写过插件吧...
    shawnsh
        12
    shawnsh  
       May 18, 2021 via Android
    map reduce filter 函数组合来一套
    leven87
        13
    leven87  
       May 18, 2021
    谁能给我说说高级语法的意义?
    DeleteZN
        14
    DeleteZN  
       May 18, 2021
    推荐一本书,《流畅的 Python 》,上面也有 Python 垃圾回收,金字塔模型,GIL 等等。我觉得还是很棒的~
    itechify
        15
    itechify  
    PRO
       May 18, 2021 via Android
    @leven87 用法不是语法叭
    billlee
        16
    billlee  
       May 18, 2021
    * 函数对象,decorator
    * iterator, generator, list comprehension
    iyaozhen
        17
    iyaozhen  
       May 18, 2021
    楼上说的 type hint 可以说说,纠正下观念,若类型不是无类型

    asyncio 协程

    还有相对 java 这些,比如 with open 读文件,就比 java 简洁多了
    Hieast
        18
    Hieast  
       May 18, 2021
    把内建方法和标准库简单过一遍就够了
    009694
        19
    009694  
       May 19, 2021 via Android
    纠正一下楼上 python 是强类型 不是弱类型
    786375312123
        20
    786375312123  
       May 19, 2021
    讲讲 collections 和 itertools
    zone10
        21
    zone10  
       May 19, 2021   ❤️ 2
    大部分非 Python 程序员都是把 Python 当成跨平台的 shell 在用, 没必要给他们讲高级用法, 有那个精力还不如给他讲讲 awesome-python, 实现哪个功能要用哪个库, 面向 PyPI 和 Github 编程
    WilliamYang
        22
    WilliamYang  
       May 19, 2021
    每次面试别人,听到说 Python 是弱类型,我都忍不住要纠正下
    chaleaoch
        23
    chaleaoch  
    OP
       May 19, 2021
    @leven87 django_filter 中的 drf_filter 会根据 request.parameters 自动过滤数据库中的数据将数据返回给前端.
    但是 我们有一个需求, 数据源不是来自于数据库, 但是我想利用 django filter 中的参数校验. 并且支持自动过滤的功能.让业务层无感知.

    django filter 用到了 metaclass.
    如果你不懂,就看不懂 django filter 的代码, 也就没有办法实现这个功能.
    clearT
        24
    clearT  
       May 19, 2021
    @LeeReamond 我觉得这对于 python 这类这么动态的语言太难了,干一件事情,十个人可能有二十种写法,黑魔法太多,碰到炫技的就更别提了,你这种要求更适和 go 、java 这种
    charlestang
        25
    charlestang  
       May 19, 2021
    @DeleteZN 我也觉得《流畅的 Python 》很不错的。
    LeeReamond
        26
    LeeReamond  
       May 19, 2021 via Android
    @clearT 不难,这要求的是比起静态类型更多的是语言本身的描述能力,要更加接近自然语言。动态并不是问题,不使用炫技写法可以用编码规范要求
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1080 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 102ms · UTC 23:51 · PVG 07:51 · LAX 16:51 · JFK 19:51
    ♥ Do have faith in what you're doing.