想学编程,但不知道从哪里学起,应该怎么办?

怎样学习任何一种编程语言

我将教你怎样学习任何一种你将来可能要学习的编程语言。本书的章节是基于我和很多程序员学习编程的经历组织的,下面是我通常遵循的流程。

1.找到关于这种编程语言的书或介绍性读物。

2.通读这本书,把里边的代码都录入一遍并使其运行起来。

3.一边读书一边写代码,同时做好笔记。

4.使用这种编程语言实现一些你用另一种熟悉的编程语言做过的程序组件。

5.阅读别人用这种编程语言编写的代码,试着仿照他们的方式编写代码。

在本书里,我强制要求你慢慢地一点一点地完成了这个过程。别的书不是用这种方法写的,那就需要你把我教你的方法套用在这些书上。最好的办法是先快速过一下书中的内容,将里边的主要代码片段列出来,将这份列表变成一系列基于习题的章节,然后按照次序一一完成。

以上流程对学习新技术也适用,只要你有一本相关的书,就能把它转换成这种练习模式。对于没有书的学习内容来说,你可以使用网上的教程或者源代码作为你的入门资料。

每学一种新的编程语言,你就会成长为一个更好的程序员。你学的编程语言越多,它们就会变得越容易学习。当你学到第三种或者第四种编程语言的时候,你就应该能够在一周内学会一门类似的编程语言了,不过对于一些特别的编程语言来说你可能还是要花较长的时间。你现在学了Python,接下来学习Ruby和JavaScript就应该比较快了。这是因为很多编程语言有着共同的理念,你只要学了其中一种,就能用在别的编程语言上。

关于学习新编程语言的最后一件要记住的事情就是:别当一个“蠢游客”。“蠢游客”就是那种去了一个国家旅游,然后回来抱怨那儿的饭不好吃的人。“为什么这个白痴国家连汉堡都买不到?”当你学习一种新编程语言时,不要假设它的工作方式太蠢,它只是不同而已,只有接受它你才能学会它。

不过,在学完一种编程语言后,不要成为这种编程语言工作方式的奴隶。有时你能看到有人使用一种编程语言做一些很白痴的事情,没有别的理由,只不过是“我以前一直就是这样做的”。如果你喜欢一种风格,而你又知道大家的做法和你不同,如果你看到后者能带来好处,那就毫不犹豫地打破自己的习惯吧。

我个人是很喜欢学习新编程语言的。我把自己当成一个“程序员人类学家”,我认为一种编程语言反映了一群使用它的程序员的一些独到见解。我学习的是他们用计算机互相交流时使用的语言,这对我来说非常有趣。不过话说回来,我这个人还是有点儿古怪的,所以对于新编程语言,你只要想学就学就行了。

从Python开始学编程

Python编程快速上手 让繁琐工作自动化 第2版

本书的第一部分介绍Python的基本编程概念;第二部分介绍一些不同的任务,你可以让计算机自动完成它们。第二部分的每一章都有一些项目程序,供你学习。

本书是一本面向初学者的Python编程实用指南。本书不仅介绍了Python语言的基础知识,而且通过案例实践教读者如何使用这些知识和技能。本书的第一部分介绍了基本的Python编程概念,第二部分介绍了一些不同的任务,通过编写Python程序,可以让计算机自动完成它们。第二部分的每一章都有一些项目程序供读者学习。每章的末尾还提供了一些习题和深入的实践项目,帮助读者巩固所学的知识。附录部分提供了所有习题的解答。

下面简单介绍一下每章的内容。

第一部分:Python编程基础

“第 1 章 Python基础”介绍表达式、Python指令的最基本类型,以及如何使用Python交互式环境来尝试运行代码。

“第 2 章 控制流”解释如何让程序决定执行哪些指令,以便代码能够智能地响应不同的情况。

“第 3 章 函数”介绍如何定义自己的函数,以便将代码组织成可管理的部分。

“第4章 列表”介绍列表数据类型,解释如何组织数据。

