1. python学习
人工智能这个概念很大的,涉及逻辑推理、机器学习。从应用的角度,自然语言处理也是人工智能的一个子领域。学习python,跟是否要学习人工智能关系不大。
学习python,最基本的就是要掌握list(相当于c++中的vector,但list是广义链表,比vector灵活)、dict(相当于c++中的map)、正则表达式(import re)、sort函数(个人是搞自然语言处理的,感觉这个函数使用频度很高)、函数的声明与定义。在此基础上,可以涉及一些模块、类的概念(在写中小规模程序时,这两个不是使用频度很高的概念)。
学习python,借助书籍系统学习是必须的:1)如果你的编程功底足够好的话,可以看快餐教程——http://wenku..com/view/c98aaafdc8d376eeaeaa31ba.html,当年学习python时,导师跟我讲只要两小时就可以学会,但我学了两天,究其原因,就是编程功底不符合导师的预期;2)如果想深入学习——http://wenku..com/view/368ef2d6195f312b3169a597.html,我主张看英文资料,也就是要掌握学习中的第一手资料;3)此外,在《python简明教程》也推荐了大量书籍,都很不错,且大多可以免费获得,可以参考一下。
学习python,很重要的一个方法是要学会看文档,以linux环境为例,在终端下键入“python”回车;键入“help(list)”,就会显示list所有函数的用法;如果你想查str类下的find函数,可以键入“help(str.find)”。记住:这里显示的内容是最原汁原味的python教程,但只具有参考手册的性质,在系统学习之后,才可以熟练应用。
2. 如何开始使用PyCharm,并拥有一个高效的Python IDE
初步使用
当您第一次启动PyCharm的时候,他会问你要使用的键盘布局和主题。我不喜欢它的Emacs键盘映射,所以我用的是默认的Mac OS X键盘映射并且自定义了我想要的快捷方式:
如果这是你第一次使用PyCharm,并没有什么配置可以导入的。你可能会想在欢迎屏幕中点击“配置”,设置一些基本的配置:
我喜欢显示出行号和方法分隔符(Editor→Appearance→Show method separators, Show line numbers):
另外,我喜欢Solarized主题。我遵循指示安装了它,并选择它作为编辑器的默认主题→颜色和字体。 浅色版的Solarized IntelliJ有一些奇怪的颜色选择(例如,它采用灰色为默认的文本,而不是更清晰的黑色),所以我在编辑器上进行了修改→Colors & Fonts→General。我的建议是不要害怕修改颜色为你自己喜欢的。你可以导出你的配置,以防你需要重新安装PyCharm。
相比于别的一些IDE,我觉得PyCharm在视觉上的效果上非常干净,如果你想要一个更简洁的用户界面,您可以隐藏工具栏,工具按钮,导航栏和状态栏(在视图菜单上):
Virtualenv和Python解释器
您可以创建新的项目文件→File→New Project or open an existing project withFile→Open Directory。 PyCharm支持多种类型的Python项目,如Django,Flask等等。在这里,我将创建一个简单的项目,以测试pyquery库(我会选择“Empty project”)。
你需要告诉PyCharm你想用哪个Python解释器,因为它可以使用不同的解释器对于不同的项目。它将利用这些信息来索引的所有可用的库。一个好的做法是对于每个项目建立一个virtualenv。您可以使用一个已经存在的virtualenv或从PyCharm创建一个新的(Settings→Project Interpreter→Python Interpreters)。
对于这个项目,我将创建一个新的virtualenv并使其用于所有的项目:
您可以快速搜索,阅读说明,并从PyCharm安装软件包。没有什么是你在在终端上不能做的,但它能够使你无需离开IDE,更加方便地够搜索包。
一些软件包可能需要安装一段时间,特别是如果他们需要进行编译。 PyCharm运行安装过程是在后台,你可以通过单击状态栏看到正在发生的事情:
正如我们所看到的,它不仅安装pyquery报,所依赖的包,如lxml也一并安装(正如我们所期望的):
快捷键
PyCharm是没有Vim的,但你也可以只靠键盘做很多事情。您可以将快捷方式设置到几十个(如果不是数百个)快捷动作在Settings→Keymap。我修改了相当多的默认键盘映射,因为我喜欢有像Control-a, Control-e, Control-k,and Control-y那样的快捷键,而这几个快捷键在默认情况下多用于文本框,并没有设置默认在“Mac OS X”的键盘映射。您还可以定义鼠标快捷键。举例来说,我使用Option-Click来改变快速文档。如果你是一个Vim的用户,您可能希望尝试一下IdeaVim,一个Vim的仿真器插件。我听说过这个好东西,但我没有机会去尝试它。
我用的是Dvorak keyboard layout,但烦人的是,一但用到不对的快捷键就会有bug。有人反映了这个问题,French Canadian and German layouts也有这个问题。这意味着我必须重新绑定不少的快捷方式来避免这个问题。
PyCharm使用功能键,如F1和F2等很多。正如你可能知道的,在Mac上,顶部的按键多作为默认“多媒体”键,并通过按下Fn键的来生效。我们可以在System Preferences→Keyboard交换这种方式。
我希望能够控制音量和改变亮度,而不需要使用Fn键,但我也喜欢使用功能键,而无需触碰较远的Fn键(我很懒惰,我能说什么?)。我用Palua在“多媒体”和功能键之间切换。你可以用全局键切换,也可以配置Palua在使用特定应用程序时,自动切换。我为所有应用程序使用多媒体键的(默认值),并配置Palua为Xcode和PyCharm使用功能键。
外部编辑器
PyCharm可以启动任何外部工具,所以我将其配置用Emacs来打开当前文件。当你想要利用你喜欢的编辑器(Emacs,Vim,TextMate等等)做一些快速编辑,这非常有用。
进入Settings→External Tools,确保“Open console”未选中,将路径插入程序,参数(在这种情况下,我们可以用FilePath来得到完整的文件名)和工作目录(ProjectFileDir/ FileRelativeDir /)。
你可以把它分配给一个快捷方式:
现在它可以从菜单栏获得。
运行代码和REPL
PyCharm有很多方式来让我们运行代码。我们可以用古老的print 函数(或声明语句,这取决于你的Python版本),在REPL导入代码,发送代码到控制台,使用调试器,或在终端上使用IPython。
打印输出
使用打印来显示值是一个有用的并被广泛使用的技术,但是如果不小心使用的话,它可能会导致混乱的代码。
如果该文件已被选中运行,我们可以通过单击“play”按钮或Control-R来开始。
如果没有选择文件来运行,会从上下文菜单中选择一个文件,用Control-Option-R或右击来运行她。 PyCharm会记住你的选择,下一次你可以继续使用Control-R。这听起来很复杂,但它其实非常简单。检查手册,以便了解更多的信息。
控制台和REPL
我最喜欢的方法是在REPL运行代码。您可以在PyCharm的工具栏中打开一个Python控制台,Tools→Run Python Console(我已经分配到Control-C)。它会使用IPython(如果可用)(我建议你在virtualenv内安装IPython),并将当前文件的路径添加到Python的路径。在控制台上,你可以像往常一样导入你要来执行的功能。
在控制台中补全功能仍然可用:
我们可以像平时一样正常使用已经导入的函数,并且可以利用⌘–4轻松切换控制台的可视性。
在控制台执行所选择的代码
如果我想运行的代码是多了几个单行,并没有编写正式的单元测试(例如,可能我玩的是数据)我可以将它保存在一个临时文件。我们可以选择我们想要运行的代码(通常我只需要利用⌘-A选择整个文件),并选择从上下文菜单中选择“Execute Selection in Console”(或者,更好的方式,使用键盘快捷键)。 [我省略了一些菜单项中的截图以使文章短一些。
在下面的例子中,标题变量在控制台中可用,因为我们在控制台中选择整个临时文件来执行:
宏
如果我们可以在一个操作中发送整个文件到控制台,那就太好了。幸运的是,我们可以记录一个宏。选择Select Edit→Macros→Start Macro Recording and performthe operations as before(选择整个文件,发送到控制台,切换到控制台)。正如你所看到的,我的宏只有四个动作(我按向下箭头键取消选择):
当您录制的宏已经在宏菜单,你可以分配给它快捷方式(我使用Control-C Control-E,但由于某些原因PyCharm只显示两个快捷方式的一半)。
调试
很多人喜欢使用调试器来检查数据。即使我喜欢使用REPL,有时调试程序更有效,在检验复杂的对象时尤其如此。 PyCharm不允许你在一个空行设置一个断点,因此,在这短短的例子,我不得不添加一个额外的行(我使用print函数,但我本可以使用pass),因为我想要调试停止在设置的headlines变量后。在真正的代码中,很少有这个必要。
IPyhton
最后,利用IPython来运行外部终端并使用一些功能,比如%run和自动重载没有任何不妥。
搜寻命令
这很容易变得不知所措,因为有这么多的命令。如果您在Mac上使用PyCharm,你可以像往常一样使用Help→Search,或者您可以在任何平台上使用Help→Find Action。它可以让你搜索任何PyCharm命令,包括不能从菜单中获得的。 (Emacs的使用者会注意到这有点类似于Emacs的M-X)。这是非常有用和强大的功能,我一直使用它。
代码补全
代码补全功能在PyCharm上是一流的。默认情况下PyCharm会在你输入的时候给出建议:
由于此功能可有点耗电,你可以通过选择File→Power Save Mode来禁用它。您仍然可以通过Control-Space显式使用这一功能。
在输入的时候,您可以通过键入一个子串来缩小建议列表:
或者,您可以键入CammelCaseClasses或function_names_with_underscores的第一个字母:
如果您键入Ctrl-Space一次,PyCharm将尝试列出最相关的项目:
如果你再次键入Control-Space,将列出它所知道的每一个名字。这可能是压倒性的,但要注意,它列出了没有导入的文件 bar.py中的函数name_of_mother。
但往往你只是想补全在打开的缓冲区中的一个局部变量的名称。很久以前可以在Emacs和Vim实现这一功能,二现在也可以在PyCharm上实现。手册将其称为Hippie Completion,但实际的命令名称(即,你会发现在Find Action的那个名字)是“Cyclic Expand Word”,并且在我的测试中,它甚至对文档字符串有效。
代码补全可能无法在某些情况下工作,比如当一个库没有类型提示。这个StackOverflow页面建议在PDB中设置断点并用dir列出所有可能的属性。一个类似的解决方案是在PyCharm创建断点,并执行一条表达式——通过在调试工具栏点击最后一个图标(或使用适当的键盘快捷键)。在这种情况下,我计算的表达式是“dir(r)”。
访问文档
PyCharm有三种方式可以访问文档:快速定义,快速文档,外部文档,以及参数信息。您可以从查看菜单或者从各自的快捷方式去访问它们。
快速定义将显示整个定义的符号(类,方法,功能等)的(废话!),当然也包括文档。如果你只是想快速浏览一下的定义,而跳跃到它是很有用的。
快速文档将显示符号的文档和签名。
最后,外部文档,以及参数信息是非常简单的。第一个在默认浏览器中打开文档,第二个给出了一个函数或方法(例如快速查询关键字参数的名称是很有用)参数信息。
外部文档工作外适用于Python(当然),PyQt4,PySide,GTK,WX,numpy,SciPy,和kivy,并且您可以为外部文档添加路径,在Settings→Python External Documentation中设置。
代码质量
当你在打字的时候,PyCharm会检查你的代码是否符合PEP8。它会让你知道,你是否有太多的空格或空行等等。如果你愿意,你可以配置PyCharm运行pylint作为外部工具。
在源代码找到自己的方式
当你掌握了它的导航命令时,PyCharm开始变得强大起来。它可以跳转到类,函数等等。在Mac上你可以利用⌘-B或者⌘-Click跳转到类,方法,函数,变量的定义,同样在Windows和Linux上使用 或Ctrl-B或者Ctrl-Click。
导航到类,文件或符号的机制几乎是一样的。在你输入一个字符串的时候,你将看到一个对话框,包括你当前项目以外的项目,同市匹配过滤的结果。转至导航菜单或使用相应的键盘快捷键:
这是一个类定义典型的对话框:
你可以输入名称的一部分,包括文件扩展名。举例来说,如果你想打开Django项目的一个JavaScript文件是,但又不记得它的名字,你可以搜索“.js”。
这些功能使我们能够非常快速地浏览源代码。假设我们正在研究Django的源代码,我们希望看到的是功能实现的过程。我们不知道它的定义,所以我们去Navigate→Symbo(⌥-⌘-O),输入“render”,并选择第一个选项(我们可以看到它在django.shortcuts定义)。如果我们隐藏了导航栏,我们可以使用Navigate→Jump到导航栏(⌘-↑),快速显示它并查看该文件定位(django→django→shortcuts.py):
有时在去掉你并不感兴趣的那部分东西之后,代码补全的效率会更高。在下面的例子中,我删除相关的JavaScript的结果,得到了一个更加简洁的列表:
PyCharm可以让你折叠块,如类,方法和函数,但你可以创建自己的可折叠的区域。当涉及到成组的一些东西时,就很有用(类,方法,函数等)。这些模块可以折叠的话,会使我们能够专注于代码的特定区域。你可以通过Navigate→Custom Region或使用相应的键盘快捷键来显示列表文件中的所有区域。遗憾的是有没有办法在一个工程中列出所有区域。
单元测试
在我们可以运行测试文件之前,我们需要添加一个新的运行/调试配置。我们去Run→Edit Configurations,然后点击在左上角的加号按钮。然后,我们选择“Python tests”,开始测试。在这个例子中,我将使用单元测试:
最后,我们需要添加这些测试的文件夹,并选择正确的Python解释器:
现在就像我们运行代码一样,我们可以运行我们的测试:通过点击工具栏或者选择Run→Run(Control-⌥-R)。这将打开一个对话框,你可以在对话框中选择你想要运行的代码(你可以运行别的)。您可以进行所有测试或仅测试光标。
当你运行测试是,PyCharm会记住你最后的选择,这样你就可以利用Control-R来重复测试。这非常有用,如果你解决了一个特定的测试情况,并希望多次运行它,但不运行其他测试。你并不需要定位到你想要运行的测试文件;你可以从任意文件中运行测试。您可以通过选择Navigate→Test(或相应的热键)完成代码的测试。
处理多个文件
正如你看到的那样,PyCharm为每一个文件使用一个标签
要切换到标签,我们可以使用命令选择下一个标签或者选择上一个标签。默认快捷键是Control-→ 和Control-←,但OS X使用这些按键,让我重新绑定它们至Control-⌘-N
和Control-⌘-P(在终端我使用同样的快捷方式切换标签页)。
一个更直接的方法选定标签就是使用Navigate→File,或者View→Recent Files(⌘-E)和View→Recently Changed Files(⇧-⌘-E)。最后两个命令将显示文件,你可以通过输入子串来缩小选择范围。在下面的例子中,我只需要输入“⌘-E”,“S”,“ENTER”键进入scratch.py文件的标签:
多窗口
PyCharm支持多窗口,虽然不如Emacs中那么优秀,但也足够用了。
在默认情况下没有已分配的快捷方式来处理分割窗口,所以你必须自己做。这些是我用的快捷键:
垂直分割,Control-S
水平分割,Control-H
非剖分,Control-C Control-U
非剖分所有,Control-C Control-A
转到下一个分离器,Control -C Control -N
转到上一页分离器,Control -C Control -P
移动到相对组,Control -C Control –M
再有两个窗格的情况下拖动标签比较方便。
3. python中mysqldb的connect怎么验证是否连接成功
代码如下:
# -*- coding: utf-8 -*-
#mysqldb
import time, MySQLdb
#连接
conn=MySQLdb.connect(host="localhost",user="root",passwd="",db="test",charset="utf8")cursor = conn.cursor()
#写入
sql = "insert into user(name,created) values(%s,%s)"param = ("aaa",int(time.time()))
n = cursor.execute(sql,param)
print n
#更新
sql = "update user set name=%s where id=3"param = ("bbb")
n = cursor.execute(sql,param)
print n
#查询
n = cursor.execute("select * from user")
for row in cursor.fetchall():
for r in row:
print r
#删除
sql = "delete from user where name=%s"
param =("aaa")
n = cursor.execute(sql,param)
print n
cursor.close()
#关闭
conn.close()
复制代码
基本的使用如上,还是很简单的,进一步使用还没操作,先从网上找点资料放上来,以备后续查看1.引入MySQLdb库
import MySQLdb
2.和数据库建立连接
conn=MySQLdb.connect(host="localhost",user="root",passwd="sa",db="mytable",charset="utf8")提供的connect方法用来和数据库建立连接,接收数个参数,返回连接对象.
比较常用的参数包括
host:数据库主机名.默认是用本地主机.
user:数据库登陆名.默认是当前用户.
passwd:数据库登陆的秘密.默认为空.
db:要使用的数据库名.没有默认值.
port:MySQL服务使用的TCP端口.默认是3306.
charset:数据库编码.
更多关于参数的信息可以查这里
http://mysql-python.sourceforge.net/MySQLdb.html然后,这个连接对象也提供了对事务操作的支持,标准的方法commit() 提交
rollback() 回滚
3.执行sql语句和接收返回值
cursor=conn.cursor()
n=cursor.execute(sql,param)
首先,我们用使用连接对象获得一个cursor对象,接下来,我们会使用cursor提供的方法来进行工作.这些方法包括两大类:1.执行命令,2.接收返回值cursor用来执行命令的方法:
callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数executemany(self, query, args):执行单条sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数nextset(self):移动到下一个结果集
cursor用来接收返回值的方法:
fetchall(self):接收全部的返回结果行.
fetchmany(self, size=None):接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据.
fetchone(self):返回一条结果行.
scroll(self, value, mode='relative'):移动指针到某一行.如果mode='relative',则表示从当前所在行移动value条,如果mode='absolute',则表示从结果集的第一行移动value条.
下面的代码是一个完整的例子.
#使用sql语句,这里要接收的参数都用%s占位符.要注意的是,无论你要插入的数据是什么类型,占位符永远都要用%ssql="insert into cdinfo values(%s,%s,%s,%s,%s)"#param应该为tuple或者list
param=(title,singer,imgurl,url,alpha)
#执行,如果成功,n的值为1
n=cursor.execute(sql,param)
#再来执行一个查询的操作
cursor.execute("select * from cdinfo")
#我们使用了fetchall这个方法.这样,cds里保存的将会是查询返回的全部结果.每条结果都是一个tuple类型的数据,这些tuple组成了一个tuplecds=cursor.fetchall()
#因为是tuple,所以可以这样使用结果集
print cds[0][3]
#或者直接显示出来,看看结果集的真实样子
print cds
#如果需要批量的插入数据,就这样做
sql="insert into cdinfo values(0,%s,%s,%s,%s,%s)"#每个值的集合为一个tuple,整个参数集组成一个tuple,或者listparam=((title,singer,imgurl,url,alpha),(title2,singer2,imgurl2,url2,alpha2))#使用executemany方法来批量的插入数据.这真是一个很酷的方法!
n=cursor.executemany(sql,param)
4.关闭数据库连接
需要分别的关闭指针对象和连接对象.他们有名字相同的方法cursor.close()
conn.close()
四步完成,基本的数据库操作就是这样了.下面是两个有用的连接MySQLdb用户指南: http://mysql-python.sourceforge.net/MySQLdb.htmlMySQLdb文档: http://mysql-python.sourceforge.net/MySQLdb-1.2.2/public/MySQLdb-mole.html5 编码(防止乱码)
需要注意的点:
1 Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8)2 MySQL数据库charset=utf-8
3 Python连接MySQL是加上参数 charset=utf8
4 设置Python的默认编码为 utf-8 (sys.setdefaultencoding(utf-8)复制代码 代码如下:
#encoding=utf-8
import sys
import MySQLdb
reload(sys)
sys.setdefaultencoding('utf-8')
db=MySQLdb.connect(user='root',charset='utf8')注:MySQL的配置文件设置也必须配置成utf8
设置 MySQL 的 my.cnf 文件,在 [client]/[mysqld]部分都设置默认的字符集(通常在/etc/mysql/my.cnf):
[client]
default-character-set = utf8
[mysqld]
default-character-set = utf8
4. python入门经典好吗
Python入门经典作为一本初学者的书籍是非常全面的,但是作为Python的常翻书籍也是非常好的。
《Python入门经典》是面向Python初学者的学习指南,详细介绍了Python编程基础,以及一些高级概念,如面向对象编程。
全书分为24章。第1章介绍了Python的背景和安装方法。
第2章到第7章介绍了一些基本的编程概念,如变量、数学运算、字符串和获取输入。
第8章到第12章介绍了更高级的主题,讨论了函数、字典和面向对象编程等。
第13章到第15章介绍了如何使用库和模块,以及如何创建自己的模块。
第16章到第19章介绍了使用数据,如保存到文件,使用标准格式以及使用数据库。
第20章和第21章尝试了标准库以外的一些项目,在这两章中,介绍了创建动态Web站点和开发游戏。
这两章并不是要成为完整的课程,而是充当学习更多知识的一个起点。
第22章和第23章介绍了如何正确地保存代码,以及出错的时候如何找到解决方案。
第24章介绍了读者可能会接触到哪些项目,哪些资源可以帮助读者学习更多知识,以及如何更深入地融入Python社区。
《Python入门经典》内容循序渐进,逐步深入,概念和知识点讲解清楚,而且每章最后配有练习,供读者检查和巩固所学知识。《Python入门经典》适合学习Python语言和应用的初中级用户阅读和自学,也可以作为相关培训的教材。
5. 如何开始使用PyCharm,并拥有一个高效的Python IDE
如何开始使用PyCharm,并拥有一个高效的Python IDE
编辑器与IDE之间的辩论正变得老旧和无聊,因为这是一个zero sum game(零和游戏或者叫零和博弈,表示所有博弈方的利益之和为零或一个常数,即一方有所得,其他方必有所失。)
我已经使用Emacs长达15年了,我使用它阅读我的邮件,浏览网页,制作咖啡(我们不能做所有的事情吗?)但是,今天我发现,通过在工作上使用合适的工具,能够变得更加高效。
强大的编辑器,如Emacs和Vim太棒了。我发现令人费解的是有些编辑器或IDE进行基本操作的时候,如搜索和替换非常笨重,而Vim的和Emacs操作起来恰到好处。
然而,搜索注入“将Vim作为一个Python IDE”或者“将Emacs作为一个Python
IDE”,都会返回成千上万的链接,这表明人们想要这样的一些功能,如智能完成,代码导航和项目支持等等。为了给你一点数据,我最热门的帖子之一就是如何配置Emacs作为一个Python
IDE,即使到今天已经过了三年。
PyCharm是最流行的Python
IDE之一,因为它具有强大的功能。在这篇文章中,我将展示如何开始使用PyCharm,并很快具备一个高效的Python开发环境。我使用Mac上的PyCharm3.0.2专业版(他们有一个开源版本以及)上。我使用的是大量修改了默认按键的键盘映射(也有Emacs和Vim键盘映射表)。我建议你参考官方的Mac和Windows/
Linux的默认快捷键。
初步使用
当您第一次启动PyCharm的时候,他会问你要使用的键盘布局和主题。我不喜欢它的Emacs键盘映射,所以我用的是默认的Mac OS X键盘映射并且自定义了我想要的快捷方式:
如果这是你第一次使用PyCharm,并没有什么配置可以导入的。你可能会想在欢迎屏幕中点击“配置”,设置一些基本的配置:
我喜欢显示出行号和方法分隔符(Editor→Appearance→Show method separators, Show line numbers):
另外,我喜欢Solarized主题。我遵循指示安装了它,并选择它作为编辑器的默认主题→颜色和字体。 浅色版的Solarized
IntelliJ有一些奇怪的颜色选择(例如,它采用灰色为默认的文本,而不是更清晰的黑色),所以我在编辑器上进行了修改→Colors &
Fonts→General。我的建议是不要害怕修改颜色为你自己喜欢的。你可以导出你的配置,以防你需要重新安装PyCharm。
相比于别的一些IDE,我觉得PyCharm在视觉上的效果上非常干净,如果你想要一个更简洁的用户界面,您可以隐藏工具栏,工具按钮,导航栏和状态栏(在视图菜单上):
Virtualenv和Python解释器
您可以创建新的项目文件→File→New Project or open an existing project
withFile→Open Directory。
PyCharm支持多种类型的Python项目,如Django,Flask等等。在这里,我将创建一个简单的项目,以测试pyquery库(我会选择“Empty
project”)。
你需要告诉PyCharm你想用哪个Python解释器,因为它可以使用不同的解释器对于不同的项目。它将利用这些信息来索引的所有可用的库。一个好的做法是对于每个项目建立一个virtualenv。您可以使用一个已经存在的virtualenv或从PyCharm创建一个新的(Settings→Project
Interpreter→Python Interpreters)。
对于这个项目,我将创建一个新的virtualenv并使其用于所有的项目:
您可以快速搜索,阅读说明,并从PyCharm安装软件包。没有什么是你在在终端上不能做的,但它能够使你无需离开IDE,更加方便地够搜索包。
一些软件包可能需要安装一段时间,特别是如果他们需要进行编译。 PyCharm运行安装过程是在后台,你可以通过单击状态栏看到正在发生的事情:
正如我们所看到的,它不仅安装pyquery报,所依赖的包,如lxml也一并安装(正如我们所期望的):
快捷键
PyCharm是没有Vim的,但你也可以只靠键盘做很多事情。您可以将快捷方式设置到几十个(如果不是数百个)快捷动作在Settings→Keymap。我修改了相当多的默认键盘映射,因为我喜欢有像Control-a,
Control-e, Control-k,and
Control-y那样的快捷键,而这几个快捷键在默认情况下多用于文本框,并没有设置默认在“Mac OS
X”的键盘映射。您还可以定义鼠标快捷键。举例来说,我使用Option-Click来改变快速文档。如果你是一个Vim的用户,您可能希望尝试一下IdeaVim,一个Vim的仿真器插件。我听说过这个好东西,但我没有机会去尝试它。
我用的是Dvorak keyboard layout,但烦人的是,一但用到不对的快捷键就会有bug。有人反映了这个问题,French Canadian and German layouts也有这个问题。这意味着我必须重新绑定不少的快捷方式来避免这个问题。
PyCharm使用功能键,如F1和F2等很多。正如你可能知道的,在Mac上,顶部的按键多作为默认“多媒体”键,并通过按下Fn键的来生效。我们可以在System Preferences→Keyboard交换这种方式。
我希望能够控制音量和改变亮度,而不需要使用Fn键,但我也喜欢使用功能键,而无需触碰较远的Fn键(我很懒惰,我能说什么?)。我用Palua在“多媒体”和功能键之间切换。你可以用全局键切换,也可以配置Palua在使用特定应用程序时,自动切换。我为所有应用程序使用多媒体键的(默认值),并配置Palua为Xcode和PyCharm使用功能键。
外部编辑器
PyCharm可以启动任何外部工具,所以我将其配置用Emacs来打开当前文件。当你想要利用你喜欢的编辑器(Emacs,Vim,TextMate等等)做一些快速编辑,这非常有用。
进入Settings→External Tools,确保“Open console”未选中,将路径插入程序,参数(在这种情况下,我们可以用FilePath来得到完整的文件名)和工作目录(ProjectFileDir/ FileRelativeDir /)。
你可以把它分配给一个快捷方式:
现在它可以从菜单栏获得。
运行代码和REPL
PyCharm有很多方式来让我们运行代码。我们可以用古老的print 函数(或声明语句,这取决于你的Python版本),在REPL导入代码,发送代码到控制台,使用调试器,或在终端上使用IPython。
打印输出
使用打印来显示值是一个有用的并被广泛使用的技术,但是如果不小心使用的话,它可能会导致混乱的代码。
如果该文件已被选中运行,我们可以通过单击“play”按钮或Control-R来开始。
如果没有选择文件来运行,会从上下文菜单中选择一个文件,用Control-Option-R或右击来运行她。 PyCharm会记住你的选择,下一次你可以继续使用Control-R。这听起来很复杂,但它其实非常简单。检查手册,以便了解更多的信息。
控制台和REPL
我最喜欢的方法是在REPL运行代码。您可以在PyCharm的工具栏中打开一个Python控制台,Tools→Run Python
Console(我已经分配到Control-C)。它会使用IPython(如果可用)(我建议你在virtualenv内安装IPython),并将当前文件的路径添加到Python的路径。在控制台上,你可以像往常一样导入你要来执行的功能。
在控制台中补全功能仍然可用:
我们可以像平时一样正常使用已经导入的函数,并且可以利用⌘–4轻松切换控制台的可视性。
在控制台执行所选择的代码
如果我想运行的代码是多了几个单行,并没有编写正式的单元测试(例如,可能我玩的是数据)我可以将它保存在一个临时文件。我们可以选择我们想要运行的代码(通常我只需要利用⌘-A选择整个文件),并选择从上下文菜单中选择“Execute
Selection in Console”(或者,更好的方式,使用键盘快捷键)。 [我省略了一些菜单项中的截图以使文章短一些。
在下面的例子中,标题变量在控制台中可用,因为我们在控制台中选择整个临时文件来执行:
宏
如果我们可以在一个操作中发送整个文件到控制台,那就太好了。幸运的是,我们可以记录一个宏。选择Select
Edit→Macros→Start Macro Recording and performthe operations as
before(选择整个文件,发送到控制台,切换到控制台)。正如你所看到的,我的宏只有四个动作(我按向下箭头键取消选择):
当您录制的宏已经在宏菜单,你可以分配给它快捷方式(我使用Control-C Control-E,但由于某些原因PyCharm只显示两个快捷方式的一半)。
调试
很多人喜欢使用调试器来检查数据。即使我喜欢使用REPL,有时调试程序更有效,在检验复杂的对象时尤其如此。
PyCharm不允许你在一个空行设置一个断点,因此,在这短短的例子,我不得不添加一个额外的行(我使用print函数,但我本可以使用pass),因为我想要调试停止在设置的headlines变量后。在真正的代码中,很少有这个必要。
IPyhton
最后,利用IPython来运行外部终端并使用一些功能,比如%run和自动重载没有任何不妥。
搜寻命令
这很容易变得不知所措,因为有这么多的命令。如果您在Mac上使用PyCharm,你可以像往常一样使用Help→Search,或者您可以在任何平台上使用Help→Find
Action。它可以让你搜索任何PyCharm命令,包括不能从菜单中获得的。
(Emacs的使用者会注意到这有点类似于Emacs的M-X)。这是非常有用和强大的功能,我一直使用它。
代码补全
代码补全功能在PyCharm上是一流的。默认情况下PyCharm会在你输入的时候给出建议:
由于此功能可有点耗电,你可以通过选择File→Power Save Mode来禁用它。您仍然可以通过Control-Space显式使用这一功能。
在输入的时候,您可以通过键入一个子串来缩小建议列表:
或者,您可以键入CammelCaseClasses或function_names_with_underscores的第一个字母:
如果您键入Ctrl-Space一次,PyCharm将尝试列出最相关的项目:
如果你再次键入Control-Space,将列出它所知道的每一个名字。这可能是压倒性的,但要注意,它列出了没有导入的文件 bar.py中的函数name_of_mother。
但往往你只是想补全在打开的缓冲区中的一个局部变量的名称。很久以前可以在Emacs和Vim实现这一功能,二现在也可以在PyCharm上实现。手册将其称为Hippie
Completion,但实际的命令名称(即,你会发现在Find Action的那个名字)是“Cyclic Expand
Word”,并且在我的测试中,它甚至对文档字符串有效。
代码补全可能无法在某些情况下工作,比如当一个库没有类型提示。这个StackOverflow页面建议在PDB中设置断点并用dir列出所有可能的属性。一个类似的解决方案是在PyCharm创建断点,并执行一条表达式——通过在调试工具栏点击最后一个图标(或使用适当的键盘快捷键)。在这种情况下,我计算的表达式是“dir(r)”。
访问文档
PyCharm有三种方式可以访问文档:快速定义,快速文档,外部文档,以及参数信息。您可以从查看菜单或者从各自的快捷方式去访问它们。
快速定义将显示整个定义的符号(类,方法,功能等)的(废话!),当然也包括文档。如果你只是想快速浏览一下的定义,而跳跃到它是很有用的。
快速文档将显示符号的文档和签名。
最后,外部文档,以及参数信息是非常简单的。第一个在默认浏览器中打开文档,第二个给出了一个函数或方法(例如快速查询关键字参数的名称是很有用)参数信息。
外部文档工作外适用于Python(当然),PyQt4,PySide,GTK,WX,numpy,SciPy,和kivy,并且您可以为外部文档添加路径,在Settings→Python External Documentation中设置。
代码质量
当你在打字的时候,PyCharm会检查你的代码是否符合PEP8。它会让你知道,你是否有太多的空格或空行等等。如果你愿意,你可以配置PyCharm运行pylint作为外部工具。
在源代码找到自己的方式
当你掌握了它的导航命令时,PyCharm开始变得强大起来。它可以跳转到类,函数等等。在Mac上你可以利用⌘-B或者⌘-Click跳转到类,方法,函数,变量的定义,同样在Windows和Linux上使用 或Ctrl-B或者Ctrl-Click。
导航到类,文件或符号的机制几乎是一样的。在你输入一个字符串的时候,你将看到一个对话框,包括你当前项目以外的项目,同市匹配过滤的结果。转至导航菜单或使用相应的键盘快捷键:
这是一个类定义典型的对话框:
你可以输入名称的一部分,包括文件扩展名。举例来说,如果你想打开Django项目的一个JavaScript文件是,但又不记得它的名字,你可以搜索“.js”。
这些功能使我们能够非常快速地浏览源代码。假设我们正在研究Django的源代码,我们希望看到的是功能实现的过程。我们不知道它的定义,所以我们去Navigate→Symbo(⌥-⌘-O),输入“render”,并选择第一个选项(我们可以看到它在django.shortcuts定义)。如果我们隐藏了导航栏,我们可以使用Navigate→Jump到导航栏(⌘-↑),快速显示它并查看该文件定位(django→django→shortcuts.py):
有时在去掉你并不感兴趣的那部分东西之后,代码补全的效率会更高。在下面的例子中,我删除相关的JavaScript的结果,得到了一个更加简洁的列表:
PyCharm可以让你折叠块,如类,方法和函数,但你可以创建自己的可折叠的区域。当涉及到成组的一些东西时,就很有用(类,方法,函数等)。这些模块可以折叠的话,会使我们能够专注于代码的特定区域。你可以通过Navigate→Custom
Region或使用相应的键盘快捷键来显示列表文件中的所有区域。遗憾的是有没有办法在一个工程中列出所有区域。
单元测试
在我们可以运行测试文件之前,我们需要添加一个新的运行/调试配置。我们去Run→Edit Configurations,然后点击在左上角的加号按钮。然后,我们选择“Python tests”,开始测试。在这个例子中,我将使用单元测试:
最后,我们需要添加这些测试的文件夹,并选择正确的Python解释器:
现在就像我们运行代码一样,我们可以运行我们的测试:通过点击工具栏或者选择Run→Run(Control-⌥-R)。这将打开一个对话框,你可以在对话框中选择你想要运行的代码(你可以运行别的)。您可以进行所有测试或仅测试光标。
当你运行测试是,PyCharm会记住你最后的选择,这样你就可以利用Control-R来重复测试。这非常有用,如果你解决了一个特定的测试情况,并希望多次运行它,但不运行其他测试。你并不需要定位到你想要运行的测试文件;你可以从任意文件中运行测试。您可以通过选择Navigate→Test(或相应的热键)完成代码的测试。
处理多个文件
正如你看到的那样,PyCharm为每一个文件使用一个标签
要切换到标签,我们可以使用命令选择下一个标签或者选择上一个标签。默认快捷键是Control-→ 和Control-←,但OS X使用这些按键,让我重新绑定它们至Control-⌘-N
和Control-⌘-P(在终端我使用同样的快捷方式切换标签页)。
一个更直接的方法选定标签就是使用Navigate→File,或者View→Recent Files(⌘-E)和View→Recently
Changed
Files(⇧-⌘-E)。最后两个命令将显示文件,你可以通过输入子串来缩小选择范围。在下面的例子中,我只需要输入“⌘-E”,“S”,“ENTER”键进入scratch.py文件的标签:
多窗口
PyCharm支持多窗口,虽然不如Emacs中那么优秀,但也足够用了。
在默认情况下没有已分配的快捷方式来处理分割窗口,所以你必须自己做。这些是我用的快捷键:
垂直分割,Control-S
水平分割,Control-H
非剖分,Control-C Control-U
非剖分所有,Control-C Control-A
转到下一个分离器,Control -C Control -N
转到上一页分离器,Control -C Control -P
移动到相对组,Control -C Control –M
再有两个窗格的情况下拖动标签比较方便。
总结
PyCharm可以为我们做很多事情。我们看到了如何使用virtualenv,定义快捷键,使用外部编辑器,运行代码,定义宏,找到查找操作命令,可以高效地进行代码完成,访问文档,浏览源代码,运行单元测试,并处理多个文件和分割的窗口。
而这些只是表面文章。我们还没有谈论编辑,版本控制,插件,调试(本地和远程),模板,使用捆绑的TextMate,网络开发等等更多的功能。
我建议你检查PyCharm的官方文档,包括快速入门指南和在线帮助。此外,Andrew Brookins从Vim用户的角度写了一片很好的PyCharm评论。我推荐你去阅读一下,即使你不使用Vim。
6. Python 入门指南之使用 Python 解释器
Python 解释器通常被安装在目标机器的 /usr/local/bin/python3.5 目录下。将 /usr/local/bin 目录包含进 Unix shell 的搜索路径里,以确保可以通过输入:
命令来启动他。[1] 由于 Python 解释器的安装路径是可选的,这也可能是其它路径,你可以联系安装 Python 的用户或系统管理员确认(例如, /usr/local/python 就是一个常见的选择)。
在 Windows 机器上,Python 通常安装在 C:Python35 位置,当然你可以在运行安装向导时修改此值。要想把此目录添加到你的 PATH 环境变量中,你可以在 DOS 窗口中输入以下命令:
通常你可以在主窗口输入一个文件结束符(Unix 系统是 Control-D ,Windows 系统是 Control-Z )让解释器以 0 状态码退出。如果那没有作用,你可以通过输入 quit() 命令退出解释器。
Python 解释器具有简单的行编辑功能。在 Unix 系统上,任何 Python 解释器都可能已经添加了 GNU readline 库支持,这样就具备了精巧的交互编辑和 历史 记录等功能。在 Python 主窗口中输入 Control-P 可能是检查是否支持命令行编辑的最简单的方法。如果发出嘟嘟声(计算机扬声器),则说明你可以使用命令行编辑功能;更多快捷键的介绍请参考 交互式输入行编辑 历史 回溯。如果没有任何声音,或者显示 ^P 字符,则说明命令行编辑功能不可用;你只能通过退格键从当前行删除已键入的字符并重新输入。
Python 解释器有些操作类似 Unix shell:当使用终端设备(tty)作为标准输入调用时,它交互的解释并执行命令;当使用文件名参数或以文件作为标准输入调用时,它读取文件并将文件作为 脚本 执行。
第二种启动 Python 解释器的方法是 python -c command [arg] ... ,这种方法可以在 命令行 执行 Python 语句,类似于 shell 中的 -c 选项。由于 Python 语句通常会包含空格或其他特殊 shell 字符,一般建议将 命令 用单引号包裹起来。
有一些 Python 模块也可以当作脚本使用。你可以使用 python -m mole [arg] ... 命令调用它们,这类似在命令行中键入完整的路径名执行 模块 源文件一样。
使用脚本文件时,经常会运行脚本然后进入交互模式。这也可以通过在脚本之前加上 -i 参数来实现。
调用解释器时,脚本名和附加参数传入一个名为 sys.argv 的字符串行表。你能够获取这个列表通过执行 import sys ,列表的长度大于等于1;没有给定脚本和参数时,它至少也有一个元素: sys.argv[0] 此时为空字符串。脚本名指定为 '-' (表示标准输入)时, sys.argv[0] 被设定为 '-' ,使用 -c 指令 时, sys.argv[0] 被设定为 '-c' 。使用 -m 模块 参数时, sys.argv[0] 被设定为指定模块的全名。-c 指令 或者 -m 模块 之后的参数不会被 Python 解释器的选项处理机制所截获,而是留在 sys.argv 中,供脚本命令操作。
从 tty 读取命令时,我们称解释器工作于 交互模式 。这种模式下它根据主提示符来执行,主提示符通常标识为三个大于号( >>> );继续的部分被称为 从属提示符 ,由三个点标识( ... )。在第一行之前,解释器打印欢迎信息、版本号和授权提示:
输入多行结构时需要从属提示符了,例如,下面这个 if 语句:
关于交互模式更多的内容,请参见 交互模式。
默认情况下,Python 源文件是 UTF-8 编码。在此编码下,全世界大多数语言的字符可以同时用在字符串、标识符和注释中 — 尽管 Python 标准库仅使用 ASCII 字符做为标识符,这只是任何可移植代码应该遵守的约定。如果要正确的显示所有的字符,你的编辑器必须能识别出文件是 UTF-8 编码,并且它使用的字体能支持文件中所有的字符。
你也可以为源文件指定不同的字符编码。为此,在 #! 行(首行)后插入至少一行特殊的注释行来定义源文件的编码:
例如,如果你的编辑器不支持 UTF-8 编码的文件,但支持像 Windows-1252 的其他一些编码,你可以定义:
这样就可以在源文件中使用 Windows-1252 字符集中的所有字符了。这个特殊的编码注释必须在文件中的 第一或第二 行定义。
Footnotes
7. 好用的python入门书籍
关于python的好书很多,这里从入门到进阶以此给你推荐一些:
1.Python编程:入门到实践
理论和实践恰到好处,行文逻辑流畅,不跳跃,手把手教的感觉,却绝不啰嗦,非常适合入门。小编强烈推荐这本书,书中涵盖的内容是比较精简的,没有艰深晦涩的概念,最重要的是每个小结都附带有”动手试一试”环节,学编程最佳的方式就是多动动手、多动动脑。
2.Python基础教程第2版
学习一门编程语言的最好方法就是真正使用它
这本书内容涉及的范围较广,既能为初学者夯实基础,又能帮助程序员提升技能,适合各个层次的Python开发人员阅读参考。
3.笨办法学Python
编程入门的必备书,从一个个的小例子入手,不仅是教你写Python代码,还有编程的技巧。
这是一本Python入门书籍,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。
4.Python for data analysis
还在苦苦寻觅用Python控制、处理、整理、分析结构化数据的完整课程?本书含有大量的实践案例,你将学会如何利用各种Python库高效地解决各式各样的数据分析问题。这本书介绍了ipython 、notebook、Numpy、Scipy和Pandas包的使用等,只要掌握了python的基本语法就可以学习。
8. 新手学python用什么书
于我个人而言,我很喜欢Python,当然我也有很多的理由推荐你去学python.我只说两点.一是简单,二是写python薪资高.我觉得这俩理由就够了,对不对.买本书,装上pycharm,把书上面的例子习题都敲一遍.再用flask,web.py等框架搭个小网站..完美...(小伙伴们有问到该学python2.7还是3.X,那我的答案是:目前大多数实际开发,都是用2.7的,因为实际项目开发有很多依赖的包,都只支持到2.7,你用3.X干不了活.那你能怎么办.所以不需要纠结.等3.X普及,你写的2.7代码,都可以无痛移植,妥妥的不用担心.)
推荐课程:Python教程。
第一个,个人认为《Python学习手册:第3版》是学习语言基础比较好的书了.
《Python学习手册(第3版)》讲述了:Python可移植、功能强大、易于使用,是编写独立应用程序和脚本应用程序的理想选择。无论你是刚接触编程或者刚接触Python,通过学习《Python学习手册(第3版)》,你可以迅速高效地精通核心Python语言基础。读完《Python学习手册(第3版)》,你会对这门语言有足够的了解,从而可以在你所从事的任何应用领域中使用它。
《Python学习手册(第3版)》是作者根据过去10年用于教学而广为人知的培训课程的材料编写而成的。除了有许多详实说明和每章小结之外,每章还包括一个头脑风暴:这是《Python学习手册(第3版)》独特的一部分,配合以实用的练习题和复习题,让读者练习新学的技巧并测试自己的理解程度。
《Python学习手册(第3版)》包括:
类型和操作——深入讨论Python主要的内置对象类型:数字、列表和字典等。
语句和语法——在Python中输入代码来建立并处理对象,以及Python一般的语法模型。
函数——Python基本的面向过程工具,用于组织代码和重用。
模块——封装语句、函数以及其他工具,从而可以组织成较大的组件。
类和OOP——Python可选的面向对象编程工具,可用于组织程序代码从而实现定制和重用。
异常和工具——异常处理模型和语句,并介绍编写更大程序的开发工具。
讨论Python3.0。
《Python学习手册(第3版)》让你对Python语言有深入而完整的了解,从而帮助你理解今后遇到的任何Python应用程序实例。如果你准备探索Google和YouTube为什么选中了Python,《Python学习手册(第3版)》就是你入门的最佳指南。
第二个,《Python基础教程(第2版·修订版)》
也是经典的Python入门教程,层次鲜明,结构严谨,内容翔实,特别是最后几章,作者将前面讲述的内容应用到10个引人入胜的项目中,并以模板的形式介绍了项目的开发过程,手把手教授Python开发,让读者从项目中领略Python的真正魅力。这本书既适合初学者夯实基础,又能帮助Python程序员提升技能,即使是Python方面的技术专家,也能从书里找到耳目一新的内容。
第三个《“笨办法”学Python(第3版)》
是一本Python入门书籍,适合对计算机了解不多,没有学过编程,但对编程感兴趣的初学者使用。这本书结构非常简单,其中覆盖了输入/输出、变量和函数三个主题,以及一些比较高级的话题,如条件判断、循环、类和对象、代码测试及项目的实现等。每一章的格式基本相同,以代码习题开始,按照说明编写代码,运行并检查结果,然后再做附加练习。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲授到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。
【大牛评价】hardway(笨办法)比较适合起步编程,作为Python的入门挺不错。
第四个,在这里给大家推荐最后一本《集体智慧编程》
本书以机器学习与计算统计为主题背景,专门讲述如何挖掘和分析Web上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信息,并得出有用的结论,通过复杂的算法来从Web网站获取、收集并分析用户的数据和反馈信息,以便创造新的用户价值和商业价值。
全书内容翔实,包括协作过滤技术(实现关联产品推荐功能)、集群数据分析(在大规模数据集中发掘相似的数据子集)、搜索引擎核心技术(爬虫、索引、查询引擎、PageRank算法等)、搜索海量信息并进行分析统计得出结论的优化算法、贝叶斯过滤技术(垃圾邮件过滤、文本过滤)、用决策树技术实现预测和决策建模功能、社交网络的信息匹配技术、机器学习和人工智能应用等。
本书是Web开发者、架构师、应用工程师等的绝佳选择。
“太棒了!对于初学这些算法的开发者而言,我想不出有比这本书更好的选择了,而对于像我这样学过Al的老朽而言,我也想不出还有什么更好的办法能够让自己重温这些知识的细节。”
——DanRussell,资深技术经理,Google
“Toby的这本书非常成功地将机器学习算法这一复杂的议题拆分成了一个个既实用又易懂的例子,我们可以直接利用这些例子来分析当前网络上的社会化交互作用。假如我早两年读过这本书,就会省去许多宝贵的时间,也不至于走那么多的弯路了。”
——TimWolters,CTO,CollectiveIntellect
9. 怎样才能学好python语言
第一:道——明确目标
其实很多人在学习Python之前很少想这个,因为很多人说:现在Python很火呀,所以我么需要学。这个其实跟你自己没有什么关系,例如:你曾经想做一个网站不会开发,现在可以做了,现在Python很火并且你也要学来找工作,未来Python很火,我具备了Python的技能会不错。
在一生中,我们或多或少总会卡到目标上。在一些我们擅长的领域,我们会有明确的目标,并且积极指导别人:亲!干事之前,你要先定目标啊!
王健林的小目标,大家在朋友圈也都看过了,他会定先挣它一个亿。
第二:法——做好你学习Python的系统规划
1.目前市场需求主流的岗位里,你得选择一个其中你目前看来可以学,并且最敢兴趣学习的方向;
2.在方向选择好后,对照招聘网站:拉勾、智联、Boss直聘等网站的岗位要求,进行学习内容的统计与大概的记录;
3.分模块的计划你学习这个模块的时间和完成的大概目标;
4.列出你可能出现的学习误差与为之准备的应对方案;
好了,你发现没有,其实任何学习重要的不是有什么资料,核心是如何学,学多久,有没有时间限制,遇到过自己多次学习某个内容或者其他人学习某个内容,最关键的一点是在起步阶段,开始属于激情期,激情在前面释放越多,后面的持续力就很弱,好了这就是关于学习计划。
废话说多了,那我们来看看一个普适性的学习Python的流程;
1天——下载并安装好学习环境:到www.python.org网站上下载一个python3.0以上的版本。我建议初学者,不要下载具有IDE功能的集成开发环境,比如Eclipse插件等。
4周——下载一些python的学习文档,比如《简明Python教程》,《笨办法学Python》等等。通过学习语法,掌握python中的关键字语法,函数语法,数学表达式、变量、数据结构、语法等等等
1. 了解Python是什么,都能做些什么?
2. 知道什么是变量、算法、解释器
3. Python基本数据类型
4. 列表和元组的操作方法
5. 字符串操作方法
6. 基本的字典操作方法
7.任何知识它的基础知识都是有些枯燥的,现在我们就可以动手来做一些逻辑层面的东西了。掌握 if、else、elif、while、for、continue、break和列表推导式等这些语句的使用,还有程序中的异常处理。
2周——看完基础后,就是做一些小项目巩固基础,python具备很好的交互学习模式,对于书本上的例子我们可以通过交互平台进行操练,通过练习加深印象,达到学习掌握的目的。
2周——通过以上三个步骤的学习后,我们大致掌握了python的常用方法、关键字用法以及函数语法等。接下去的学习上,我们就可以着手学习常用模块的使用, 比如os,os.path,sys,string模块等。我们可以在交互环境中先熟悉使用其中的函数,如果遇到函数的使用上的问题,可以参考python 安装后的自带chm帮助文件。
2周——为了更好得掌握python,我们的学习不能只是停留在学习一些语法或者api阶段。在此阶段中,我们可以尝试用python解决我们项目中遇到的一 些问题,如果项目不是用python开发的,那我们可以想想能不能用python制作一些项目组可以使用的一些工具(utility),通过这些工具简化 项目组成员的任务,提高我们的工作效率。如果没有项目,我们也可以自己找些题目来自己练习练习。
2周——Python库是Python的精华所在,可以说Python库组成并且造就了Python,Python库是Python开发者的利器,所以学习Python库就显得尤为重要:
2周——经过以上锻炼后,我们的python知识水平肯定是越来越高。接下去的学习,我们就要更上一层楼。为了学以致用,真正能应用于项目开发或产品开发,我 们还必须学习企业应用开发中必须要掌握的网络和数据库的知识。在此的学习就不光是python语言本身的学习了,如果之前没有学习和掌握很网络和数据库知 识,在此阶段我们可以借此机会补习一把。
3周——到此阶段,我们已经是真正入门了。在接下去的工作中,就是要快速地通过我们的所学来服务项目了。在此阶段,我们除了掌握python自带的模块外,我 们最好在掌握一些业界广泛使用的开源框架,比如twisted、peak、django、xml等。通过熟练使用它们,达到闪电开发,大大节省项目宝贵时间。
《Python 核心编程》,介绍了 Python 的一些具体领域的开发方法;
《Python 网络数据采集》,很简单的爬虫入门书;
《利用 Python 进行数据分析》,介绍了 Pandas 和 NumPy 的用法;
《Flask Web 开发》,如何用 Flask 写一个博客。
第三:术——你具体的学习手段
1.每天你计划学习多少时间?例如一天必须学2小时,每天坚持;
2.每个阶段的计划拖延时间不能高于多少时间?
3.如果一个阶段不顺利如何调整?
其实很多时候,并不是资料不够多,而是本身的学习思路和计划出现了问题,那么其实最后学习Python的结果会变成:懂得了很多道理,收集了很多资料,依然学不好Python。
下面我们推荐6本高分书籍给大家,希望大家学习愉快:
1.Python编程:从入门到实践
豆瓣评分:9.5
内容简介:本书由奋战在Python开发一线近20年的Luciano Ramalho执笔,Victor Stinner、Alex Martelli等Python大咖担纲技术审稿人,从语言设计层面剖析编程细节,兼顾Python 3和Python 2,告诉你Python中不亲自动手实践就无法理解的语言陷阱成因和解决之道,教你写出风格地道的Python代码。
10. 最受大家推崇的 Python 书籍有哪些
严正提醒! 想提升学习效率,请务必先找准基准线,提高自己对学习材料的品位。
要知道,这个时代,获取信息的路径虽短,获取优质知识的隐性成本却很高。选错学习的“姿势”,白花钱不说,流失了宝贵时间和学习热情才坑!
选一本 有专业人士背书 、 久经读者考验 的技术教程,你便找到了这个领域的基准线。以此来构建自己的知识体系,相信我,绝对能少走很多弯路。
那么,哪些Python学习书称得上是“基准”担当呢?不妨继续往下看:
文末有惊喜
文末有惊喜
GitHub上有一位叫皮埃尔·德·沃尔夫(Pierre de Wulf)的童鞋,通过以下方法,检索到了25本网上引用最多的 Python 书籍。
一起看看都有哪些经典 Python 书吧~
希望这些经典的 Python 书籍能够让题主的 Python 学习之路更高效,更踏实!
作者: [美] Mark Lutz
——内容简介——
这本书全面、深入地介绍了 Python 语言,不管你是编程新手还是 Python 初学者,它将帮助你快速实现使用 Python 编写高质量,且易于与其他语言和工具集成的代码。本书每一章都是关于Python语言独立的内容,并且带有练习和测试,简单易学,适合入门。
作者:[美]David Beazley, Brian K. Jones
——内容简介——
这本独特的“食谱”介绍了 Python 语言应用在各个领域中的使用技巧和方法,其主题涵盖了数据结构和算法,字符串和文本,迭代器和生成器,数据编码与处理,模块和包,网络和Web编程,并发,实用脚本和系统管理,测试、调试以及异常,C语言扩展等等内容。
每个“配方”均包含可立即在项目中使用的代码示例,以及Python应用中常见的问题和通用的解决方案。非常适合具有一定编程基础的Python程序员阅读。
Python Cookbook(第3版)中文版
作者: [巴西] Luciano Ramalho
——内容简介——
Python的简单性可以使你快速提高生产力,但这通常意味着你没有使用它所提供的一切。
本书致力于帮助Python开发人员挖掘这门语言及相关程序库的优秀特性,避免重复劳动,同时写出简洁、流畅、易读、易维护,并且具有地道Python风格的代码。本书尤其深入探讨了Python语言的 高级用法 ,涵盖数据结构、Python风格的对象、并行与并发,以及元编程等不同的方面。通过本书,Python程序员将全面学习如何精通Python 3。
作者: [美] Eric Matthes
——内容简介——
本书是一本针对所有层次的 Python 读者而作的 Python 入门书。
全书分两部分:第一部分介绍用Python 编程所必须了解的 基本概念 ,包括matplotlib、NumPy 和Pygal 等强大的Python 库和工具介绍,以及列表、字典、if 语句、类、文件与异常、代码测试等内容;第二部分将理论付诸 实践 ,讲解如何开发三个项目,包括简单的 Python 2D 游戏 开发,如何利用数据生成交互式的信息图,以及创建和定制简单的 Web 应用,并帮读者解决常见编程问题和困惑。
作者:Paul Barry
——内容简介——
你是否想学习 Python 而不用费心地看手册?
本书通过一种独特的超越语法手册的方式来帮助你学习Python。你将能够快速掌握 Python 的基础知识,然后扩展到持久化、异常处理、Web开发、SQLite、数据处理和Google应用引擎中去。你也将学会如何为 Android 编写移动应用,这要感谢Python带给你的强大能力。本书融合了完备的学习经验,它将帮助你快速成为一名真正的 Python 程序员。
作者: [美]Albert Sweigart
——内容简介——
如果你花了数小时重命名文件或更新了数百个电子表格单元格,你就会知道像这样的任务多么繁琐。 但是,如果可以让你的计算机为你做这些事情呢?可能只用几分钟吧。
本书是一本面向实践的Python编程实用指南。你将学习 Python 的基础知识,并 探索 用 Python 丰富的模块库来执行任务,例如从网站上抓取数据,阅读PDF和Word文档以及自动执行单击和键入任务等。
通过阅读本书,读者将学会利用强大的 Python 语言和工具,并且会体会到 Python 编程的快乐。
作者: [美] Zed A.Shaw
——内容简介——
本书是一本 Python 入门书籍。作者 Zed Shaw 完善了这个堪称世上最好的 Python 学习系统。只要跟着学习,你就会和迄今为止数十万 Zed 教过的初学者一样获得成功。
这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。你将学会怎样阅读、编写、思考代码,以及如何用专业程序员的技巧来找出并修正错误。
作者:Wes McKinney
——内容简介——
本书由 Python pandas 项目创始人 Wes McKinney 亲笔撰写,详细介绍利用 Python 进行操作、处理、清洗和规整数据等方面的具体细节和基本要点。虽然“数据分析”是本书的标题,但重点是Python编程,库和工具,而不是数据分析方法。这是数据分析所需的 Python 编程。
作者: [美]布雷特·斯拉特金(Brett Slatkin)
——内容简介——
用 Python 编写程序是相当容易的,所以这门语言非常流行。但若想掌握 Python 所特有的优势、魅力和表达能力,则相当困难,而且语言中还有很多隐藏的陷阱,容易令开发者犯错。本书可以帮你掌握真正的 Pythonic 编程方式,令你能够完全发挥出 Python 语言的强大功能,并写出健壮而高效的代码。
作者: [美] 艾伦 B. 唐尼
——内容简介——
本书以培养读者 以计算机科学家一样的思维方式 来理解Python语言编程。贯穿全书的主体是如何思考、设计,以及开发的方法。
全书详细介绍了 Python 编程语言的方方面面,从基本的编程概念到函数,递归,数据结构和面向对象编程等等。每一章都配有术语表和练习题,方便读者巩固所学的知识和技巧。此外,作者针对每章所专注的语言特性,或者相关的开发问题,总结了调试的方方面面。
作者:[德]达恩·巴德尔(Dan Bader)
——内容简介——
这本书将通过简单的示例和分步说明来介绍 Python 的最佳实践以及 Python 代码的强大魅力。借助本书,你将专注于真正重要的实践技能,在 Python 的标准库中发现“隐藏的金子”,距离精通 Python 更近一步!
作者:[美]Sebastian Raschka, Vahid Mirjalili
——内容简介——
本书是关于使用 Python 进行机器学习和深度学习的综合指南。 它既是分步教程,又是构建机器学习系统时不断翻阅的参考书。
本书包含清晰的注释,可视化效果和工作示例,深入介绍了基本上所有的机器学习技术。 虽然有些书只教您遵循说明,但在本书中,作者讲授了机器学习的原理,这使你可以自己构建模型和应用程序。
作者: Mark Pilgrim
——内容简介——
有很多 python 开发人员需要学习将代码移植到python 3,而本书是为他们提供最新版本 python 介绍的最佳书籍。它独特的风格是先提供大量代码然后将其分解,非常适合希望快速了解新版本语言的现有开发人员。
作者: [美] David M.Beazley
——内容简介——
本书是 Python 编程语言的权威参考指南,内容涉及核心 Python 语言和 Python 库的最重要部分,内容简洁扼要、可读性强。书中还包括了一些没有在 Python 官方文档或其他资料中出现过的一些高级主题的详细信息。
这一版在内容上进行了全面更新,介绍了 Python 2.6 和 Python 3 新引入的编程语言特性和库模块,同时还分析了Python程序员面临的如下难题:是应继续使用现有的 Python 代码,还是应制定计划将其移植到Python 3?
作者: 卢茨 (Mark Lutz)
——内容简介——
当掌握 Python 的基础知识后,你要如何使用 Python?本书为这门语言的主要应用领域提供了深度教程,譬如系统管理、GUI 和 Web,并 探索 了其在数据库、网络、前端脚本、文本处理等方面的应用。你将学到清晰、简洁明了的语法和编程技巧,并伴随大量的示例来展示正确的用法和惯例。
作者: [德]安德里亚斯·穆勒,[美]莎拉·吉多
——内容简介——
本书是机器学习入门书,以 Python 语言介绍。
书中重点讨论机器学习算法的实践而不是背后的数学,全面涵盖在实践中实现机器学习算法的所有重要内容,帮助读者使用 Python 和 scikit-learn 库一步一步构建一个有效的机器学习应用。
本书将向所有对机器学习技术感兴趣的初学者展示,自己动手构建机器学习解决方案并非难事!
作者: [美] Alex Martelli,Anna Ravenscroft,Steve Holden
——内容简介——
本书适合具有一定 Python 编程经验或者有其他语言编程基础的程序员阅读,它涵盖了广泛的应用领域,包括 Web和网络编程,XML处理,数据库交互以及高速数值计算。该实用手册的第三版提供了对该语言的快速参考(包括Python 3.5、2.7和3.6的亮点)。
作者: [美] Al Sweigart
——内容简介——
本书通过编写一个个小巧、有趣的 游戏 来教授Python编程,并且采用直接展示 游戏 的源代码并通过实例来解释编程的原理的方式。首先构建 猜数字 和 Tic Tac Toe 这样的经典 游戏 ,然后逐步开发更高级的 游戏 ,在此过程中,你将学习关键的编程和数学概念,这将帮助你在轻松有趣的过程中,掌握 Python 游戏 编程的基本技能。
全书共21章,12个 游戏 程序和示例贯穿其中,介绍了Python基础知识、数据类型、函数、流程控制、程序调试、流程图设计、字符串操作、列表和字典、笛卡尔坐标系、密码学基础、 游戏 AI模拟、动画图形、碰撞检测、声音和图像等方方面面的程序设计知识。
作者:Mark Lutz
——内容简介——
对于新的Python 3.4 和 2.7 而言,这款便捷的袖珍指南是完美的实战快速参考书。你将会从中学习有关Python类型和语句,特殊方法名,内建函数与异常,常用的标准库模块及其他卓越的Python工具。
作者:[美] Kenneth Reitz,Tanya Schlusser
——内容简介——
本书是 Python 用户的一本网络式学习指南,本书由 Python 社区的大神 Kenneth Reitz 发起并组织编写,由社区数百名开发者集体奉献。其特色在于,近乎完整地总结了在 Python 编程中会用到的各种实践技巧和经验,涵盖众多主流的应用场景,并告诉你如何提高效率、避免踩坑、编写高质量的代码。
本书着重于可重用的代码,重于设计理念,将读者引向已存在的优秀资源,适合有一定Python基础的人员学习,帮助你迅速从小工修炼成专家,编写出高质量的代码!
========
以上python书籍我已整理电子版本
获取方式:
转发+私信“1”获取,
私信方式:第一步:点击头像
旁边有个私信按钮,点击回复“1”即可!