学习新的语言,自然知道这么语言能干什么?为什么来学?
本人使用C/C++的时候,越是熟练,发现c++编程需要手动完成的事情太多;在写小项目的时候会过多的把精力浪费在非业务编程上(现在的小公司没有库可以使用);
因早期做过Python编译器的开发,了解过一点Python基本语法,那时候是用c语言开发Python编译器的,发现各种Python语言的优势,今天闲下来所以想学习下Python这门编程语言;
一、Python能做什么-----------学习的动力
- 系统编程
- 用户图形接口
- Internet脚本
- 组件集成
- 数据库编程
- 快速原型
- 数值计算和科学计算编程
- 游戏、图像、人工智能、XML、机器人等
在不了解的情况下,自然是看书可度娘咯,以上所列的Python能做的事项都是《Python学习手册》第四版一书上所写,具体能不能做,好不好做,本人知道的不全面
个人主要目的是为了在现在的工作时不想用c++去写MFC啦,不想学习java和JS搭建web啦,对Python有点了解,干脆继续深入学习;
1.系统编程:
说白了就是Shell编程,当然Python是跨平台的,可以在Linux,Window和Mac上完成类似Shell脚本编程;
Python程序可以搜索文件和目录树、可以运行其他程序,用进程或线程进行并行处理等,且是可以跨平台的,对系统维护的相当方便,个人觉得比Shell强大;
Python的标准库绑定了POSIX以及其他的常规操作系统工具: 环境变量、文件、套接字、管道进程、多线程、正则表达式模式匹配、命令行参数、标准流接口、
Shell命令启动器、文件名扩展等;如果要是从事运维工作的话,个人建议Python是不错的选择的;(POSIX)
2.用户图形接口:
可以调用MFC的,可以用QT,可以用Java的;当然自身内置TKinter标准面向对象几口TK GUI API
第一次尝试发现比MFC、QT等都方便,代码量少;如:
多的不说有时间慢慢玩;不是主要目的,继续介绍;
3.Interner脚本:
哇,我最想学的地方!
书上是这么说的:
Python提供了标准的Internet模块,它使得Python程序能够广泛地在多种网络任务中发挥作用,无论是服务器还是客户端;
脚本可以通过套接字进行通信;从发给服务器端的CGI脚本的表单中提取信息;通过FTP传输文件;解析、生成和分析XML文件;发送、接收、编写和
解析Email;通过URL获取网页;从获取的网页中解析HTML和XML文件;通过XML-RPC、SOAP和Telnet通信等;
针对Python的web开发工具包: Django、TurboGears、web2py、Pylos、Zope和WebWare;
哎,一堆没听过的词,慢慢百度吧;
4.组件集成:
Python能嵌入c/c++ java等语言,和其他语言一起完成混合编程(具体查看《Python学习手册》)
5.数据库编程:
Python提供了对所有主流关系数据库系统的接口如 Sybase/Oracle/ODBC/MySQL/PostgreSQL/SQLite等;Python定义了一种通过Python脚本存取SQL数据库
系统的可移植的数据库API,这API对于各种地产应用的数据库系统都是统一的;哇,好强大呀,从此不用c++访问数据库啦,什么ADO,ODBC等啥的真难用;
6.快速原型
项目开始时用Python做系统原型之后再将组件移植到c或c++等编译语言上即可;(Python开发非常迅速)
7.数值计算和科学计算编程
有个NumPy数值编程扩展包等高级工具;详细的以后项目需要再研究;
8、游戏、图像、人工智能、XML、机器人等;
书上和网上都说的好好,现在不研究;
最后,其实我是觉得c++写小东西好麻烦,写网站更不用说了,不想加班的,公司不限制语言的,可以尝试下Python