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

为什么用过 php 再去自学 python 有点难以入手的感觉

  •  
  •   xiaoshangmin ·
    xiaoshangmin · 2016-03-18 08:12:06 +08:00 via iPhone · 11446 次点击
    这是一个创建于 3208 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题 How to learn
    64 条回复    2016-03-21 13:46:28 +08:00
    MyFaith
        1
    MyFaith  
       2016-03-18 08:15:13 +08:00 via iPhone
    为什么用过 Python 之后就不想学世界上最好的语言了?
    araraloren
        2
    araraloren  
       2016-03-18 08:35:47 +08:00
    世界上最好的语言是属于那种风格自由的吧, python 不一样。。
    cxbig
        3
    cxbig  
       2016-03-18 08:36:15 +08:00
    换参考书,或 YouTube 视频之类,找合适自己的学习材料很重要。
    vagary
        4
    vagary  
       2016-03-18 08:39:01 +08:00
    @cxbig 严重同意!

    在有基础的情况下学新东西的时候,比的是谁“忘”得多
    shiji
        5
    shiji  
       2016-03-18 08:41:10 +08:00
    熟悉习惯了一个语言再去写别的都会感觉很不适应。
    我 PHP 写习惯了一段时间,想去写个 JAVA ,连续犯低级错误,很多基本的东西都容易弄混。

    当然想 HTML CSS JS 这三种,任意两个相互之间都不会被取代,也就不容易弄混
    wawehi
        6
    wawehi  
       2016-03-18 08:41:11 +08:00
    学完 py 压根不想多看 php 一眼
    em70
        7
    em70  
       2016-03-18 08:47:55 +08:00 via iPhone
    需要多重人格
    bk201
        8
    bk201  
       2016-03-18 08:54:37 +08:00
    say more just do it
    tabris17
        9
    tabris17  
       2016-03-18 09:08:47 +08:00
    PHP 作为世界上最好的语言,的确要比 Python 简洁很多,省去了很多华而不实的语法糖,但是 PHP7 最近引入了一些不实用的语法,值得我们警惕
    ctftemp
        10
    ctftemp  
       2016-03-18 09:23:47 +08:00 via Android
    @tabris17 python 有哪些华而不实的语法糖呢?
    Scholer
        11
    Scholer  
       2016-03-18 09:24:46 +08:00
    只了解两种语言是不够的 多看几种回来就没有不适感了
    bk201
        12
    bk201  
       2016-03-18 09:28:58 +08:00
    @tabris17 和 python 比简洁。。 php 果然世界最好的语言。
    xujif
        13
    xujif  
       2016-03-18 09:34:51 +08:00 via iPhone   ❤️ 1
    反过来, c#c++ java php nodejs 一路写过来,基本都没什么问题。到 python 这真不适应
    没有类型约束,没有接口约束,每次写代码都小心翼翼,不知道你们是怎么处理多人协作这些问题的
    类成员变量没有提前声明语法,每次使用第三方的东西都要一层层看下去
    兼容下问题,不止 py23 问题,举个例子 time datetime pytz ,用第三方的时候光看参数名不跟进去还真不知道它用的哪一套。 tzlocal 判断本地时区还和 time 得出结果不一样,看代码发现完全自成一个体系。
    感觉 py 做一些小项目还好,做比较大的多人协作问题很大,不是不能做,是对程序员的自我要求太高,一不留神就会埋坑
    susanDao
        14
    susanDao  
       2016-03-18 09:36:31 +08:00
    感觉实际用起来学得更快吧。自己看书学语法什么的,挺没劲的,而且看过之后很快就忘。。。稍微有点基础就直接上手写吧。
    levn
        15
    levn  
       2016-03-18 09:37:26 +08:00
    对“自我要求”的要求其实就应该算进复杂度里面去哦……
    chenps10
        16
    chenps10  
       2016-03-18 09:40:22 +08:00
    编程思想扎实的,学啥都快,都是那个道理有些出入原理也是一样的,实现语法不通而已。至于说不习惯的话。。。从 win 刚转来 osx 的时候我也特别不习惯,但是一个月后。。。我觉得 win 不习惯了,哈哈
    ty0716
        17
    ty0716  
       2016-03-18 09:47:07 +08:00 via iPhone   ❤️ 2
    chengzhoukun
        18
    chengzhoukun  
       2016-03-18 09:56:58 +08:00
    @xujif js 坑更多吧
    badaciacia
        19
    badaciacia  
       2016-03-18 10:04:13 +08:00
    LZ
    跟你说说我的情况 有参考意义
    我现在工作使用的开发语言是 erlang 跟 python 也是完全不着边

    我上周刚玩完了 https://www.codecademy.com 的 python 教程
    上手很快
    周一就自己写了个爬虫 把全公司的美女头像给爬了
    jtam
        20
    jtam  
       2016-03-18 10:10:22 +08:00
    @badaciacia 怎么判断美不美?
    badaciacia
        21
    badaciacia  
       2016-03-18 10:15:39 +08:00
    @jtam 我是指公司的女生啊 哈哈哈
    msg7086
        22
    msg7086  
       2016-03-18 10:18:23 +08:00
    用过 Ruby 以后现在已经陷入用任何别的语言都不习惯的境地了。
    v3u3i87
        23
    v3u3i87  
       2016-03-18 10:22:01 +08:00
    不是很简单么。。。
    KenGe
        24
    KenGe  
       2016-03-18 10:23:25 +08:00
    @cxbig youtube 有教程链接?
    aivier
        25
    aivier  
       2016-03-18 10:23:50 +08:00
    C# > PHP > JS/NodeJS ,感觉很不适应 Python 那样没有大括号的语言....就好像一篇文章没有标点符号,没有段落,没有缩进
    rale
        26
    rale  
       2016-03-18 10:25:19 +08:00
    没有啊,我以前也学 php ,现在用 python 没啥障碍
    Wangxf
        27
    Wangxf  
       2016-03-18 10:35:09 +08:00
    用过 js 再也不想用其他语言了
    xujif
        28
    xujif  
       2016-03-18 10:50:59 +08:00 via iPhone
    @chengzhoukun node 的异步优势让我肯定有点坑可以接受。这个模式很适合做一些消息转发之类的工作
    hbkdsm
        29
    hbkdsm  
       2016-03-18 11:01:34 +08:00
    practice, practice, practice
    theohateonion
        30
    theohateonion  
       2016-03-18 11:05:43 +08:00
    我感觉对所有的技术都应该持一种开放的态度,这是一个程序员的基础。不过我写了一段 python 再写一段 java ,转化的过程确实会犯很多低级的错误觉得自己很蠢哈哈哈~
    mazyi
        31
    mazyi  
       2016-03-18 11:13:40 +08:00
    讲道理, python 对程序源素质的要求比较高~
    iyaozhen
        32
    iyaozhen  
       2016-03-18 11:24:05 +08:00 via Android
    感觉没事问题吧,只是偶尔忍不住打分号。然后时间处理有点不习惯
    strahe
        33
    strahe  
       2016-03-18 11:26:08 +08:00
    1 楼 6 楼正解.
    lxy
        34
    lxy  
       2016-03-18 11:29:29 +08:00
    @aivier Python 有段落,也有缩进。没有标点的文章,便是诗~ 所以 Python 很优雅,也很暧昧。
    Crossin
        35
    Crossin  
       2016-03-18 13:00:38 +08:00
    换教材
    zonghua
        36
    zonghua  
       2016-03-18 13:06:09 +08:00 via iPhone
    学 Python2 到 Python3 才难
    rupert
        37
    rupert  
       2016-03-18 13:50:19 +08:00 via Android
    鸟哥能喷你们一脸, 但是他懒得喷
    oubushixb
        38
    oubushixb  
       2016-03-18 14:01:32 +08:00
    @tabris17 高级黑。。。 6666,
    @Wangxf 用了 js 再也不用其他的+1...php 转完 js 后回头看 npm 和 php 的包管理差距...
    gpw1987
        39
    gpw1987  
       2016-03-18 14:16:54 +08:00
    这个估计先入为主的个概念,就像学会拼音,不太想区学五笔呀。
    pizida
        40
    pizida  
       2016-03-18 14:22:21 +08:00
    @vagary 忘得多这个观点挺好的。和张无忌学太极一样。忘得一干二净
    kaizixyz
        41
    kaizixyz  
       2016-03-18 14:41:44 +08:00
    这种情况可以应该学学其他的语言~
    挖出语言设计的思想。
    mikej
        42
    mikej  
       2016-03-18 16:11:27 +08:00
    我之前也是一直写 php ,最近开始学 python ,打算写一个小的爬虫框架练练手, LZ 有兴趣的话可以来一起玩啊。 https://github.com/itsmikej/Cobweb
    cxbig
        43
    cxbig  
       2016-03-18 17:08:10 +08:00
    @KenGe 当然有,很多也很杂,我经常用快进抓重点一个个过
    当然如果不差钱还有很多收费资源可以用
    neoblackcap
        44
    neoblackcap  
       2016-03-18 17:11:07 +08:00
    @xujif 你说的这些确定不是动态语言都有的吗? php 跟 js 不是都一样有这样的缺点吗?
    但有缺点还会有优点,至少动态生成类,在动态语言里面是很简单。
    wizardforcel
        45
    wizardforcel  
       2016-03-18 17:52:28 +08:00 via Android
    我不是多分号就是少冒号

    有时候会纠结 len()和.length()

    取字典值的时候,老想用点运算符

    其他的还好 毕竟 python 标准库也不差 三方轮子也不少


    我转是因为 php 轮子太少 python 能玩数挖、 nlp 、图形、网络很多很多东西 转过来之后就没再用过 php 了
    xujif
        46
    xujif  
       2016-03-18 18:23:25 +08:00
    @neoblackcap 动态语言确实都有这个问题,所以对程序员要求更高。
    py 我们直接用 3.5 版本不存在兼容性,但是感觉太自由了,一不小心就犯错,每次用第三方的东西都要先看看源码省的不小心改写了什么。
    php 虽然经常被大家调侃,但是在类型约束上绝不含糊,属于想用 OO 就给你完整的 OO (虽然也有点问题),想自有就给你自由: class 级别有接口约束,成员需要申明,区分 static 变量。方法入参除了基本类型都可以约定类型,基本类型只有 string 和 numeric,拼接用"."相加用"+"没有歧义。
    nodejs 确实越用越爽,现在会感觉异步才是符合思维的,不少小项目都转过来了。
    mengzhuo
        47
    mengzhuo  
       2016-03-18 18:43:10 +08:00 via iPhone
    程序员不会写个 3 、 4 种,会看逻辑 7 、 8 种语言都不称职啊( hello world 不算)
    做服务端的我现在体会是 Go> Python/Ruby > >PHP > Java > c# > js
    Eleutherios
        48
    Eleutherios  
       2016-03-18 21:24:51 +08:00 via iPhone
    python 多简单
    两小时就学会了
    虽然我写的代码还是那么水…
    Arainc
        49
    Arainc  
       2016-03-18 21:41:58 +08:00
    @rupert 为啥鸟哥要喷
    random2case
        50
    random2case  
       2016-03-18 23:56:18 +08:00
    学 scala 吧,优雅一生~
    xuhaoyangx
        51
    xuhaoyangx  
       2016-03-19 00:04:48 +08:00
    学了 java ,也在用 php 和 py 。 php py 学起来和用起来都相当舒服,会有一端时间会混一下,如果有个不错的 idea 代码提示,还是能避免。同时觉得有个符合自己的参考教材是最好的
    just1
        52
    just1  
       2016-03-19 00:09:59 +08:00 via Android
    最早学的 php ,然后学 python ,然后再也不想写 php 了。。
    allenhu
        53
    allenhu  
       2016-03-19 00:13:19 +08:00 via Android
    Python 如果不使用奇葩的空格缩进,跟大家一样用大括号,还是挺好的😄
    wjfz
        54
    wjfz  
       2016-03-19 00:30:22 +08:00
    目前也正在从 PHP 学 Python ,简单的感受就是 Python 有 list 、 tuple 、 dict 和 set , PHP 好像就是一个数组[笑 cry]

    语言只是工具,多看看会有一些新的感受。
    之前太限制自己了。
    fy
        55
    fy  
       2016-03-19 16:44:50 +08:00
    @tabris17 我投五个滑稽币
    wizardforcel
        56
    wizardforcel  
       2016-03-19 19:24:09 +08:00 via Android
    @xujif

    python 中可以用 assert 和 isinstance 手动实现类型规约。

    由于 python 是多继承,可以拿 class 当接口用。但我觉得动态语言再做接口就太没必要了,于是就学 golang 认为实现了某个方法就等同于实现了某个接口,需要规约的时候调用对象的 hasattr 来断言。
    xiaoshangmin
        57
    xiaoshangmin  
    OP
       2016-03-20 11:31:05 +08:00 via iPhone
    @wawehi 这么夸张
    xiaoshangmin
        58
    xiaoshangmin  
    OP
       2016-03-20 17:51:19 +08:00
    @badaciacia 网站打开巨慢
    wingyiu
        59
    wingyiu  
       2016-03-20 18:49:09 +08:00
    我会三种编程语言: PHP python2 python3.
    xiaoshangmin
        60
    xiaoshangmin  
    OP
       2016-03-20 20:14:41 +08:00
    @badaciacia 确实不错的网站 请问你有学 pro 的内容吗
    xiaoshangmin
        61
    xiaoshangmin  
    OP
       2016-03-20 20:15:16 +08:00
    @wingyiu 2 和 3 差别这么大吗 我现在学的 3
    asdwddd
        62
    asdwddd  
       2016-03-20 20:34:23 +08:00
    @mengzhuo 目前是在用 js 还是 go ?没看清 > 指的是前进还是大于的意思
    mengzhuo
        63
    mengzhuo  
       2016-03-21 09:54:32 +08:00
    @asdwddd 整体体验,我现在是 C# Go Python ……
    badaciacia
        64
    badaciacia  
       2016-03-21 13:46:28 +08:00
    @xiaoshangmin pro 的内容我没学习
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1088 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 18:08 · PVG 02:08 · LAX 10:08 · JFK 13:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.