Python基础——Python简介

前言:这是小编我第二次学习python,因为距离第一次学习python已经有很长一段时间了,所以语法和编程方式已经生疏,这次想借着一丝丝对python的映像从头开始学习并尝试完善自己之前没有填过坑的博客,同时也会记录一些自己的学习心得体会和个人对python语法或编程的见解.

Python是什么?

  • 是一种编程语言: python是一种高级编程语言,高级编程语言相对于机器语言(直接操作系统内存大量使用二进制进行编码),封装了很多底层指令集,并且增加许多容易让人理解的复杂指令集,在这种语言下,其语法和结构更类似汉字或者普通英文,且由于远离对硬件的直接操作,使得一般人更容易学习。
  • 是面向对象的编程语言:
  • 是更加强大的解释性语言: python最初的设计是为了编写自动化脚本,但是随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。而解释性语言的特性则是运行代码的时候不需要进行编译产生中间的字节码,直接在解释器里面运行源码,这么做实在是太棒了,你不仅仅可以在给代码调试时实时修改代码参数查看运行结果,也可以在你导入一个外部框架时,直接查看有注释的框架源码,无需通过反编译或者再次到对应框架网站上下载源码包。值得留意的是,python在运行的时候也会对源码进行编译,这样可以加快在系统上的运行效率,这个过程是由运行环境自动执行。
  • 是简单,易懂,高效可扩展的编程语言: Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。值得让人高兴的是,python和C++,Java相比有着非常严格的代码格式,Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。 并且Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字。妈妈再也不用担心阅读代码的时候眼睛疼了。Python本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C++、Cython来编写扩充模块。

Python的运行方式

  • 交互|命令行模式: 因为解释性语言的独特性质,python能够像在终端中输入命令行的形式进行交互,通过用户输入的一行代码,回车后会自动执行这行代码并输出结果。从而达到实时预览的效果。
  • 脚本模式: 此模式下和执行shell,php,js脚本一样,通过将多行python语句写入.py文件中一并执行 。

Python能做什么?

  • 用于编程教学: Python作为一门简单易懂的编程语言,自然学习起来会比其他语言要容易,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计,在国内目前Python已经作为入门编程的教科书语言,对于刚入门编程的新手来说你可能第一个接触到的编程语言不再是java或C++,而是Python。当然如果想要更加深入的理解编程语言的运作原理,最好还是去学习C++并翻阅编译器的相关资料。
  • 用于科学计算与数据分析: Python有着非常强大的数据处理分析扩展包,并且众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV三维可视化库VTK医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy (NumPy教程)SciPy (SciPy教程)matplotlib (matplotlib教程),它们分别为Python提供了快速数组处理数值运算以及绘图功能。你能在很短的时间内对数据进行制表,修改格式,筛选过滤等操作,这些方法无一例外都是已经集成在扩展包内的,你不用去重复开发类似功能的扩展。
  • 用于网络爬虫: 如果你正在学习爬虫,那么这很有可能是你来看我这篇博客的原因,这也是我为什么再次学习Python的原因,Python爬虫被广泛作为爬虫教学的执行语言,而且Python也有着众多实用的爬虫框架,例如知名的多线程爬虫Scrapy(Scrapy教程),强大的网络爬虫系统PySpider(PySpider教程),目前有着众多的科研机构使用Python搭建的爬虫获取数据。
  • 用于软件开发: 虽然很多人都说Python因为其解释性语言的特性,对性能的消耗会比其它如C++要慢很多,但其实Python在运行的时候是会自动进行部分编译从而提高性能的,并且按照目前软件开发行业的需求,对性能的需求只有极少部分业务才会需要,而这一部分完全可以使用高性能语言进行开发,利用Python的超强扩展性进行融合,例如Google内部的很多项目,如Google Engine使用C++编写性能要求极高的部分,然后用Python或Java/Go调用相应的模块。所以写代码的时候就不要抱怨python慢,好好考虑自己的代码是不是优化渣

Python的使用群体

  • 学生: 如果你是个刚学习编程的学生,你可以通过学习Python更好的理解什么是面向对象编程,当然也由于Python高度封装底层程序的缘故,你可能从事编程的其他领域的时候还需要再学习其他语言。
  • 科研人员: Python有着许多科学处理的包,并且提供了JupyterBook这种交互式运行界面可以非常直观的将数据运算结果在界面中显示并保存下来,而且Python的平台兼容性允许你在不同的设备中运行展示你的计算结果,许多学者为Python开发的科学包是最好的证明。
  • 数据分析|数据获取: 这也是我这次学习Python的首要目的,并且之后关于Python的博客可能主体会偏向爬虫和数据分析这个方向,Python有着非常方便的数据分析和获取包,你能在很短时间内进行学习并使用。
  • 开发个人网站: 如果你有属于自己的伺服器,想自己搭建一个小网站,Python是一个绝佳的选择,Flask框架可以帮助你快速搭建网站,并且学习成本可能只有几十个小时。
  • 软件工程师: 如果你是专门做Python软件开发的工程师,学习Python毋庸置疑,并且需要深入了解Python本人的博客可能无法满足您的需求,但是如果是为了编写大型业务程序而专门学习Python可能就有些不值得了,应为您应该有您更加擅长的语言,Python此时应该是作为一种辅助。

Python学习参考网站

发布了10 篇原创文章 · 获赞 11 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/day_to_die/article/details/104033088