我在动态语言方面的经验仅限于PHP。现在我想学习Python以扩展我的职业机会,而且我也喜欢编程。 :)
在学习Java时,我使用了一个网站(现在忘记了URL/真实名称),类似于“Java for PHP developers”,其中一侧是用PHP代码编写的,另一侧是用Java代码编写的,完成相同的功能。是否有类似于Python的网站?
还有其他建议/建议吗?
谢谢
我在动态语言方面的经验仅限于PHP。现在我想学习Python以扩展我的职业机会,而且我也喜欢编程。 :)
在学习Java时,我使用了一个网站(现在忘记了URL/真实名称),类似于“Java for PHP developers”,其中一侧是用PHP代码编写的,另一侧是用Java代码编写的,完成相同的功能。是否有类似于Python的网站?
还有其他建议/建议吗?
谢谢
OP的问题足够简单,但正如@Pekka所提到的(或劫持的),这可能是一个更深入的问题(需要更实质性的答案)。是的,Python的语法足够容易学习,不需要书籍,但像其他任何语言一样,仍需要相当长的时间来掌握。
《Dive Into Python》的建议是有效的,尽管Python 3版本仅适用于没有负担(即没有现有Python代码,没有尚未移植到Python 3的库/依赖项等)的新手。不幸的是,马克已删除了他的大部分在线内容。这里是他的Python 3书籍的一个存档:http://www.diveintopython3.net……它是一个非常好的高级语言介绍,通过立即沉浸你进入编码位。
如果您正在寻找稍微全面一些的东西,我写了Core Python Programming,专门针对已经精通另一种高级语言(如Java、C/C++、PHP、Ruby等)的程序员,他们需要尽快、尽可能深入地学习Python……它更像是一次“深潜”而不是一次“快速潜水”。对于纯参考书籍,您可以根据需要从书架上取出,我建议使用Beazley的Python Essential Reference或Martelli的Python in a Nutshell……两本书都很好,尽管Alex的书还没有更新到最新的Python版本。不过我相信他正在努力。;-)
[2015年6月更新] 谈到在Python上开发Web应用程序,有几个选择,目前最受欢迎的是Django。它是一个全栈Web框架,是Python最接近Ruby on Rails的东西。它具有模板、ORM,可以运行在各种核心组件(RDBMS、Web服务器、JavaScript库等)上,带有惊人的管理界面,以及更多的功能。如果需要更多的功能,也可以看看Pinax。Django的替代品是Pyramid。Pyramid/Pylons不像单一的巨大框架,而更像胶水,将最好的组件绑在一起,例如Jinja2用于模板、SQLAlchemy用于ORM、MochiKit作为JS库等。第三个选择,主要用于高流量、低延迟、可扩展的应用程序是Google App Engine。您可以使用Python (或Java、PHP或Go)编写应用程序,并上传到Google,在其基础设施上运行您的应用程序。大部分开发与标准LAMP堆栈上的Web应用程序开发类似,除了数据存储。基于Google的BigTable,它是一个非关系型分布式对象数据库,因此最大的障碍是克服以关系型数据库的方式思考;也可以独立发布为Google Cloud Datastore。还有一个关系型MySQL兼容的替代品,称为Google Cloud SQL,如果您喜欢NoSQL解决方案而不是它。BigTable也可以作为App Engine的独立技术使用,并作为Google Cloud Bigtable提供。这足够多的选择了吧?!?:-)
希望这能帮到你!
附言:如果你正在寻找一门全面的Python 3天课程,可以和我聊聊。:-)
x = [1, 2, 3, 4, 5]
for a in x:
print a
print "Loop is over"
PHP:
$x = array(1, 2, 3, 4, 5);
foreach($x as $a) {
echo $a.PHP_EOL
}
echo 'Loop is over'.PHP_EOL;
如您所见,Python不使用'{'和'}',而是使用缩进来确定for循环何时结束。
Python:
x = {'spam':'hello', 'eggs':'world'}
if x.get('spam'):
print x['spam']
PHP:
$x = array('hello'=>'spam', 'world'=>'eggs');
if array_key_exists('hello', $x) {
echo $x['hello'].PHP_EOL;
}