文章目录
一、编程语言分类
- 源代码(Source Code):编程语言是人与计算机沟通的介质,也是控制计算机的指令(Instruction),有固定的格式和词汇。这些按照特定的格式构成特定含义的词汇、语句称为源码或代码(Code)。
- 语法(Syntax):编程语言规定了源代码中每个词汇、语句的含义和如何组织在一起,这就是语法。
- 编程(Program):编写源代码的过程。编程是人把命令用计算机编程语言翻译出来并写到文件里(这一系列的文件就是程序),让计算机按照人类的思维逻辑(程序)自发去工作。从事编程工作的人叫程序员(Programmer)
考点:硬件 + 操作系统 == 平台
1.机器语言
机器语言直接用二进制编程,属低级语言(低级指底层、贴近计算机硬件)。用二进制代码0,1描述的指令称为机器指令。计算机内部基于二进制指令工作,所以机器语言直接控制计算机硬件。
1.执行效率最高:编写的程序可以被计算机无障碍理解、直接运行,执行效率高
2.开发效率最低:复杂,开发效率低
3.跨平台性差:贴近\依赖具体的硬件,跨平台性差
2.汇编语言
汇编语言用一个英文标签代表一组二进制指令,汇编语言的本质是直接操作硬件,因此汇编语言仍是较低级/底层的语言、贴近计算机硬件。源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
1.执行效率高:相对于机器语言,使用英文标签编写程序相对简单,执行效率高,但较之机器语言稍低
2.开发效率低:仍然直接操作硬件,比起机器语言,复杂度稍低,但依旧居高不下,所以开发效率依旧较低
3.跨平台性差
3.高级语言
1)编译型
把程序所有代码编译成计算机可识别的二进制指令,操作系统会用编译好的二进制指令直接操作硬件
1.执行效率高:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(即机器语言),因此目标程序可以脱离语言环境独立执行,使用方便,执行效率较高
2.开发效率低:应用程序一旦需要修改,必须先修改源代码,然后重新编译、生成新的目标文件才能执行,而在只有目标文件而没有源代码,修改会很不方便。所以开发效率低于解释型
3.跨平台性差
编译型代码仅针对一个平台翻译,平台改变须重新编译,即跨平台性差。大多数编程语言都是编译型。
编译程序将源程序翻译成目标程序后保存在另一个文件中,该目标程序可脱离编译程序直接在计算机上多次运行。大多数软件产品以目标程序形式发行给用户的,不仅便于直接运行,同时又使他人难于盗用其中的技术。C、C++、Ada、Pascal都是编译实现的。
2)解释型
类似同声翻译,需要有一个解释器,解释器会读取程序代码,一边翻译一边执行
1.执行效率低
解释型语言实现的过程中,翻译器并不产生目标机器代码,而是产生易于执行的中间代码,这种中间代码与机器代码不同,中间代码的解释是由软件支持的,不能直接使用硬件,软件解释器通常会导致执行效率较低
2.开发效率高
用解释型语言编写的程序由另一个可以理解中间代码的解释程序执行,解释程序的任务是逐一将源程序的语句解释成可执行的机器指令,无需将源程序翻译成目标代码再执行。解释程序的优点是当语句出现语法错误时,可立即引起程序员的注意,而程序员在程序开发期间就能进行校正
3.跨平台性强
代码运行依赖于解释器,不同平台有对应版本的解释器,所以解释型的跨平台性强
解释型语言需专门的解释器解释执行程序,每条语句仅在执行时才被翻译,这种解释型语言每执行一次就翻译一次,因而效率低下。一般动态语言都是解释型的,如:Tcl、Perl、Ruby,VBScript、JavaScript
二、Python入门准备
1.Python的实现
CPython 是得到广泛使用的 Python 实现,虽然官方 Python 实现差不多得到最广泛的欢迎,但也有一些其他实现对特定领域的用户来说更具吸引力。
知名的实现包括:
-
CPython
这是最早出现并持续维护的 Python 实现,以 C 语言编写。新的语言特性通常在此率先添加。
-
Jython
以 Java 语言编写的 Python 实现。 此实现可以作为 Java 应用的一个脚本语言,或者可以用来创建需要 Java 类库支持的应用。 想了解更多信息请访问 Jython 网站。
-
Python for .NET
此实现实际上使用了 CPython 实现,但是属于 .NET 托管应用并且可以引入 .NET 类库。它的创造者是 Brian Lloyd。想了解详情可访问 Python for .NET 主页。
-
IronPython
另一个 .NET 版 Python 实现,不同于 Python.NET,这是一个生成 IL 的完整 Python 实现,并会将 Python 代码直接编译为 .NET 程序集。 它的创造者就是当初创造 Jython 的 Jim Hugunin。 想了解更多信息,请参看 IronPython 网站。
-
PyPy
一个完全用 Python 语言编写的 Python 实现。 它支持多个其他实现所没有的高级特性,例如非栈式支持和即时编译器等。 此项目的目标之一是通过允许方便地修改解释器(因为它是用 Python 编写的)来鼓励对语言本身的试验。 更多信息可在 PyPy 项目主页 获取。
以上这些实现都可能在某些方面与此参考文档手册的描述有所差异,或是引入了超出标准 Python 文档范围的特定信息。
2.Python解释器
-
定义:Python解释器是基于C语言开发的软件,功能是读取以
.py
结尾的文件内容,并按照定义的语法和规则翻译和执行相应的代码。这种用C实现的解释器称为 CPython。 -
解释器和语言的关系:
- 应用程序:Python解释器是一款应用程序,专门用来解释并执行Python语言的代码。
- 性能影响:Python程序最终由解释器执行,因此解释器的性能直接影响Python程序的执行效率。
3.环境变量
-
定义:环境变量是操作系统中指定运行环境参数的对象,如临时文件夹位置和系统文件夹位置等。
-
功能:
- 操作系统中的作用:环境变量在操作系统中包含了一个或多个应用程序将使用的信息。例如,
PATH
环境变量指定了系统查找可执行文件的路径。 - 用户设置:用户可以通过设置环境变量来更好地运行进程。
- 操作系统中的作用:环境变量在操作系统中包含了一个或多个应用程序将使用的信息。例如,
4.Python运行方式
-
交互式模式:即时得到程序结果,多用于调试。
-
脚本文件:将程序写进文件(后缀名为
.py
),然后用Python解释器解释执行其中的内容,将代码永久保存。
5.IDE(集成开发环境)
-
定义:IDE全称Integrated Development Environment,是一种集成了多种软件功能的开发环境,具有代码提示和纠错等功能,极大地提升程序员的开发效率。
-
最佳选择:开发Python程序最好的IDE是 PyCharm。
三、Python项目组成与命名
1.Python项目组成
- 顶层的包(类似文件夹)
- 各个模块(Python file)
- 类(class 定义类)
- 变量和方法(函数)其中方法中也可以定义变量(方法中的变量)。
- 类(class 定义类)
- 各个模块(Python file)
2.Python命名规范
1)项目
首字母大写+大驼峰,如ProjectName
2)包
使用小写字母命名。多个单词之间用下划线分隔。
3)模块
使用小写字母命名。多个单词之间用下划线分隔。
4)类/异常
(驼峰命名法)
首字母大写+大驼峰。Python中一个模块可以包含多个类。私有类名称需要以下划线开头。如:HelloWorld
或 _HelloWorld
;
5)函数
使用小写字母命名。多个单词之间用下划线分隔。私有函数名称需要以下划线开头。
6)变量
使用小写字母命名。多个单词之间用下划线分隔。私有变量名称需要以下划线开头。
7)常量/全局变量
使用大写字母命名。多个单词之间用下划线分隔。私有常量名称需要以下划线开头。
命令行 | 格式化代码块 | 注释 |
---|---|---|
win+R | Ctrl+alt+L | Ctrl+? |
书签 | ||
Ctrl+F11+所选数字,字母等 |
四、转义字符
转义字符 | 说明 |
---|---|
\n | 换行符,将光标位置移到下一行开头 |
\r | 回车符,将光标位置移到本行开头 |
\t | 水平制表符,也即 Tab 键,一般相当于四个空格 |
\a | 蜂鸣器响铃。注意不是喇叭发声,现在的计算机很多都不带蜂鸣器了,所以响铃不一定有效 |
\b | 退格(Backspace),将光标位置移到前一列 |
\\ | 反斜线 |
\' | 单引号 |
\" | 双引号 |
\ | 在字符串行尾的续行符,即一行未完,转到下一行继续写 |
转义字符在书写形式上由多个字符组成,Python 将它们看作是一个整体,表示一个字符