“第 5 章 字典和结构化数据”介绍字典数据类型,展示更强大的数据组织方法。

“第6章 字符串操作”介绍处理文本数据(在Python中称为“字符串”)的方法。

第二部分:自动化任务

“第7章 模式匹配与正则表达式”介绍Python如何用正则表达式处理字符串,以及查找文本模式。

“第 8 章 输入验证”解释程序如何验证用户提供的信息,确保用户数据到达时的格式不会在程序的其余部分引起错误。

“第 9 章 读写文件”解释程序如何读取文本文件的内容,并将信息保存到硬盘的文件中。

“第10 章 组织文件”展示Python如何用比手动操作快得多的速度复制、移动、重命名和删除大量的文件,也解释如何用Python压缩和解压缩文件。

“第11章 调试”展示如何使用Python的bug查找和bug修复工具。

“第 12 章 从Web抓取信息”展示如何通过编程来自动下载网页,并解析它们,获取信息。

“第 13 章 处理Excel电子表格”介绍通过编程处理Excel电子表格的方法。如果你分析的文档很少,那么你不必阅读本章。如果你必须分析成百上千的文档,这章知识是很有帮助的。

“第14章 处理Google电子表格”介绍如何使用Python读取和更新Google表格(一种流行的基于Web的电子表格应用程序)。

“第15章 处理PDF和Word文档”介绍通过编程处理PDF和Word文档的方法。

“第16章 处理 CSV 文件和 JSON 数据”解释如何编程处理 CSV 文件和JSON数据。

“第17章 保持时间、计划任务和启动程序”解释Python程序如何处理时间和日期,如何安排计算机在特定时间内执行任务。这一章也展示Python程序如何启动非Python程序。

“第18章 发送电子邮件和短信”解释如何通过编程来发送电子邮件和短信。

“第19章 操作图像”解释如何通过编程来操作JPG或PNG等格式的图像。

“第20章 用GUI自动化控制键盘和鼠标”解释如何通过编程控制鼠标和键盘,自动化鼠标点击和按键。

“附录A 安装第三方模块”展示如何利用有用的附加模块来扩展Python。

“附录 B 运行程序”展示如何在代码编辑器之外,在Windows操作系统、macOS和Ubuntu Linux操作系统上运行Python程序。

“笨办法”学Python 3

Python入门教程升级版,Python3编程从入门到实践教程,配套视频,跟着Python导师学Python编程入门基础教程,代码基于Python3.6。

给新手的告诫

你已经完成了这个习题。根据你对计算机的熟悉程度,这个习题对你而言可能会有些难。如果你觉得有难度的话,你要自己克服困难,多花点儿时间去读书研究,因为只有你会这些基础操作,编程对你来说才不会太难学。

如果有人让你中途停止或者跳过本书的某些习题,你应该就当没听到。任何企图不让你学到某些东西的人,或者更恶劣的,企图让你通过他们而非通过自己努力获取知识的人,都是企图让你依赖他们来获取知识。别听他们的,好好做你的习题,这样你就能学会如何自学了。

总有一天你会听到有程序员建议你使用macOS或者Linux。如果他喜欢字体美观,他会告诉你弄一台Mac计算机,如果他们喜欢操控而且留了一脸大胡子,他会让你安装Linux。这里再次向你说明,只要是一台手上能用的计算机就可以了。你需要的只有3样东西:一个文本编辑器,一个命令行终端,还有Python。

最后要说的是,这个习题的准备工作的目的就是让你可以在以后的习题中顺利地做到下面几件事。

1.撰写习题的代码。

2.运行你写的习题代码。

3.代码被破坏的时候修正代码。

4.重复上述步骤。

其他的事情只会让你更困惑,所以还是坚持按计划进行吧。

本书是一本Python入门书,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。本书是基于Python 3.6版本编写的。

