C和Python我该先学什么?

2024-04-27 18:18
文章标签 python 我该 先学

本文主要是介绍C和Python我该先学什么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

个人认为这样考虑:

1、如果想长线发展,走专业路线 --毫无疑问是C

两种语言其实本身都简单,注意我说的是语言本身简单,也就是说基本的语法、规范啥的其实都不难。但两个语言的“文化背景”不一样。

C虽然同为高级语言,C本身是面向通用编程的一门语言,它设计之初就是为专业程序员量身定做的。从用途上其实就能看出来,除了我们熟悉的应用程序以外,驱动、单片机等其实都可以用C来做。

因此在学C的时候,一开始就要懂得计算机的一些基本架构,比如那个经典的问题:int类型占几个字节。其实这就隐含了一些别的知识储备。简单来说就是你需要比较系统地理解计算机系统中的数据和运算究竟是怎么一回事。最最起码你得懂得你的程序是如何在内存中存、取数据,从而使得整个程序能够稳定运行的。

再说得简单一点,如果要从C往上走,那么知识和技能就要相对系统。

2、如果想短线发展,走应用路线-- 毫无疑问是 Python

Python在设计之初其实是为了科研人员使用的。不要太高看这个群体,科研人员绝大多数其实程序能力都不咋地。当然原因并不是说他们没这个能力,而是:(1) 他们9成的精力都要花在自己的研究上,没有太多时间来玩别的。(2)他们的关注点在于如何得到结果,对于许多数据处理、分析的过程本身其实并不太在乎。因为已经有数学家、理论科学家证明了,可以放心大胆用。(当然他们也有自己的一套完整的逻辑来验证自己的结果)。

因此,Python从一开始就是为了好用而设计的。那么这样就必须给编程人员减轻负担,它自己会帮你解决一大堆的问题。比如内存的管理(当然做得更深入过后其实也要考虑,但绝大多数时候并不需要)等。这样一来,Python的用户其实就可以把更多的精力放在如何实现自己的业务需求上,而不用考虑过多计算机程序本身的东西。

说到这就回到题主的描述上,如果是想满足现在的好奇心,继续用计算机程序去实现自己好玩的想法,完全可以从Python入手。这样可以节约你大量的时间,让你更快地实现自己的想法。

关于这两种方案各自的学习方法:

这个问题本人的回答就谨慎些,因为个人的经历不太一样(从VB基础、到C、到3年.NET,再到用MATLAB做研究,再到Python;系统学习过软件工程的课程,但又长期以业务为主去写程序)。

按C的路线

个人觉得可能会相对枯燥。因为从C开始,再到C++,这之后多少还是要看一些数据结构,这样才能比较愉快地去玩别的东西。所以这条线的路线个人认为必走的路是:

C --> C++(重点理解面向对象)--> 数据结构(最好补一点离散数学,不然太抽象不好理解)

选修:

算法分析(最好完整刷一遍题目)

编译原理、操作系统(了解性学习)

按Ptyhon的路线

必修

Python基础

选修:(这里就完全根据自己的需求来)

科学计算:Numpy( Scipy)

数据分析:Pandas

机器学习:Sklearn

深度学习: Pytorch(当然还有许多别的,个人更推荐这一个)

至于学习方法

首先,题主有VB的基础,其实已经具备基本的程序设计技能和一点伪面向对象的知识(VB本质上是伪面向对象的)。所以个人觉得太过于基础的东西直接浏览就行。重点放在不同的语法特征上

其次,学习的过程入门时以视频为主,熟悉一些过后可以加快视频的速度,以文档为主。因为一开始学习其实主要是一个适应的过程,但慢慢熟悉了基本的语法和规范之后,许多东西也就是概念上听一听就明白了。不用过细,其实很浪费时间。

在基本上熟悉了语言本身之后,就看自己的需求了。

如果从C出发,要做应用的话可能得用到C++的MFC一类的东西了。如果做WEB的话直接用C其实不太推荐,因为多数时候是用C来做逻辑和运算,UI和基本框架其实一般还是用别的语言来搭,比如PHP就经常这样玩,也就是用PHP做框架,一些复杂的运算的时候用C。

如果从Python出发当然就更简单。熟悉基本的用法之后就可以直接根据自己的想法去找库,然后设计,再慢慢把它实现就行了。

这里最后强调一点的是,个人认为程序到最后其实都是需求导向。这里的需求在公司的话就是客户的需求,老板的需求。而对于自己学习其实就是自己的想法,把自己当成用户,然后针对自己的需求去拆解任务,最终实现。想必题主应该也是想要成为能够独立开发的程序员(水平),那么在学习的过程中,让自己一个一个项目地完整地完成其实也非常重要。因为这样既能让自己在意识上不断提高,而不只是单纯地熟练技能,也能让自己不断地积累,随着自己的对业务理解的加深和技能的成熟,这些一个个的小项目都能积累起来,最终为自己服好务。

这篇关于C和Python我该先学什么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/941202

相关文章

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

python实现svg图片转换为png和gif

《python实现svg图片转换为png和gif》这篇文章主要为大家详细介绍了python如何实现将svg图片格式转换为png和gif,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录python实现svg图片转换为png和gifpython实现图片格式之间的相互转换延展:基于Py

Python中的getopt模块用法小结

《Python中的getopt模块用法小结》getopt.getopt()函数是Python中用于解析命令行参数的标准库函数,该函数可以从命令行中提取选项和参数,并对它们进行处理,本文详细介绍了Pyt... 目录getopt模块介绍getopt.getopt函数的介绍getopt模块的常用用法getopt模

Python利用ElementTree实现快速解析XML文件

《Python利用ElementTree实现快速解析XML文件》ElementTree是Python标准库的一部分,而且是Python标准库中用于解析和操作XML数据的模块,下面小编就来和大家详细讲讲... 目录一、XML文件解析到底有多重要二、ElementTree快速入门1. 加载XML的两种方式2.

Python如何精准判断某个进程是否在运行

《Python如何精准判断某个进程是否在运行》这篇文章主要为大家详细介绍了Python如何精准判断某个进程是否在运行,本文为大家整理了3种方法并进行了对比,有需要的小伙伴可以跟随小编一起学习一下... 目录一、为什么需要判断进程是否存在二、方法1:用psutil库(推荐)三、方法2:用os.system调用

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

一文带你搞懂Python中__init__.py到底是什么

《一文带你搞懂Python中__init__.py到底是什么》朋友们,今天我们来聊聊Python里一个低调却至关重要的文件——__init__.py,有些人可能听说过它是“包的标志”,也有人觉得它“没... 目录先搞懂 python 模块(module)Python 包(package)是啥?那么 __in