Python 都有哪些入门学习方法和值得推荐的经典教材?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 都有哪些入门学习方法和值得推荐的经典教材?相关的知识,希望对你有一定的参考价值。
如果你有一定的计算机编程知识基础,那么很容易学;再如果你对编程十分感兴趣,那么很容易学的。
1,找到合适的入门书籍,大致读一次,循环啊判断啊,常用类啊,搞懂(太难的跳过)
2,做些简单习题,字符串比较,读取日期之类 Python Cookbook不错(太难太无趣的,再次跳过,保持兴趣是最重要的,不会的以后可以再学)
3,加入Python讨论群,态度友好笑眯眯(很重要,这样高手才会耐心纠正你错误常识)。很多小问题,纠结许久,对方一句话点播思路,真的节约你很多时间。耐心指教我的好人,超级超级多谢。
4,解决自己电脑问题。比如下载美剧,零散下载了2,4,5,8集,而美剧共12集,怎样找出漏下的那几集?然后问题分解,1读取全部下载文件名,2提取集的数字,3数字排序和(1--12)对比,找出漏下的。
5,时刻记住目的,不是为了当程序员,是为了解决问题。比如,想偷懒抓网页内容,用urllib不行,用request也不行,才发现抓取内容涉及那么多方面(cookie,header,SSL,url,javascript等等),当然可以听人家劝,回去好好读书,从头读。 或者,不求效率,只求解决,用ie打开网页再另存为行不行?ie已经渲染过全部结果了。 问题变成:1--打开指定的10个网页(一行代码就行)。更复杂的想保存呢?利用已经存在的包,比如PAM30(我的是Python3),直接打开ie,用函数outhtml另存为文本,再用搜索函数(str搜索也行,re正则也行)找到数据。简单吧?而且代码超级短。
6,保持兴趣,用最简单的方式解决问题,什么底层驱动,各种交换,留给大牛去写吧。我们利用已经有的包完成。
7,耐心读文档,并且练习快速读文档。拿到新包,找到自己所需要的函数,是需要快速读一次的。这个不难,读函数名,大概能猜到是干嘛的,然后看看返回值,能判断是不是自己需要的。
8,写帮助文件和学习笔记,并发布共享。教别人的时候,其实你已经自己再次思考一次了。 我觉得学程序就像学英文,把高频率的词(循环,判断,常用包,常用函数)搞懂,就能拼装成自己想要的软件。 一定要保持兴趣,太复杂的跳过,就像小学数学,小学英语,都是由简入深。 网络很平面,无数国际大牛著作好书,关于Python,算法,电脑,网络,或者程序员思路,或者商业思维(浪潮之巅是本好书)等等,还有国际名校的网络公开课(中英文字幕翻译完毕,观看不是难事),讲计算机,网络,安全,或者安卓系统,什么都有,只要能持续保持兴趣,一点点学习下去,不是难事。 所有天才程序员,都曾是儿童,回到儿童思维来理解和学习。觉得什么有趣,先学,不懂的,先放着,遇到问题再来学,效果更好。 唯一建议是,不要太贪心,耐心学好一门优雅的语言,再学其它。虽然Javascript做特效很炫,或提某问题时,有大牛建议,用Ruby来写更好之类,不要改方向。就像老笑话:“要学习递归,必须首先理解递归。”然后死循环一直下去。坚持学好一门语言,再研究其他。 即使一门语言,跟网络,数据库等等相关的部分,若都能学好,再学其他语言,是很快的事情。 另外就是,用学英文的耐心来学计算机,英文遇到不懂的词,抄下,查询。 python里,看到Http,查查定义,看到outHtml,查查定义,跟初学英语时候一样,不要直接猜意思,因为精确描述性定义,跟含糊自然语有区别的。而新人瞎猜,很容易错误理解,wiki,google很有用。
对于python初学者来说,能找到一个好老师学习格外重要,这能决定你是不是可以做出好的项目,在python开发的路上越走越轻松,如果现在的你缺乏学习经验,找不到老师指导你学习,可以加企 鹅扣-Q前面112再加上中间的983以及最后四位数4903,连在一起就可以了。
如果说汇编是第一代编程语言,那么C和C++是第二代编程语言,C#和Java等等是第三代编程语言,Python和其他类似的脚本语言就是第四代编程语言(除汇编外这些语言都是C语系下的编程语言,可以进行类比),从C++开始是个分水岭,它是通过面向对象和对底层技术的封装,使编程向高级编程过度,到Python已经是很简历通俗了,至少是跟之前比,所以如果说python不易学,那其他语言怎么办呢,几乎每本python的教材都会先表明python是一门易学易用的语言,这也是这个语言被创造出来的宗旨之一,另外Google的程序猿很喜欢用Python编写各类工具,因为它的语言简历,编码效率高,让用惯了其他语言的人,乐意去用这门新的语言,也说明它的易学性。
另外从广义讲,Python不仅是一门编程语言,还是一个编程的平台,在这个平台下,有着安装各种扩展、框架的工具pip,有着打包工具setuptools等等等等,这些工具已经很成熟,而且易于上手,另外Python有很多很好的编程工具(集成开发环境)可以用,如PyCharm等,这也使的新人很容易上手,不像其他不成熟的编程语言工具贫乏,编写和运行程序如连电路板一般。
参考技术A 我刚学python3个月不到,分享一下我的学习经验。半年前从某大牛同学那里听说了python很不错,一直想学习,不过自己很懒,就没动手。
今年寒假的时候,我和几个同学开始筹划着搞一个网站,讨论用什么写的时候,我想到了python。(最终我们就是用了python,然后使用了web.py的框架)。
寒假里面我看的第一本书是《python基础教程》,也是那个某大牛推荐给我的,这本书从python的基础讲起,省略了一些太细节的或者说太神奇的python特性,关注python的应用。那上面最后有几章python的开发案例,很有借鉴意义。
我用python写的第一个程序是金山快盘的签到程序,参考了部分别人的代码,当时对很多python库都一无所知,从那时才开始用起来的。
然后开学了,趁着手熟,正好要选课,我用python完成了自动抢课的一个小程序,默默开了两周,真抢到课了但是我又不想上了就退了=。=
然后网易来交大校招暑期实习,当时一热血,我报了python的岗,考了笔试。这次笔试成为了我一个巨大的转折点,我发现我什么都不会(真心很捉急啊,其实才学了1个月,自以为很牛真去考了)。列表推导式,lambda表达式,装饰器...等等无数我基本处于空白阶段,我感觉我写python跟写C一样,无比丑陋,一点pythonic的样子都没有。
然后我就不开心了,又是快一个月,我一有空就去github或者python社区看别人写的代码,思考别人的经验,这一段时间整理了好几篇博客,都是有关python的。有人说,学习多少编程语言不重要,如果一门新的编程语言改变了你的思考方式,那才是真正学到了。我第一次开始有追求漂亮的很酷的代码的欲望,所以我学着研究python里面不同于C的特性,向函数式编程什么的,然后去使用它。比如现在时不时我会把一段代码用map/reduce实现,时不时我会使用python的迭代器,生成器。总之这一段时间,我的学习是通过首先观察别人简洁的代码和风格,然后自己去研究python的特性,然后动手去实现去应用。
这一段时间我抽空也会翻一翻python的《cookbook》,上面有很多小问题的solution,很有借鉴意义。
我自己感觉现在我用python作为平时的工具已经熟练了,下面的阶段我是想多研究一下面向对象这一块的东西。其实像python我觉得入门了,就不需要别的书了,直接去看document会更好,上面都是很全面很标准的一些东西。之后多写多练,搞一些小程序,学习一些常见的库,用好python基本就没问题了。多练很重要,除了小程序,python有不少做网站的开源框架,学习一个做一个网站也不错。
python是一个快速发展的语言,还在不断变化,如果热爱python可以多去各种社区看看最新的消息。如果只是作为一个工具的话,用好了也是很happy的,库很多很方便,基本上可以完成任何你能想到的工作,特别是很多的工作拿C实现很麻烦的,python就很方便。我最近在搞一个学校里面的邮件处理的项目,统一一个邮箱,老师们有通知就发到那个邮箱,python可以自动把邮件取出来读进数据库然后放到网站上,这些python都可以做到。
要是深入下去的话,可以研究一下python的源码,或者python一些库的源码,都是C实现的。 参考技术B 入门教材的话,推荐 《Python核心编程(第二版)》 参考技术C 入门推荐《简明Python教程》。
《简明 Python 教程》 中文版
http://www.ppvke.com/class/detailcontent/?hid=202&tid=100074
《Python学习手册》
http://www.ppvke.com/Answer/?/question/275
《Python语言入门》
http://www.ppvke.com/Answer/?/question/145
《Learning Python》第5版]
http://www.ppvke.com/Answer/?/question/639
《Python Algorithms》
http://www.ppvke.com/Answer/?/question/640
《python for data analysis》
http://www.ppvke.com/Answer/?/question/641
《Natural Language Processing with Python》中文版
http://www.ppvke.com/Answer/?/question/698
《Python核心编程》 第二版]
http://www.ppvke.com/Answer/?/question/25281
《Python基础教程》 第二版]
http://www.ppvke.com/Answer/?/question/25282
Python学习手册(Learning Python)第四版英文版
http://www.ppvke.com/Answer/question/25718
Python数据分析基础教程:NumPy学习指南(第2版)
http://www.ppvke.com/Answer/question/25775
《Introduction to Python for Econometrics, Statistics and Data Analysis》
http://www.ppvke.com/Answer/question/25822
《Python Data Visualization Cookbook》
http://www.ppvke.com/Answer/question/25823
《SciPy and NumPy》
http://www.ppvke.com/Answer/question/26250 参考技术D head first python...
Windows端都有哪些FTP客户端软件值得推荐
Windows端有哪些FTP客户端软件值得推荐?
Filezilla
FileZilla是一个免费的 FTP 客户端软件,虽然它是免费软件,可功能却一点也不含糊,比起那些共享软件来有过之而无不及,在新的版本中作者改进了手动下载的界面和功能等,不过该软件暂时还是不支持断点续传功能。总的来说是一款优秀的免费软件。
功能介绍:
1、易于使用
2、支持FTP, FTP并支持SSL/TLS (FTPS)协议,支持SSH文件传输协议(SFTP)
3、跨平台。在 Windows, Linux, *BSD, Mac OS X 和其它平台下运行 more
4、支持IPv6协议
5、多种可用的语言(包含中文)
6、断点续传且支持容量大于4GB的文件
7、多标签用户界面
8、功能强大的站点管理器(Site Manager)和传输队列管理
9、书签功能
10、拖拽功能支持
11、支持传输限速功能
12、文件名过滤器
13、文件夹比较功能
14、网络设置向导
15、远程文件编辑功能
16、保持链接功能
17、支持HTTP/1.1, SOCKS5 和 FTP代理(FTP-Proxy)
18、登录到文件功能
19、同步文件夹浏览
20、远程查找文件
LeapFtp
LeapFTP是一款小巧强大的FTP工具之一,友好的用户界面,稳定的传输速度,LeapFTP与FlashFXP 、CuteFTP堪称FTP 三剑客。FlashFXP传输速度比较快,但有时对于一些教育网FTP站点却无法连接;LeapFTP传输速度稳定,能够连接绝大多数FTP站点(包括一些教育网站点);CuteFTP虽然相对来说比较庞大,但其自带了许多免费的FTP站点,资源丰富。总之来说,三者各有所长。
功能介绍:
1、进行FTP、FXP、SSL的FTP、SFTP、HTTP和HTTPS传输
2、代理支持包括socks4代理/ 5时,HTTP,检查点,WinGate软件,以及其他软件。
3、多用户模式,适应本地,网络和便携式装置
4、上下文敏感和HTML帮助所有窗口和对话框
5、自动更新检查(只有注册用户)
传输功能:
1、多服务器传输引擎
2、基于规则的重复的文件处理
3、高速上传和下载限制
4、自动文件模式对UNIX服务器的可执行文件
5、跳过列表定义文件和文件夹都没有转移
6、保护自动恢复中断传输
7、内嵌压缩为FTP(模式Z)和SSH的
8、调度一次性和经常性转移
高级功能:
1、自定义命令
2、脚本语言
3、会议记录和传输
4、远程监控传输(密码保护的网络门户)
5、外壳扩展创建为上传服务器拖放目标
6、重新映射的端口与路由器端口重定向命令
7、多个界面结合
8、拨号网络接口自动拨号和关闭连接
9、远程目录搜索
10、可调式的TCP / IP缓冲区的大小
11、本地文件散列的CRC32 / MD5的/的SHA1
FlashFXP
FlashFXP是功能强大的FXP/FTP软件。融合了一些其他优秀FTP软件的优点,如像CuteFTP一样可以比较文件夹,支持彩色文字显示;像BpFTP支持多文件夹选择文件,能够缓存文件夹;像LeapFTP一样的外观界面,甚至设计思路也差相仿佛。支持文件夹 (带子文件夹)的文件传送、删除;支持上传、下载及第三方文件续传;可以跳过指定的文件类型,只传送需要的文件;可以自定义不同文件类型的显示颜色;可以缓存远端文件夹列表,支持FTP代理及Socks 4&5;具有避免空闲功能,防止被站点踢出;可以显示或隐藏“隐藏”属性的文件、文件夹;支持每个站点使用被动模式等。
FlashFXP可用于:
1、发布和维护你的网站。
2、上传和下载文件,照片,视频,音乐和更多!
3、本地和远程文件传输或备份。
4、共享您的文件与您的朋友和同事使用功能强大的站点管理器。
5、我们强大的传输调度安排和自动化文件传输。
软件特色:
1、完全绿色便携化
2、基于官方版本制作,保留中英语言
3、不需要任何注册码,启动就是授权版
4、完善官方没有汉化的一处字符
WinSCP
Winscp是一个windows环境下使用ssh的开源图形化sftp客户端。同时支持scp协议。它的主要功能就是在本地与远程计算机间安全的复制文件。
应用特性:
1、图形用户界面
2、界面多语言,包括简体、繁体中文
3、与Windows集成(拖拽、URL、快捷方式)
4、支持所有常用文件操作
5、支持基于SSH-1、SSH-2的SFTP和SCP协议
6、支持批处理脚本和命令行方式
7、多种半自动、自动的目录同步方式
8、内置文本编辑器
9、支持SSH密码、键盘交互、公钥和Kerberos(GSS) 验证
10、通过与Pageant(PuTTY Agent)集成支持各种类型公钥验证
11、提供Windows Explorer与Norton Commander两种界面
12、可以存储会话信息
13、可使用单独的配置文件,以取代注册表,可拷贝到U盘使用
Cute FTP Pro
Cute FTP Pro传输速度比较快,但有时对于一些教育网FTP 站点却无法连接;速度稳定,能够连接绝大多数 FTP 站点(包括一些教育网站点);CuteFTP 虽然相对来说比较庞大,但其自带了许多免费的 FTP 站点,资源丰富。
CuteFTP Pro通过构建于SSL或SSH2安全认证的客户机/服务器系统进行传输,为VPN、WAN、Extranet开发管理人员提供最经济的解决方案!企业再不需要为了一套安全的数据传输系统而进行破费了。
此外,CuteFTP Pro还提供了Sophisticated Scripting、目录同步、自动排程、同时多站点连接、多协议支持(FTP、SFTP、HTTP、HTTPS)、智能覆盖、整合的HTML编辑器等功能特点以及更加快速的文件传输系统。
XFTP
XFTP是一款灵活且便捷的SFTP/FTP客户端,让需要进行文件传输的用户操作更加方便。它能够提供强大的操作功能,如:直接编辑、多窗口打开、FXP支持、文件同步,服务器与服务器传输文件和第三方编辑器集成。
主要特点:
1、同步导航
网站管理员经常需要使用并共享相同目录结构的多个主机,然而一次浏览每个主机是非常耗时的,Xftp 5则引入了同步的导航功能来解决这个问题。 您可以在其中一台主机上导航,其他主机将会查找相同的目录并自动导航。
2、支持IPv6
最近越来越多的公司和国家正在采用IPv6。加入迁移到具有版本5的IPv6支持的最新网络平台。无论您是同时使用IPv4还是IPv6,还是完全在IPv6网络上,我们的软件都可以满足您的需求。
3、使用MIT Kerberos进行客户端验证
Kerberos广泛应用于当今使用的各种操作系统的企业环境中,需要集中的用户认证。 Kerberos的集中式身份验证方法为用户提供更安全、更方便的访问服务器。为了满足企业用户的需求,Xftp 5包括对MIT Kerberos认证的支持。
4、灵保持更快的更新
在当今快节奏和不断变化的IT行业中,运行最稳定和最安全的软件是必须的。我们定期发布我们的软件更新,其中包括错误修复,安全补丁和一些新功能。我们在Xftp 5中的新的Live Update功能检查新的更新,并在用户可用时通知用户。在保持更新方面,现在比以前更加快捷和方便了。
参考技术AFilezilla
flashfxp
cuteftp
leapftp
winsfp
这类的ftp软件太多了,老魏常用在魏艾斯笔记服务器中的是 winsfp这个SFTP软件,协议与ftp协议差不多,比较好用。
参考技术B云帮手,
可视化面板,远程登录桌面,文件传输。可以管理多台云主机。
云帮手地址
以上是关于Python 都有哪些入门学习方法和值得推荐的经典教材?的主要内容,如果未能解决你的问题,请参考以下文章