1.前言
伟大的python之父Guido van Rossum曾经说过:
懒惰的人最怕浪费自己的努力。
最近python很火,也感兴趣的接触了一下,先学为敬。
如果你想要做网页你肯定选择HTML,CSS,JavaScript网页三剑客;做系统架构肯定首选Javaee;你做人工智能,数据分析那肯定要学Python。
其次并不是所有的编程语言都要学习。如果你确定了未来的方法,那么就可以建立技术栈,针对性的选择学习就可以了。
你要想清楚你是想要做web开发呢,还是系统架构,还是数据分析等等,只有方向确定了,才能知道怎么走过去!
毕竟,选对行业很重要!你选对了方向,就大胆的往前走。
2.什么是Python?
Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
Python解释器易于扩展,可以使用C或[C++](或者其他可以通过C调用的语言)扩展新的功能和数据类型。 Python 也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。
简单来说Python就是一门计算机编程语言,类似于Java,c语言等等。在多个领域都有广泛的应用,比如当下最火热的大数据分析,人工智能,Web开发等等。
说来Python的诞生也是很奇葩。
1989年圣诞节,在阿姆斯特丹,为了打发无聊的圣诞时间,年轻人Guido[Guido van Rossum]决定开发一个新的编程语言。之所以取名为Python(大蟒蛇),是因为他是Monty Python喜剧团体的爱好者。于是,Python,就诞生了,技术大牛就是这么的"随心所欲"。
对没错,我就是被这位大神的衣服给迷住了。
3.Python是什么样子的?
Python的语法非常接近英语,风格统一,非常优美,而且内置了很多高效的工具。打个比方,同样一项工作,C语言要1000行,Java要100行,Python可能只要10行。
下面是Python和Java的对比:
4.Python能做什么?
1、Web开发
结合python、html、css、javascript、数据库等开发一个网站。
2、数据科学
数据科学,包括了机器学习,数据分析和数据可视化。
将Python用于机器学习:可以研究人工智能、机器人、语言识别、图像识别、自然语言处理和专家系统等
将Python用于数据分析/可视化:大数据分析等等
3、网络爬虫
网络爬虫又称网络蜘蛛,是指按照某种规则在网络上爬取所需内容的脚本程序。众所周知,每个网页通常包含其他网页的入口,网络爬虫则通过一个网址依次进入其他网址获取所需内容。
在爬虫领域,Python是必不可少的一部分。将网络一切数据作为资源,通过自动化程序进行有针对性的数据采集以及处理。
4、自动化运维
随着技术的进步、业务需求的快速增长,一个运维人员通常要管理上百、上千台服务器,运维工作也变的重复、繁杂。把运维工作自动化,能够把运维人员从服务器的管理中解放出来,让运维工作变得简单、快速、准确。
5、嵌入式应用开发
6、游戏开发
7、桌面应用开发
总结
优点
简单:
Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
易学:
Python极其容易上手,因为Python有极其简单的说明文档 。
速度快:
Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。
免费、开源:
Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。
高层语言:
用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
可移植性:
由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。
解释性:
一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。
运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。
在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。
面向对象:
Python既支面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
可扩展性:
如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。
可嵌入性:
可以把Python嵌入C]/C++程序,从而向程序用户提供脚本功能。
丰富的库:
Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI图形用户界面、Tk和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
规范的代码:
Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。
缺点
单行语句和命令行输出问题:很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。
独特的语法
这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员,也可能陷入陷阱当中。
评论区