Python 简明教程
Python vs C++
Python 是一种通用的高级编程语言。Python 用于网站开发、机器学习和其他前沿软件开发。Python 适用于初学者和经验丰富的 C++ 和 Java 程序员。 Guido Van Rossam 在 1989 年于荷兰国家研究中心创建了 Python。Python 在 1991 年发布。
C 是一种中级、区分大小写、面向对象编程语言。Bjarne Stroustrup 在贝尔实验室创建了 C。C 是一种独立于平台的编程语言,可用于 Windows、Mac OS 和 Linux。C 接近硬件,允许低级编程。这为开发者提供了对内存的控制、提高的性能和可靠的软件。
阅读本文档以获取 C++ 和 Python 的概述,以及了解这两种编程语言之间的不同。
What is Python?
Python 目前是最广泛使用的编程语言之一。它是一种解释性的高级编程语言。与其他语言相比,Python 的学习曲线低得多,并且易于使用。
Python 是工作在 Artificial Intelligence 、 Machine Learning (ML) 、 Data Science 、 Internet of Things (IoT) 等领域专业人员的首选语言,因为它不仅非常适合脚本应用程序,而且也非常适合独立程序。
此外,Python 是首选语言的原因还包括,它易于学习。得益于其出色的语法和可读性,维护成本降低了。程序的模块化和代码的可重复使用性,都有助于支持各种包和模块。
使用 Python,我们可以执行 −
-
Web development
-
数据分析和机器学习
-
Automation and scripting
-
软件测试及更多
Features
以下列出 Python 的一些重要功能 –
-
Easy to learn - Python 具有简单的结构、少量关键字和清晰的语法。这使得学生可以快速学习。用 Python 编写的代码更易于阅读和理解。
-
Easy to maintain - Python 的源代码非常容易跟进。
-
A large standard library - Python 的大多数库易于移动,并在 UNIX、Windows 和 Mac 上运行。
-
Portable - Python 可以在各种硬件平台上运行,并且所有平台使用相同的界面。
Python Example
看看以下简单的 Python 程序 −
a = int(input("Enter value for a"))
b = int(input("Enter value for b"))
print("The number you have entered for a is ", a)
print("The number you have entered for b is ", b)
在我们的示例中,我们采用了两个变量“a”和“b”,并为这些变量分配了一些值。请注意,在 Python 中,我们无需显式声明变量的数据类型,因为 PVM 将根据用户的输入分配数据类型。
-
input() 函数用于 take input from the user 通过键盘。
-
在 Python 中,input() 的返回类型是字符串,因此我们必须将其显式转换为所需的数据类型。在我们的示例中,我们通过 int( ) 函数将类型显式转换为 int 。
-
print() 用于显示输出。
执行此 Python 代码后,将产生以下输出 −
Enter value for a 10
Enter value for b 20
The number you have entered for a is 10
The number you have entered for b is 20
What is C++?
C 是一种静态类型、编译、多范例、通用编程语言,其学习曲线陡峭。它被广泛用于视频游戏、桌面应用程序和嵌入式系统。C 与 C 非常兼容,因此几乎可以构建所有 C 源代码,而无需进行任何更改。面向对象编程使得 C++ 成为比 C 更结构化、更安全的语言。
Features
让我们看看 C++ 的一些特性及其受欢迎的原因。
-
Middle-level language − 因为它既可用于系统开发,也可用于大型消费类应用程序(如媒体播放器、Photoshop、游戏引擎等),所以它是一种中级语言。
-
Execution Speed − C++ 代码运行速度快。因为它已编译并广泛使用过程。垃圾回收、动态类型和其他现代特性会阻碍程序执行。
-
Object-oriented language − Object-oriented programming 灵活且可管理。可以创建大型应用程序。不断增长的代码使程序代码更难以处理。C++ 相对于 C 的关键优势。
-
Extensive Library Support − C++ 拥有大量的 library 。支持第三方库以实现快速开发。
C++ Example
让我们通过下面编写的示例了解 C++ 的语法。
#include
using namespace std;
int main() {
int a, b;
cout << "Enter The value for variable a \n";
cin >> a;
cout << "Enter The value for variable b";
cin >> b;
cout << "The value of a is "<< a << "and" << b;
return 0;
}
在我们的示例中,我们通过键盘从用户那里获取两个变量“a”和“b”的输入,并在控制台上显示数据。
执行后,它将生成以下 output −
Enter The value for variable a
10
Enter The value for variable b
20
The value of a is 10 and 20
Comparison Between Python and C++ across Various Aspects
Python 和 C++ 都是最流行的编程语言。它们都各自具有优缺点。在本教程中,我们将仔细研究其区别彼此的特征。
Compiled vs Interpreted
与 C 一样,C++ 也是基于编译器的语言。编译器将整个代码转换成特定于正在使用的操作系统和处理器架构的机器语言代码。
Python 是基于解释器的语言。解释器逐行执行源代码。
Cross platform
当在 Linux 上编译 C++ 源代码(例如 hello.cpp)时,它只能在任何其他带有 Linux 操作系统的计算机上运行。如果需要在其他操作系统上运行,则需要进行编译。
Python 解释器不生成编译后的代码。源代码在每次运行在任何操作系统时都会被转换为字节码,而不会有任何更改或额外的步骤。
Speed of Development
C++ 程序被编译为机器代码。因此,其执行速度比基于解释器的语言更快。
Python 解释器不会生成机器代码。每次执行程序时都会将中间字节码转换为机器语言。
如果要频繁使用程序,则 C++ 比 Python 更有效率。
Easy to Learn
与 C 相比,Python 具有更简单的语法。其代码更具可读性。编写 C 代码一开始似乎令人望而生畏,因为语法规则复杂,例如使用花括号和分号来结束句子。
Python 不使用花括号来标记一个语句块。相反,它使用缩进。相同缩进级别的语句标记一个块。这使得 Python 程序更具可读性。
Static vs Dynamic Typing
C++ 是一种静态类型语言。存储数据的变量的类型需要一开始就声明。未声明的变量无法使用。一旦变量被声明为特定类型,则只能存储该类型的变量。
Python 是一种动态类型语言。它不要求在给变量赋值之前对其进行声明。由于变量可以存储任何类型的数据,因此称为动态类型。
OOP Concepts
C 和 Python 都实现了面向对象编程的概念。C 比 Python 更接近 OOP 理论。C++ 支持数据封装的概念,因为变量的可见性可以定义为 public、private 和 protected。
Python 没有定义可见性的规定。与 C++ 不同,Python 不支持方法重载。因为它是一种动态类型,所以所有的方法本质上都是多态的。
C 实际上是 C 的一个扩展。可以说在 C 中添加了额外的关键字,以便它支持 OOP。因此,我们可以在 C 中编写一个 C 类型面向过程的程序。
Python 是完全的面向对象语言。Python 的数据模型是这样的,即使你可以采用面向过程的方法,但 Python 的内部使用的是面向对象的方法。
Difference Between Python and C++
下表总结了 Python 和 C++ 之间的区别:
Criteria |
Python |
C++ |
Execution |
Python 是一种基于解释器的编程语言。Python 程序由解释器解释。 |
C 是一种基于编译器的编程语言。C 程序由编译器编译。 |
Typing |
Python 是一种动态类型语言。 |
C++ 是一种静态类型语言。 |
Portability |
Python 是一种高度可移植的语言,在系统上编写和执行的代码可以轻松地在其他系统上运行。 |
C++ 并不是一种可移植语言,在系统上编写和执行的代码不能在其他系统上运行,除非对其进行更改。 |
Garbage collection |
Python 提供垃圾回收功能。您不必担心内存管理。它在 Python 中是自动的。 |
C 不提供垃圾回收。您必须负责释放内存。它在 C 中是手动的。 |
Syntax |
Python 的语法非常容易阅读、编写和理解。 |
C++'s syntaxes are tedious. |
Performance |
Python 的执行性能比 C++ 慢。 |
C++ 代码比 Python 代码快。 |
Application areas |
Python 的应用领域是机器学习、网络应用等。 |
C++ 的应用领域是嵌入式系统、设备驱动程序等。 |