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
tywtyw2002
V2EX  ›  Python

有什么书讲解一些python的高级用法呢

  •  
  •   tywtyw2002 · 2013-04-26 02:18:04 +08:00 · 5978 次点击
    这是一个创建于 4259 天前的主题,其中的信息可能已经有所发展或是发生改变。
    类似行内表达式,map,lammba这类的高级用法。
    15 条回复    1970-01-01 08:00:00 +08:00
    013231
        1
    013231  
       2013-04-26 02:29:21 +08:00
    "行内表达式"是指什麼?
    map, lambda這些概念並不是Python特有的, 去看SICP吧.
    tywtyw2002
        2
    tywtyw2002  
    OP
       2013-04-26 02:33:24 +08:00
    @013231 such as
    x = [ hex(a+13) for a in x]
    013231
        3
    013231  
       2013-04-26 03:17:45 +08:00
    這叫"List Comprehensions(列表生成式)", 在Python中是一種很常見的語法結構:
    http://docs.python.org/2/tutorial/datastructures.html#list-comprehensions
    http://en.wikipedia.org/wiki/List_comprehension

    說到書籍, 除了上面提到的SICP, 你可以看看Python Cookbook.
    qdcanyun
        4
    qdcanyun  
       2013-04-26 08:10:44 +08:00
    推荐Python Cookbook
    有很多小例子来告诉你写pythonic的实现方法
    jiangpeng
        5
    jiangpeng  
       2013-04-26 09:33:08 +08:00
    《Python 高级编程》 http://book.douban.com/subject/4212921/
    xiaket
        6
    xiaket  
       2013-04-26 09:46:07 +08:00
    luoqeng
        7
    luoqeng  
       2013-04-26 10:05:00 +08:00
    『高級用法』一般是指用他來做他不擅長的事。
    zfz
        8
    zfz  
       2013-04-28 15:54:02 +08:00   ❤️ 2
    這裏有一本另類電子書,stackoverflow上的問題合集。上面一些問題很有趣,可以作爲進階的指導:http://hewgill.com/~greg/stackoverflow/ebooks/,除了python還有很多其他方面。
    Narcissu5
        9
    Narcissu5  
       2013-04-28 17:41:11 +08:00
    这算哪门子的高级用法,python官网上的初学者教程就全部讲过好吧
    enotey
        10
    enotey  
       2013-04-28 18:52:06 +08:00
    这不是高级用法!
    nil
        11
    nil  
       2013-04-30 11:33:48 +08:00
    看看ruby或者lisp,
    davepkxxx
        12
    davepkxxx  
       2013-04-30 12:31:20 +08:00
    Python的高级用法是不是指,用一些蛋疼的手段实现其他语言很方便就能搞定的事情?
    比如Java的JNI。
    比如Haskell的全局变量和random。

    或者是一些写出来就是为了让你觉得炫酷,但是很难一眼看出这块代码是干嘛的语法糖?
    比如ML的Currying,
    比如很多语言都有的++i

    又或是一些奇怪的设计理念?
    比如JavaScript无需声明就可以直接使用变量,也可以重复声明一个变量。
    比如Python用缩进来管理代码结构。
    duhastmich
        13
    duhastmich  
       2013-04-30 16:01:48 +08:00
    @luoqeng
    @davepkxxx
    比如decorator,generator/coroutine, metaclass这些吧, __xx__ 也算吧
    Livid
        14
    Livid  
    MOD
       2013-04-30 16:08:00 +08:00
    看一些比较好的 Python 项目就可以学到很多这样的技巧,比如可以看看 Tornado 3 的源代码。
    davepkxxx
        15
    davepkxxx  
       2013-04-30 16:25:06 +08:00
    @tywtyw2002 是lambda,不是lammba。想了解dict和lambda的话,推荐SICP。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2293 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:08 · PVG 00:08 · LAX 08:08 · JFK 11:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.