本书结构非常简单,除“准备工作”之外,还包括52个习题,其中26个覆盖了输入/输出、变量和函数3个主题,另外26个覆盖了一些比较高级的话题,如条件判断、循环、类和对象、代码测试及项目的实现等。每一章的格式基本相同,以代码习题开始,按照说明编写代码,运行并检查结果,然后再做附加练习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/263274.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于以太坊的智能合约开发Solidity(事件日志篇)

//声明版本号(程序中的版本号要和编译器版本号一致) pragma solidity ^0.5.17; //合约 contract EventTest {//状态变量uint public Variable;//构造函数constructor() public{Variable 100;}event ValueChanged(uint newValue); //事件声明event Log(…

java--Date、SimpleDateFormat时间类,JDK8之前的

1.Date 代表的是日期和时间 2.SimpleDateFormat 代表简单日期格式化,可以用来把日期对象、时间毫秒值格式化成我们想要的形式。 3.时间格式常见符号 4.SimpleDateFormat解析字符串时间成为日期对象

Matlab数学建模算法之小波神经网络详解

🔗 运行环境:Matlab 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 🔐#### 防伪水印——左手の明天 ####🔐 💗 大家…

NR Channel raster和Sync raster

NR中,由于信道带宽可能非常大,如果UE按照channel Raster进行同步信号搜索,需要的时间很长,且非常耗电;因而NR引入了Synchronization raster的概念,同步信号按照Sync Raster放置。 ARFCN 频点号对应Channel…

打造Github首页的动态飞线效果

一、导语 Github首页的地球动态飞线,大家都比较熟悉吧 二、分析 由大量随机的3点构造出贝塞尔曲线,然后开始从起点到终点的飞行后,然后再从起点到终点的消失,就此完成整个过程 三、基础代码 createCurve(startPoint, endPoint…

Java 8 新特性深度解析:探索 Lambda 表达式、Stream API 和函数式编程的革新之路

Java8 新特性 Java 8 的革新之路 自 1995 年首次发布以来,Java 已经成为世界上最广泛使用的编程语言之一。随着时间的推移,Java 经历了多次版本更新,其中最具里程碑意义的便是 Java 8 的发布。这个版本引入了许多重大变革,包括 …

LabelImg的使用及注意事项

LabelImg是一款开源的图像标注工具,它主要用于标注目标检测、语义分割和图像分类等深度学习中需要的数据集。通过使用LabelImg,用户可以快速、准确地为图片中的目标添加标注信息,从而建立数据集。 使用步骤: 下载LabelImg&#x…

GPIO的使用--USART串口通信--传感器控制数据

目录 一、串口通信 1、概念 2、原理图 3、使用步骤 (1)寻找串口位置 (2)确定引脚编号 (3)编写代码 4、实验结果 实验代码 main.c usart.c usart.h 一、串口通信 1、概念 串行接口是一种可以将…

智能优化算法应用:基于蜻蜓算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于蜻蜓算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于蜻蜓算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蜻蜓算法4.实验参数设定5.算法结果6.参考文献7.MA…

DDD系列 - 第6讲 仓库Repository及Mybatis、JPA的取舍(一)

目录 一、领域层定义仓库接口1.1 设计聚合1.2 定义仓库Repository接口二 、基础设施层实现仓库接口2.1 设计数据库2.2 集成Mybatis2.3 引入Convetor2.4 实现仓库三、回顾一、领域层定义仓库接口 书接上回,之前通过一个关于拆解、微服务、面向对象的故事,向大家介绍了如何从微…

变容二极管测量

测量变量二极管一般有两种方法:一是搭建偏置电路,用LCR电桥测量电容;二是搭建一个VCO,通过测量频率,简接测量变容二极管的电容值。 正好手里有许老师LCR,搭建一个简单的测试电路即可,电路图如下…

(第一部分1-3 / 13)PMBOK 6

项目管理协会 PMI 价值观 责任、尊重、公正、诚实 法约尔 亨利法约尔_百度百科 管理的5项职能 计划组织指挥协调控制管理的14项原则(该原则的提出,标志着法约尔管理理论的形成) 【劳动分工】劳动分工是合理使用个人力量和集体力量的最好…