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

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

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

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.mzph.cn/news/213654.shtml

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

相关文章

MYSQL数据类型详解

MySQL支持多种数据类型,这些数据类型可以分为三大类:数值、日期和时间以及字符串(字符)类型。这些数据类型可以帮助我们根据需要选择合适的类型来存储数据。选择合适的数据类型对于确保数据的完整性和性能至关重要。 以下…

RHEL8_Linux用rpm管理软件

本章主要介绍使用rpm对软件包进行管理 使用rpm查询软件的信息使用rpm安装及卸载软件使用rpm对软件进行更新使用rpm对软件进行验证 rpm 全称是redhat package manager,后来改成rpm package manager,这是根据源码包编译出来的包。先从光盘中拷贝一个包&am…

基于Java Swing泡泡龙游戏(Java毕业设计)

大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的方法。无论你是…

AP9111手电筒专用集成电路芯片 单节干电池 LED手电筒IC

概述 AP9111 是 LED 手电筒专用集成电路芯片 ,是一款采用大规模集成电路技术,专门针对单节干电池的 LED 手电筒设计的一款专用集成电路。外加 1 个电感元件,即可构成 LED 手电筒驱动电路板。AP 9111 性能优越、可靠性高、使用简单、生产一致…

六级高频词汇3

目录 单词 参考链接 单词 400. nonsense n. 胡说,冒失的行动 401. nuclear a. 核子的,核能的 402. nucleus n. 核 403. retail n. /v. /ad. 零售 404. retain vt. 保留,保持 405. restrict vt. 限制,约束 406. sponsor n. …

聊个开心的敏捷话题——40小时工作制

近年来,加班现象在很多行业已经普遍制度化,甚至“996”已成为一些行业标签。企业高强度的压榨让员工不堪重负,且时常由此引发的各种悲剧也并不鲜见。 所以,今天我们一起来聊一个开心轻松的话题——极限编程的40h工作制原则。 40…

Leetcode(一)两数之和

两数之和 暴力 双层循环 两两相加 等于目标值 返回 即可 class Solution {public int[] twoSum(int[] nums, int target) {for(int i0;i<nums.length;i){for(int j0;j<nums.length;j){if(nums[i]nums[j]target && i!j){int[] a{i,j};return a;}}}return null;…

kafka主题分区副本集群的概念

Kafka是一个高性能、分布式的消息系统&#xff0c;用于处理大规模的实时数据流。为了更好地理解Kafka的原理和使用&#xff0c;以下是Kafka中几个重要概念的解释&#xff1a; 主题&#xff08;Topic&#xff09;: Kafka中的最基本概念&#xff0c;相当于一个数据流或者消息流的…

【环境搭建】ubuntu22安装ros2

基于某种特殊需求&#xff0c;从Ubuntu16到22目前都尝试过安装ros、ros2 参考1&#xff1a;http://t.csdnimg.cn/DzvSe 参考2&#xff1a;http://t.csdnimg.cn/sOzr1 1.设置locale sudo apt update && sudo apt install locales sudo locale-gen en_US en_US.UTF-8 s…

SQL注入漏洞检测

预计更新SQL注入概述 1.1 SQL注入攻击概述 1.2 SQL注入漏洞分类 1.3 SQL注入攻击的危害 SQLMap介绍 2.1 SQLMap简介 2.2 SQLMap安装与配置 2.3 SQLMap基本用法 SQLMap进阶使用 3.1 SQLMap高级用法 3.2 SQLMap配置文件详解 3.3 SQLMap插件的使用 SQL注入漏洞检测 4.1 SQL注入…

Spring的IOC容器初始化流程

Spring的IOC容器初始化流程 IOC容器初始化在SpringApplication对象创建完毕执行run方法时执行refreshContext()时开始。 准备BeanFactory&#xff0c;设置其类加载器和environment等 执行BeanFactory后置处理器&#xff0c;扫描要放入容器的Bean信息&#xff0c;得到对应的Bea…

计算机网络常见的缩写

计算机网络常见缩写 通讯控制处理机&#xff08;Communication Control Processor&#xff09;CCP 前端处理机&#xff08;Front End Processor&#xff09;FEP 开放系统互连参考模型 OSI/RM 开放数据库连接&#xff08;Open Database Connectivity&#xff09;ODBC 网络操作系…

阿里云服务器租用价格分享,阿里云服务器热门配置最新活动价格汇总

在我们购买阿里云服务器的时候&#xff0c;1核2G、2核2G、2核4G、2核8G、4核8G、8核16G、8核32G等配置属于用户购买最多的热门配置&#xff0c;1核2G、2核2G、2核4G这些配置低一点的云服务器基本上能够满足绝大部分个人建站和普通企业用户建站需求&#xff0c;而4核8G、8核16G、…

Maven项目引入本地jar

Maven项目引入本地jar 1.对应maven模块项目中建lib目录&#xff0c;将jar放入进去 2.在对应的模块pom.xml中引入此依赖jar 3.在对应的maven-plugin插件打包的pom.xml中指定需要includeSystemScope为true的jar

AMEYA360:大唐恩智浦荣获 2023芯向亦庄 “汽车芯片50强”

2023年11月28日&#xff0c;由北京市科学技术委员会和北京市经济和信息化局指导、北京经济技术开发区管理委员会主办、盖世汽车协办的“芯向亦庄”汽车芯片大赛在北京亦庄成功闭幕。 在本次大赛中 大唐恩智浦的 电池管理芯片DNB1168 (应用于新能源汽车BMS系统) 凭卓越的性能及高…

SQL注入一般过程

实验&#xff1a;Vulnerability: SQL Injection&#xff08;low&#xff09; SQL注入一般过程 1.判断注入点 一般和数据库进行交互的位置 2.判断注入点类型 字符型判断&#xff1a; 1 报错 1 and 12 错误结果 1 and 11 正确结果 数字型判断&#xff1a; 1 报错 1 and 12…

【SpringBoot教程】SpringBoot 实现前后端分离的跨域访问(CORS)

作者简介&#xff1a;大家好&#xff0c;我是撸代码的羊驼&#xff0c;前阿里巴巴架构师&#xff0c;现某互联网公司CTO 联系v&#xff1a;sulny_ann&#xff08;17362204968&#xff09;&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗…

【毕业季|进击的技术er】作为一名职场人,精心总结的嵌入式学习路线图

活动地址&#xff1a;毕业季进击的技术er 文章目录 0、作者介绍1、前言2、嵌入式基础必备知识2.1、学习内容2.2、学习建议2.3、学习资料 3、嵌入式入门篇——51单片机3.1、学习内容3.2、学习建议3.3、学习资料 4、STM32进阶篇4.1、学习内容4.2、学习建议4.3、学习资料 5、小而美…

印刷包装企业做什么认证才有优势

最近几年&#xff0c;外贸出口过程中&#xff0c;越来越多的印刷和包装企业被客户要求进行各类认证和审核&#xff0c;比如&#xff0c;产品印刷包装&#xff0f;吊牌等。他们已经意识到&#xff0c;印刷包装供应商对于整个供应链管理的重要性&#xff0c;尤其是那些明确标示了…

由pandas.loc引发的未知错误AttributeError: ‘str‘ object has no attribute ‘isna‘

由于data.loc[value]和 data[data.keyvalue] 这两者之间有一定的差异&#xff0c;第一种方式返回的可能是series&#xff0c;第二种方式返回的是dataframe&#xff0c;所以在做复杂条件筛选的的时候&#xff0c;可能会爆str相关的错误。 例如&#xff1a; account_instal[(ac…