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

news2024/11/26 18:32:06

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

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

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.coloradmin.cn/o/1300984.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于深度学习的超分辨率图像技术一览

超分辨率(Super-Resolution)即通过硬件或软件的方法提高原有图像的分辨率,图像超分辨率是计算机视觉和图像处理领域一个非常重要的研究问题,在医疗图像分析、生物特征识别、视频监控与安全等实际场景中有着广泛的应用。 SR取得了显著进步。一般可以将现有…

30 张图解 HTTP 常见的面试题

前言 在面试过程中,HTTP 被提问的概率还是比较高的 我搜集了 5 大类 HTTP 面试常问的题目,同时这 5 大类题跟 HTTP 的发展和演变关联性是比较大的,通过问答 图解的形式由浅入深的方式帮助大家进一步的学习和理解 HTTP 协议。 HTTP 基本概…

持续集成交付CICD:使用Maven命令上传Nexus制品

目录 一、实验 1.使用Maven命令上传Nexus制品(第一种方式) 2.使用Maven命令上传Nexus制品(第二种方式) 一、实验 1.使用Maven命令上传Nexus制品(第一种方式) (1)指定一个 hoste…

Blender学习--制作带骨骼动画的机器人

1. 首先创建一个机器人模型 时间关系,这部分步骤有时间补充 2. 然后为机器人创建一副骨架 时间关系,这部分步骤有时间补充 3.骨骼绑定 切换到物体模式,选中机器人头部,Shift选中骨骼,切换到姿态模式,&am…

zcms企业官网建站系统源码搭建-支持页面自定义

1.支持mysql,sqlite,access三种数据库。 2.模板和标签与asp版的zzzcms通用。 3.asp版的zzzcms的access数据库可直接使用。 4.支持手机站。 (增删改查不做描述): 网站信息 名称,logo,微信&…

记录一次云原生线上服务数据迁移全过程

文章目录 背景迁移方案调研迁移过程服务监控脚本定时任务暂停本地副本服务启动,在线服务下线MySQL 数据迁移Mongo 数据迁移切换新数据库 ip 本地服务启动数据库连接验证服务打包部署服务重启前端恢复正常监控脚本定时任务启动旧服务器器容器关闭 迁移总结 背景 校园…

pytorch一致数据增强

分割任务对 image 做(某些)transform 时,要对 label(segmentation mask)也做对应的 transform,如 Resize、RandomRotation 等。如果对 image、label 分别用 transform 处理一遍,则涉及随机操作的…

基于深度学习的yolov7植物病虫害识别及防治系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介简介YOLOv7 系统特性工作流程 二、功能三、系统四. 总结 一项目简介 # YOLOv7植物病虫害识别及防治系统介绍 简介 该系统基于深度学习技术,采…

【KCC@南京】KCC南京“数字经济-开源行”活动回顾录

11月26日,由KCC南京、中科南京软件研究所、傲空间、PowerData联合主办的 KCC南京“数字经济-开源行” 的活动已圆满结束。此次活动,3 场主题研讨,11 场分享,现场参会人数 60,线上直播观看 3000,各地小伙伴从…

抓取真实浏览器设备指纹fingerprint写入cookie方案

一个关于抓取真实浏览器设备指纹写入cookie方案,用户访问页面获取到用户设备生成指纹id,通过js把指纹存入cookie,然后用php进行获取cookie存的指纹值到后台。 用途:追踪用户设备,防恶意注册,防恶意采集 浏…

1827_ChibiOS中OSLIB的邮箱机制

全部学习汇总: GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com) 1. 邮箱其实是一个环形队列; 2. 使用场景上,邮箱主要是用来实现异步单向的一些消息或者数据处理的。在处理机制上&#xff…

C语言 预处理 + 条件编译宏 + 井号运算符

预处理阶段任务 预处理指令 条件编译宏 条件编译宏的作用在于根据编译时的条件进行代码的选择性编译,从而实现不同环境、不同配置或不同功能的编译版本。 这可以用于实现调试模式和发布模式的切换,平台适配,以及选择性地编译不同的功能模块等…

【Spring 基础】00 入门指南

【Spring 基础】00 入门指南 文章目录 【Spring 基础】00 入门指南1.简介2.概念1)控制反转(IoC)2)依赖注入(DI) 3.核心模块1)Spring Core2)Spring AOP3)Spring MVC4&…

组件之间传值

目录 1:组件中的关系 2:父向子传值 3:子组件向父组件共享数据 4:兄弟组件数据共享 1:组件中的关系 在项目中使用到的组件关系最常用两种是,父子关系,兄弟关系 例如A组件使用B组件或者C组件…

大师学SwiftUI第18章Part2 - 存储图片和自定义相机

存储图片 在前面的示例中,我们在屏幕上展示了图片,但也可以将其存储到文件或数据库中。另外有时使用相机将照片存储到设备的相册薄里会很有用,这样可供其它应用访问。UIKit框架提供了如下两个保存图片和视频的函数。 UIImageWriteToSavedPh…

CCF刷题记录 -- 202305-2:矩阵运算 --python解法

2023.12.7 主要算法 矩阵置换矩阵相乘 满分注意点 运算顺序,利用了矩阵运算法则中的(A*B)*c A*(B*C) # 矩阵置换 def zhihuan(a):b[]for i in range(d):c []for j in range(n):c.append(a[j][i])b.append(c)return b# 矩阵相乘 def ju_zh…

C# WPF上位机开发(通讯协议的编写)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 作为上位机,它很重要的一个部分就是需要和外面的设备进行数据沟通的。很多时候,也就是在这个沟通的过程当中,上…

SuperMap iObject.NET三维场景拖拽框选实现详解及完整源代码(一)——环境准备及项目配置

作者:超图研究院技术支持中心-于丁1 SuperMap iObject.NET三维场景拖拽框选实现详解及完整源代码(一)——环境准备及项目配置   三维场景框选是一种在三维空间中进行选择和操作的功能,它可以让使用者通过鼠标拖动来创建一个矩形…

stu06-VSCode里的常用快捷键

Alt Z:文字自动换行。当一行的文字太长时,可以使用。或者查看→自动换行Alt Shift ↓ :快速复制当前行到下一行Alt Shift ↑ :快速复制当前行到上一行Alt B:在默认浏览器中打开当前.html文件Ctrl Enter&#xf…

前端 Web Workers 简介

简介 以前我们总说,JS 是单线程没有多线程,当 JS 在页面中运行长耗时同步任务的时候就会导致页面假死影响用户体验,从而需要设置把任务放在任务队列中;执行任务队列中的任务也并非多线程进行的,然而现在 HTML5 提供了…