2024年Python最新网友:c++与Python,究竟谁才是大哥?,2024年最新2024春招面试

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

这是一大优势,因为这意味着采用Python的开发人员越来越多。而且这个特性还可以迅速地将Python应用程序推向市场。

由于易用性和大量的库,Python成为了数据科学和机器学习项目的首选编程语言,而且在Web开发中也越来越受欢迎。

Python非常适合于测试新概念和想法。

然而,有时也因为这个原因导致程序员将Python视为一种原型语言。但话又说回来,这种观点的理由也很充分。在实现Python时,我们始终应该遵循最佳的软件原理和实践。

对于刚接触编程领域的人来说,Python是一门伟大的语言。

另一方面,C++起源于C语言。它是一种功能强大的语言,因此很复杂,因为它可以执行很多低级任务。

开发人员需要遵守C++中大量的约定和规则。

C++广泛用于游戏开发、后端服务器应用程序以及分布式交易应用程序,这些系统都要求快速执行任务。此外,C++具有极强的可移植性。

下面,我们来谈谈语法。

1. Python编程十分依赖于空白和制表符(缩进)。一切都是对象。所有类的属性和方法都是公有的。在C++中我们可以利用访问修饰符隐藏类的属性/方法,Python却做不到。

我感觉刚开始的时候很难适应Python的缩进和格式。

2. 我想,大多数开发人员都知道Python中没有分号或大括号。你可以编写整洁的列表推导。Python中的布尔表达式也没有括号。另一方面,C++非常依赖于括号和分号。适应C++的语法需要一定的时间。

3. C++是一种强类型语言,每个变量的类型需要预先声明。而Python是动态类型,我们不需要指出对象的类型。这种动态特性常常会让我们遇到意想不到的结果。Python程序员需要保证以正确的方式或在正确的上下文中使用对象,因此既有积极的一面,也有消极的一面。

在执行Python代码时,我们会遇到运行时错误。如果在生产运行时中遇到类型错误,就很尴尬了!

值得一提的是,为了实现可以在运行之前就发现问题的Python解决方案,许多开发人员花费了大量时间和精力。

内存管理和并发

在介绍管理内存的方式之前,首先我们应该注意,这两种编程语言都支持面向对象的编程和继承。

当程序员在程序中创建对象时,这些对象会占用内存。当不使用对象时,程序将通过垃圾回收清除掉这个垃圾。

垃圾回收的方式工作是不确定的。

作为Python程序员,我们无需担心如何以及何时地清除内存。Python会通过智能垃圾回收自动为我们处理内存。C++中没有这样的垃圾回收,你必须自己动手管理内存。

C++中的内存管理需要手动完成。

理由很充分。C++的设计主旨就是打造一种高性能的编程语言。负责管理内存并从内存中删除不使用对象的垃圾回收会影响应用程序的性能。

最重要的是,垃圾回收在本质上是不确定的。你无法保证对象删除后是否仍在内存中。

Python是一种对开发人员非常友好的编程语言,因为我们不必担心忘记释放内存。

并发

对于受I/O或CPU约束的应用程序,程序员常常喜欢在代码中创建多个线程,并通过同时运行这些线程加快计算的速度。

不管我们的计算机中有多少个核心,Python只允许我们一次执行一个线程。这是Python的全局解释器造成的限制。这会给需要多个CPU的应用程序造成问题。

但是,我们可以在Python中创建多个进程。

另一方面,C++允许我们实现多线程应用程序。

C++有指针,但Python没有

谈论C++,怎么能不提指针?

Python中没有指针,至少没有开箱即用的指针。但是,C++中有指针。

首先,让我们来解释一下指针是什么。

假设有一个变量。这个变量是一个整数,值设置为5。那么,变量与它的值是一个意思,比如x = 5,x是变量的名称,值为5。

在C++中,变量是通过值传递给函数的。

那么问题在于,这些值保存在哪里?

变量的每个值都保存在计算机的内存地址中。你可以使用C++的运算符&访问变量的内存地址。指针是一个变量,指向了值所在的内存地址。

指针能够提高程序的效率。

在标识符之前使用运算符*,就可以声明一个指针。如下所示:

int* y = &x

上述,我们创建了一个指针变量y,这个变量保存了变量x的内存地址。

假设你有一个函数接受变量作为输入(参数)。这个值的变更意味着在函数内部创建一个新变量。请记住,这在C++中会占用大量的内存,变量是通过值传递给函数的。

具体来说,首先我们创建一个将传入变量加100的函数。

void add_hundred(int x) {

x += 100;

}

这段代码接受一个变量x,然后将x加100。

在函数内部,任何有关这个值的修改都会针对一个新变量,而不是原来的变量。

调用上述代码的主函数如下:

int main(void) {

int x = 2337;

add_hundred(x);

return 0;

}

即使在执行完函数之后,在函数外部,x的值仍然是2337。

那么,为什么我们需要指针?

为了理解这一点,你必须明白值和引用类型之间的区别。值类型就好像每次都从物理上复制变量并赋给它一个新变量。值类型占用的空间更多,而且每个变量都有自己的内存地址。

我们可以修改上述函数,让它接受指针作为参数。这样的修改可以减少程序占用的内存量。而且还不会创建不必要的重复变量。

如下函数可以直接修改变量的值。

void add_hundred(int *x) {

*x += 100;

}int main(void) {

int x = 2337;

int *y = &x add_hundred(y);

return 0;

}

下面,我们创建了一个指针y,并传递给一个函数,而这个函数会将输入参数x加100,即使位于函数外部的x值也会发生变化。也就是说,在函数执行完成后,x的值为2437。

我对指针的看法

使用指针的原因之一在于,你可以在调用的函数中修改变量或对象。但是,我建议尽量避免使用指针。

最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 28
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值