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中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re