我的第一次随笔!

Python语言简介

    不知不觉学习python也有1个多月了,通过这段时间的学习,让我从“hello world”都不懂的小白,渐渐的可以自己码一些简单的代码。在讲师的带领下,慢慢的对python有了不一样的感觉。这是我们学校新开的一门课,也让我受益了不少,我觉得python的语言比较高级,需要掌握的知识点会比较深,一些代码也跟之前学习Java,C语言都有点不太一样。但是python很有趣,有创意,可以在不同的平台上操作并运行它,很是方便。但是学习python还是要特别注意一些方面,比如:1.对于函数及函数的参数;2.数据类型;3.语法;4.面向对象;5.循环;6.递归;7.重视语言特性。

1.python的背景以及历史

  Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。

  Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。

  像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。

  现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。

2.Python语言的特点

  • 易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
  • 易于阅读:Python代码定义的更清晰。
  • 易于维护:Python的成功在于它的源代码是相当容易维护的。
  • 一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好
  • 互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断
  • 可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
  • 可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
  • 数据库:Python提供所有主要的商业数据库的接口。
  • GUI编程:Python支持GUI可以创建和移植到许多系统调用。
  • 可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

 

Python的运行方式

  首先,先自己安装PyCharm软件和下载sdk。其次,第三方库则可以是自己编写,并且调用自己编写的模块。python是一门解释型的语言。像c语言之类的都是编译型语言,编译型语言的意思是在程序执行之前,先会通过编译器对程序执行一个编译的过程,将程序变成机器语言(0和1)。而python一类的解释型语言没有编译过程,而是在程序运行的时候,通过解释器对程序进行逐行解释,然后运行。
之后又学习了三元运算: 还学习了列表的一些相关知识:

1.命名规则:

name=[]//命名规则

2.增

name.append("lei")  #追加值放在列表最后
name.insert(1,"chen")  #1表示插的位置,想插在哪就写哪个位置

3.删

1.name.pop()//删
2.name.remove()//删等等一些相关的列表知识。

Python程序的运行原理

  学习Python前,我们先来了解下Python程序的运行原理.这样有助于我们后期的学习中了解这个程序是怎么运行的,以及对相关的原理有个大致的认识.
Python程序运行一般包含以下四个步骤:

  • 词法分析

  • 句法分析

  • 编译

  • 解释

词法分析:词法分析的工作就是将输入的原始代码分解成一些符号,例如标识符,关键字,操作符等,这个过程是编译器自动运行,一般不会产生任何错误.

句法分析:词法分析之后,程序会接收到分析之后的符号,并且用一种结构来展现他们之间的关系(使用的是抽象语法树)

编译:在句法分析后,Python会接收这颗抽象语法树,并将它转化为一个或多个代码对象,通过编译器编译出==字节码(也就是中间码)==.(除了复用性较高的字节码.其他字节码都会在程序运行完后被删除)

解释:进过编译得到字节码之后,需要让我们程序真正的在平台上跑起来,还需要对字节码转为机器能够识别的==机器码==,这个过程叫做解释.

Tips:机器码和字节码的区别

1.机器码是能够在处理器上直接执行的执行码,每条执行控制cpu的工作.简而言之,机器码运行速度要比字节码快很多.

2.字节码是需要在虚拟机这个抽象的计算机中执行,每条执行有虚拟机去处理,最后再由虚拟机转换成机器码和计算机本身去交互,也正是有了中间这个过程,导致字节码运行起来没有机器码那么迅速.

单从语言的本身的执行效率来讲,编译型的语言一般都要比解释型的语言运行效率更低.举个简单的例子:
java<Python<C

Q&A

  python很好玩,希望再接再厉发现它更好玩的地方,这是我的第一次博客随笔,有写错的地方望理解,多看点理论知识,多实践。

 

猜你喜欢

转载自www.cnblogs.com/lzx20171437/p/10628939.html