Python入门篇-基础语法

                                           作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

 

一.编程基础

1>.程序

  一组能让计算机识别和执行的指令。

程序
1>.算法+ 数据结构= 程序
2>.数据一切程序的核心
3>.数据结构是数据在计算机中的类型和组织方式
4>.算法是处理数据的方式,算法有优劣之分


写程序难点
1>.理不清数据
2>.不清处理方法
3>.无法把数据设计转换成数据结构,无法把处理方法转换成算法
4>.无法用设计范式来进行程序设计
5>.世间程序皆有bug,但不会debug

2>.电子计算机

  能够执行程序的机器。

3>.现代计算机

   艾伦·麦席森·图灵(Alan Mathison Turing,1912年6月23日-1954年6月7日),出生于英国伦敦,毕业于普林斯顿大学,英国数学家、逻辑学家,被称为计算机科学之父,人工智能之父。图灵提出的著名的图灵机模型为现代计算机的逻辑工作方式奠定了基础。

Python入门篇-基础语法

   冯·诺依曼(John von Neumann,1903~1957),出生于匈牙利,毕业于苏黎世联邦工业大学,数学家,被后人称为“计算机之父”和“博弈论之父”。

Python入门篇-基础语法

4>.冯·诺依曼体系架构

   CPU由运算器和控制器组成。

  运算器,完成各种算术运算,逻辑运算,数据传输等数据加工处理。

  控制器,控制程序的执行。

  存储器,用于记忆程序和数据,例如内存。

  输入设备,将数据或者程序输入到计算机中,例如键盘,鼠标。

  输出设备,将数据或程序的处理结果展示给用户,例如显示器,打印机等。

Python入门篇-基础语法

5>. 计算机语言

  人与计算机之间交互的语言。

6>.机器语言

  一定位数组成二进制的0和1的序列,称为机器指令。机器指令的集合就是机器语言。

  与自然语言差异太大,难学、难懂、难写、难记、难查错。

7>.汇编语言

用一些助记符号替代机器指令,称为汇编语言。ADD A,B 指的是将寄存器A的数与寄存器B的数相加得到的数放到寄存器A中。

汇编语言写好的程序需要汇编程序转换成机器指令。

汇编语言只是稍微好记了些,可以认为就是机器指令对应的助记符。只是符号本身接近自然语言。

 

二.语言分类

1>.低级语言

面向机器的语言,包括机器语言、汇编语言

不同的机器不能通用,不同的机器需要不同的机器指令或者汇编程序

2>.高级语言 

接近人类的自然语言和数学语言的计算机语言。

高级语言首先要书写源程序,通过编译程序把源程序转换成机器指令的程序。

1954年正式发布的Fortran语言是最早的高级语言,本意是公式翻译

人们只需要关心怎么书写源程序,针对不同机器的编译的事交给编译器关心处理

3>.低级语言到高级语言的区别

语言越高级,越接近人类的自然语言和数学语言。

语言越低级,越能让机器理解。

高级语言和低级语言之间需要一个转换的工具:编译器、解释器。

C、C++等语言的源代码需要本地编译。

Java、Python、C#的源代码需要被解释器编译成中间代码(Bytecode),在虚拟机上运行。

4>.编译语言和解释器语言的区别

编译语言:
    把源代码转换成目标机器的CPU指令,即可以直接执行,速度快。

解释语言:
    解释后转换成字节码,运行在虚拟机上,解释器执行中间代码,即边解释边执行,速度慢。

5>.高级语言的发展

非结构化语言
1>.编号或标签、GOTO,子程序可以有多个入口和出口
2>.有分支、循环

结构化语言
1>.任何基本结构只允许是唯一入口和唯一出口
2>.顺序、分支、循环,废弃GOTO

面向对象语言
1>.更加接近人类认知世界的方式,万事万物抽象成对象,对象间关系抽象成类和继承
2>.封装、继承、多态

函数式语言
1>.古老的编程范式,应用在数学计算、并行处理的场景。引入到了很多现代高级语言中
2>.函数是“一等公民”,高阶函数

 

三.Python解释器

官方CPython
    C语言开发,最广泛的Python解释器

IPython
    一个交互式、功能增强的Cpython

PyPy
    Python语言写的Python解释器,JIT技术,动态编译Python代码

Jython
    Python的源代码编译成Java的字节码,跑在JVM上

IronPython
    p 与Jython类似,运行在.Net平台上的解释器,Python代码被编译成.Net的字节码

 

四.基础语法

1>.注释

#!/usr/bin/env python
#_*_coding:utf-8_*_
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
#EMAIL:y1053419035@qq.com
以“#”号开头的一般都是注释行

相关文章: