趣学python编程 (一、计算机基础知识科普)

未来是高度科技化和智能化的时代。过去不识字的叫“文盲”,如今不懂点计算机知识,则可能是新时代的“文盲”。不论从事什么行业,了解下计算机和编程都是有益的。Python 连续多年占据最受欢迎的编程语言榜首,未来Python有机会成为像英语一样的通用语言。

前言

未来是高度科技化和智能化的时代。不论从事什么行业,了解下计算机和编程都是有益的。Python 连续多年占据最受欢迎的编程语言榜首,随着 Python 语言在全世界的广泛学习和应用,未来Python有机会成为像英语一样的通用语言。

我计划选用 Python作为对自家娃计算机和编程方面的入门。

选择python,因为它具有三个特点,是其它语言无法比拟的。

  1. 语法简单,最接近自然语言,学习成本最低,可以让最多的人群了解和掌握。
  2. 功能库安装简单,别人写的功能库快速即插即用,可以让大量的价值被方便的交换。
  3. 一次编写,到处运行,不受平台的限制,使得价值可以体现在更主流的应用场景。

使用python来进行编程之前,首先需要先让孩子们了解下什么是计算机,什么是编程。先从整体上去了解下计算机相关的基础知识,考虑到孩子们的认知,先脑补下背景,不能一上来就是敲代码。

什么是计算机?

计算机俗称电脑。它是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。它由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机。计算机可以用来进行数值计算、逻辑计算、存储记忆、自动化控制等功能。它是现代信息社会的基础之一,已经渗透到人类生产、科研、教育、娱乐等各个领域,成为人们生活、工作中不可缺少的工具。

今天我们将一起探索计算机的基础知识和常识,通常涵盖以下几方面的内容:

一、计算机的基本组成部分

计算机是由许多部分组成的,每个部分都有自己的功能。存储器是计算机的记忆系统,它能够存储数据和程序。运算器是计算机的核心部分,它可以进行各种数学运算。控制器是计算机的指挥中心,它控制着计算机的所有操作。输入设备让你可以向计算机输入数据,比如键盘、鼠标和触摸屏等。而输出设备则显示或输出计算机处理的结果,比如显示器和打印机。

二、计算机如何工作

计算机的工作过程可以概括为输入、处理和输出三个步骤。首先,你通过输入设备向计算机输入指令和数据。然后,计算机的运算器会进行各种计算,处理这些数据。最后,计算结果会通过输出设备显示出来。这个过程非常快速,每秒钟计算机可以进行数百万次计算。

三、什么是程序?

程序是一系列计算机指令的集合,它告诉计算机应该做什么。你可以把程序想象成一本书,每一行都是一个指令,告诉计算机应该做什么。编写程序的过程就是设计一系列指令,让计算机能够按照这些指令完成任务。

四、什么是互联网?

互联网是一个连接全球数亿台计算机的网络。它可以让人们在不同地方共享信息、交流想法。你可以通过互联网访问各种各样的网站、观看视频、与朋友聊天、甚至在虚拟世界里玩游戏。互联网让我们的生活变得更加丰富多彩。

五、未来的计算机是什么样的?

未来的计算机将会更加智能、更加人性化。它们可能会拥有更强大的处理能力、更丰富的功能和更友好的用户界面。同时,它们也可能会更加环保和可持续。未来计算机的发展将会改变我们的生活和工作方式,让我们更加便捷地获取信息、完成任务。

计算机是我们生活中不可或缺的一部分。它为我们提供了无尽的可能性和机会。通过了解计算机的基础知识和常识,我们可以更好地利用它来提高我们的学习效率和生活质量。

关于计算机历史的电影

兴趣是最好的老师。学习一样新东西,兴趣是最好的老师,兴趣能最大激发人内在的自驱力和学习力。以下分享些计算机相关的电影,可以推荐给孩子们观看,增加对计算机的了解和兴趣。

《乔布斯》

这是一部关于苹果公司联合创始人史蒂夫·乔布斯的传记电影。影片从乔布斯的大学退学开始,描述了他专注于自我挖掘与探索,以及与志同道合的好友沃兹尼亚克共同创建苹果电脑公司的经历。影片还展示了乔布斯在经营苹果公司期间的高潮与低谷,以及他离开苹果公司后创立NeXT公司和回归苹果公司的经历。

除了电影《乔布斯》外,还有一些与计算机相关历史的影片。例如:

《硅谷传奇》

这部电影讲述了苹果公司和微软公司的发展史,其中涉及到乔布斯和盖茨等科技大佬的故事.

《书呆子的胜利:意外帝国崛起》

这部纪录片讲述了程序员先驱们和计算机的传奇故事,包括比尔·盖茨、保罗·艾伦、史蒂夫·乔布斯、沃兹尼亚克等科技大佬的出镜。

《模仿游戏》:这部电影讲述了阿兰-图灵的一生,阿兰-图灵是英国的一位数学家和密码学家,他在二战期间破解了德国的密码机“英格玛”,为盟军的胜利做出了贡献。

《Track Down》 以及 《Freedom Downtime》

如果你对黑客感兴趣,《Takedown》和《Freedom Downtime》一定要看。这两部电影讲述了计算机黑客Kevin Mitnick的所作所为,而Kevin Mitnick曾被美国司法部称为“美国历史上被通缉的头号计算机罪犯”,他的名字一度被认为是“黑客”的同义词。

《操作系统革命》

在微软垄断下,不少先锋人物站出来反抗,努力建立新的操作系统——Linux,任何人都可以自由地使用。为了记录这些人的艰苦历程,这才有了这部纪录片。

《欢迎使用Macintosh》

这部电影讲述了苹果如何通过自己的电脑产品改变世界的故事。有趣的是,电影的名字来源于Mac早期机型开机问候语-Welcome to Macintosh。

《社交网络》

《社交网络》以社交网络Facebook及其创始人马克-扎克伯格为原型,好评如潮,获得多项大奖。有人说这是一部关于天才如何走向成功的传记,有人说影片的剪辑和节奏把握的好,一点也不沉闷,没有累赘。

通过这些影片可以帮助观众了解计算机的历史和科技大佬们的传奇故事,同时也可以激发孩子们对计算机的兴趣和热情。

计算机发展史

计算机的发展史

我们所使用的计算工具是随着生产的发展和社会的进步,从简单到复杂、从低级到高级的发展过程,计算工具相继出现了算盘、计算尺、手摇机械计算机、电动机械计算机等。

世界上第一台电子数字计算机(ENIAC)于1946年在美国宾夕法尼亚大学诞生,这台计算机共用了18000多个电子管组成,占地170m2,总重量为30t,耗电150kw/h,运算速度达5000次/s,是计算机发展史上的第一个里程碑。

电子计算机在短短50年里经过了电子管、晶体管、集成电路(IC)和超大规模集成电路(VLSI)四个阶段的发展。计算机体积越来越小,功能越来越强,价格越来越低,应用越来越广泛,目前正朝着第五代(智能化)发展。

二、计算机发展经过的四个时代
第一代:电子管计算机时代(1946--1956) 

介绍:这代计算机因选用整流管而体积大,耗电量多,计算效率低,存储量小,可靠性差;

第二代:晶体管计算机时代(1956--1964) 

介绍:这代计算机比第一代计算机的特性增强了数10倍,手机软件配备逐渐发生,一些高級程序设计语言相继问世,外部设备也由几类提升到数十种。除计算机的应用到外,开始了数据处理方法和工业控制系统等运用。

第三代:集成电路计算机时代(1964--1972)

介绍:关键由中、小规模纳税人集成电路构成。其电源电路元器件是在一块几平方电线的处理芯片上集成化了几十个到几十个电子元器件,使计算机的体积和耗电量显着降低,处理速度、存储量、可靠性有很大的提升,拥有电脑操作系统,机型多元化、通用化并和通信技术融合,使计算机运用进到很多科技进步行业。

如图,你能想象到初代的苹果电脑长这样吗?

第四代:大规模与超大规模集成电路计算机时代(1972--今)

介绍:规模性集成电路是在一块几平方电线的半导体芯片上可以集成化上一定到十万个电子元器件,促使计算机体积更小,耗电量更少,计算速率提升到每秒钟上百万次,计算机可靠性也进一步提高。

80年代末期,IBM-PC开始异军突起,面对PC机超高速的处理器、超大的内存、丰富的接口、高分辨率的画质以及各种实用的软件。

现在的PC电脑,有台式机电脑和笔记本电脑两种常见的类型。

什么是编程语言

正式学习编程之前,我们有必要先搞清楚编程语言这个概念。

在我们很小的时候,父母就教我们开口说话,也教我们如何理解别人讲话的意思。经过长时间的熏陶和自我学习,我们在不知不觉中学会了说话,也能听懂其他小朋友说话的意思,于是我们开始用语言与他人交流。

世界上存在许多种语言,包括汉语、英语、日语、俄语等等,每种语言都有固定的格式,比如汉语(中国话),每个汉字代表着不同的意思,我们必须正确的表达,才能让对方理解。例如让父母给你10元零花钱,你会说“爸爸给我10元钱,我要买零食”,如果说“10元爸爸给钱我零食买我要”,父母就会觉得很奇怪,听不懂我们的意思,甚至引来他们的责备。

通过有固定格式和固定词汇的“语言”来与父母沟通,让父母满足你的心愿,从而达到“控制”父母的目的,这就是语言的作用。同样,我们也可以通过“语言”来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。

和人类的语言一样,编程语言也有很多种,据不完全统计,全世界大概有 600 多种编程语言,其中比较流行的语言有 20 多种,比如 C语言、C++、Java、Python、PHP、C#、JavaScript 等,这些语言各有千秋,都有自己擅长的方面:

表1:编程语言
编程语言主要用途
C/C++C++ 是在C语言的基础上发展起来的,C++ 包含了C语言的所有内容,C语言是C++的一个部分,它们往往混合在一起使用,所以统称为 C/C++。C/C++主要用于 PC软件开发、Linux 开发、游戏开发、单片机和嵌入式系统。
PythonPython 主要用于自动化运维、网站开发、数据分析、人工智能、云计算等技术领域,近年来势头强劲,备受开发者青睐。
JavaJava 可以用于网站后台开发、Android 开发、PC软件开发,近年来又涉足了大数据领域(这主要归功于 Hadoop 框架的流行)。
PHPPHP 主要用来开发网站后台程序。
C#C# 的实现机制和 Java 类似,目前主要用于 Windows 平台的软件开发,以及少量的网站后台开发。
JavaScriptJavaScript 最初只能用于网站前端开发,是前端开发的唯一语言。近年来由于 Node.js 的流行,JavaScript 在网站后台开发中也占有了一席之地,并且在迅速增长。

可以将不同的编程语言比喻成各国语言,为了表达同一个意思,可能使用不同的语句。例如,表达“世界你好”:

  • 汉语:世界你好
  • 英语:Hello World
  • 日语:世界こんにちは

对于编程语言来说,执行同一个操作,也需要使用不同的语句。举个简单的例子,在屏幕上显示 "Hello,world":

  • C语言:printf("Hello,world");
  • PHP:echo "Hello,world";
  • Python:print("Hello,world")

通过例子可以看出,编程语言和人类语言类似,都由直观的词汇组成,我们很容易理解它的意思。比如在 Python 中,我们使用print()让计算机在屏幕上显示文字,print 英文原意为打印、输出的意思,我们能够轻易地理解它;同时,我们还要注意语句格式,把待显示的内容Hello, C语言中文网加上英文状态的引号""放在括号内,这是 Python 语言规定的格式,我们必须这样写。

每一种编程语言都有固定的词汇和格式,学习一门编程语言,本质上就是学习如何使用这些词汇和格式。

总结:编程语言是用来控制计算机的一系列指令(Instruction),它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守,否则就会出错,达不到我们的目的。习惯上,我们将这一条条指令称为代码,这些代码共同组成一个计算机程序,而用编程语言来编写程序的过程称为编码
表1中提到的编程语言,都是高级计算机语言,设计它们的目的是为了方便程序员理解和使用。但严格意义上来说,计算机只能理解一种非常低级的编程语言,也就是机器语言

举个简单的例子,计算 2 个数的和,机器语言需要控制计算机依次完成以下操作:

  • 将位于内存空间位置在 0x0001 的数加载到 CPU 中;
  • 再把位于内存空间位置在 0x0010 的数也加载到 CPU中;
  • 在 CPU 中,对这 2 个数做求和操作;
  • 将结果存储在位置为 0x0011 的内存空间。

CPU(Central Processing Unit,简称 CPU) 即中央处理器,是计算机的运算和控制核心,相当于计算机的大脑,所有的机器指令都是由 CPU 负责执行的。

可以看到,对 2 个数执行求和操作需要做这么多工作,这还只是笼统地描述,实际上会更加复杂。而使用 Python 这样的高级语言,对 2 个数求和可以直接用 a + b  的形式表示。下面使用 Python 进行演示:

>>> 2+3
5

这种方式虽然轻便快捷,但同时也带来了问题,我们需要设计一种方法,将高级语言翻译成计算机可以执行的机器语言。目前,有两种方法可以实现,分别是编译器解释器

使用编译器将自身转换成机器语言的高级语言,通常称为编译型语言;而使用解释器将自身转换成机器语言的高级语言,称为解释型语言,Python 就是一种解释型编程语言。

Python语言简介

Python 的诞生是极具戏曲性的,据 Guido 自述记载,Python 语言是在圣诞节期间为了打发无聊的时间而开发的,之所以会选择 Python 作为该编程语言的名字,是因为 Guido 是 Monty Python 戏剧团的忠实粉丝。

Python是一种高级编程语言,具有简单易学、代码可读性高、应用广泛等优点。它是由Guido van Rossum于1989年创造,并遵循“优雅明确”的设计哲学。Python的语法清晰、简洁,并且支持面向对象编程、函数式编程等多种编程范式。

以下是Python语言的一些主要特点:

  1. 易于学习:Python的语法清晰简洁,使得它易于理解和编写。对于初学者来说,Python是一个很好的开始学习编程的语言。
  2. 强大的标准库:Python有一个庞大的标准库,提供了许多用于各种任务的模块和函数,例如文件处理、网络编程、数据分析等。
  3. 动态类型:Python是动态类型的语言,这意味着你不需要预先声明变量的类型。这可以使代码更简洁,但也要注意可能的类型相关错误。
  4. 解释型语言:Python是一种解释型语言,这意味着你可以逐行运行代码,而不需要先将其编译为机器语言。这为Python带来了很大的灵活性和可操作性。
  5. 面向对象编程:Python支持面向对象编程,这使得你可以使用类和对象来组织和封装数据和操作。
  6. 函数式编程:Python也支持函数式编程,包括高阶函数和lambda表达式等。
  7. 丰富的第三方库:Python有一个庞大的第三方库生态系统,称为PyPI(Python Package Index)。这些库为Python提供了无尽的可能性,从数据处理、机器学习到Web开发等。
  8. 跨平台:Python可以在多种操作系统中运行,包括Windows、Linux和Mac OS。
  9. 强大的社区支持:Python有一个活跃的开发者和用户社区,提供了大量的资源、教程和学习材料。
  10. 可扩展性:如果需要,你可以使用C或C++等语言编写Python扩展模块,以提高程序的运行效率。

Python被广泛用于网页开发、数据分析、人工智能、科学计算、脚本编写等领域。而且,由于Python的开源性质和广泛的应用,它已经成为当今最受欢迎的编程语言之一。

网络上一直流传着“人生苦短,我用 Python”的说法,此言非虚!

2017 年,浙江省信息技术课程改革方案出台,Python 被纳入浙江省信息技术高考;同年 12 月,山东省在其最新的出版的小学信息技术六年级教材中,也加入了 Python 相关内容。可以看出,Python 逐渐地在中小学生群体中得到普及。

本教程计划面向中小学生,始终贯彻的思想就是零基础学 Python,从零基础开始学起。

其他资源

计算机发展史简介(详细)-CSDN博客

【那些年学过的计算机基础】--计算机发展史(图片版)_电脑的演变过程图片-CSDN博客

Python 3 教程 | 菜鸟教程

电脑学习机简史--第四章 国产电脑学习机崛起 (10) - 哔哩哔哩

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

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

相关文章

在qt的设计师界面没有QVTKOpenGLWidget这个类,只有QOpenGLWidget,那么我们如何得到QVTKOpenGLWidget呢?

文章目录 前言不过,时过境迁,QVTKOpenGLWidget用的越来越少,官方推荐使用qvtkopengnativewidget代替QVTKOpenGLWidget 前言 在qt的设计师界面没有QVTKOpenGLWidget这个类,只有QOpenGLWidget,我们要使用QVTKOpenGLWidget,那么我们如何得到QVTKOpenGLWidget呢? 不过,时过境迁,Q…

08【保姆级】-GO语言的函数、包、错误处理

08【保姆级】-GO语言的函数、包、错误处理 一、 函数基本介绍1.1 基本概念1.2 包的概念1.3 包使用的注意事项和细节1.4 函数的调用机制1.5 函数的递归调用1.6 函数使用的注意事项和细节讨论1.7 init函数1.8 匿名函数1.8.1 匿名函数使用方式1.8.2 全局匿名函数 1.9 闭包1.9.1 闭…

【Java 进阶篇】JQuery 遍历 —— For 循环的奇妙之旅

在前端开发的世界里,遍历是一个常见而重要的操作。它让我们能够浏览并操纵文档中的元素,为用户提供更加丰富和交互性的体验。而在 JQuery 中,遍历的方式多种多样,其中 for 循环是一种简单而灵活的选择。在本篇博客中,我…

Mac电脑VSCode配置PHP开发环境

1.安装 PHP 首先,打开终端,安装 Homebrew,输入如下命令: $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 安装了 Homebrew 之后,你可以使用下面的…

这款开源神器,让聚类算法从此变得简单易用

Scikit-Learn 以其提供的多个经过验证的聚类算法而著称。尽管如此,其中大多数都是参数化的,并需要设置集群的数量,这是聚类中最大的挑战之一。 通常,使用迭代方法来决定数据的最佳聚类数量,这意味着你需要多次进行聚类…

【华为OD题库-015】报文重排序-Java

题目 对报文进行重传和重排序是常用的可靠性机制&#xff0c;重传缓冲区内有一定数量的子报文&#xff0c;每个子报文在原始报文中的顺序已知&#xff0c;现在需要恢复出原始报文。 输入描述 输入第一行为N,表示子报文的个数&#xff0c;0<N < 1000。 输入第二行为N个子报…

Unity 2021 LTS / Unity 2022 LTS New Shader Graph Node 参考样本

Shader Graph团队很高兴地宣布发布新的节点参考样本&#xff0c;现在可用于2021 LTS, 2022 LTS和未来的版本。 节点参考样本是超过140个Shader图形资源的集合。您可以将这些图用作参考&#xff0c;以了解每个节点的作用及其工作原理&#xff0c;而不是在项目中使用这些图。每个…

【软件安装】Centos系统中安装docker容器(华为云HECS云耀服务器)

这篇文章&#xff0c;主要介绍Centos系统中安装docker容器&#xff08;华为云HECS云耀服务器&#xff09;。 目录 一、安装docker 1.1、卸载旧版本docker 1.2、更新repo镜像 1.3、安装依赖包 1.4、添加docker-ce镜像 1.5、安装docker-ce 1.6、查看docker安装版本 1.7、…

Opengauss到Oracle增量同步, 使用debezium

一、概述 PG到Oracle的同步方案使用debezium kafka kafka-connect-jdbc。debezium是一款开源的变更捕获软件&#xff0c;它以kafka的connector形式运行&#xff0c;可以捕获PostgreSQL、MySQL、Oracle中的变更数据&#xff0c;保存到kafka。kafka-connect-jdbc是confluent公…

[Linux] ssh远程访问及控制

一、ssh介绍 1.1 SSH简介 SSH&#xff08;Secure Shell&#xff09;是一种安全通道协议&#xff0c;主要用于实现远程登录、远程复制等功能的字符接口。SSH 协议包括用户在登录时输入的用户密码、双方之间的通信。 加密数据传输&#xff0c;SSH 是一种建立在应用层和传输层上…

Please No More Sigma(构造矩阵)

Please No More Sigma 给f(n)定义如下&#xff1a; f(n)1 n1,2; f(n)f(n-1)f(n-2) n>2; 给定n&#xff0c;求下式模1e97后的值 Input 第一行一个数字T&#xff0c;表示样例数 以下有T行&#xff0c;每行一个数&#xff0c;表示n。 保证T<100&#xff0c;n<100000…

【Proteus仿真】【Arduino单片机】DHT11温湿度

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器&#xff0c;使用PCF8574、LCD1602液晶、DHT11温湿度传感器等。 主要功能&#xff1a; 系统运行后&#xff0c;LCD1602显示传感器采集温度和湿度。 二、软件设…

SQL存储过程和函数

SQL存储过程和函数 变量系统变量用户定义变量局部变量 存储过程存储函数 变量 在MySQL中变量分为三种类型: 系统变量、用户定义变量、局部变量。 系统变量 系统变量 是MySQL服务器提供&#xff0c;不是用户定义的&#xff0c;属于服务器层面。分为全局变量&#xff08;GLOBA…

全栈工程师必须要掌握的前端Html技能

作为一名全栈工程师&#xff0c;在日常的工作中&#xff0c;可能更侧重于后端开发&#xff0c;如&#xff1a;C#&#xff0c;Java&#xff0c;SQL &#xff0c;Python等&#xff0c;对前端的知识则不太精通。在一些比较完善的公司或者项目中&#xff0c;一般会搭配前端工程师&a…

Mistral 7B 比Llama 2更好的开源大模型 (二)

Mistral 7B 论文学习 Mistral 7B 论文链接 https://arxiv.org/abs/2310.06825 代码: https://github.com/mistralai/mistral-src 网站: https://mistral.ai/news/announcing-mistral-7b/ 论文摘要 Mistral 7B是一个70亿参数的语言模型,旨在获得卓越的性能和效率。Mistral 7…

C# 使用Microsoft.Office.Interop.Excel库操作Excel

1.在NuGet管理包中搜索&#xff1a;Microsoft.Office.Interop.Excel&#xff0c;如下图红色标记处所示&#xff0c;进行安装 2. 安装完成后&#xff0c;在程序中引入命名空间如下所示&#xff1a; using Microsoft.Office.Interop.Excel; //第一步 添加excel第三方库 usi…

算法笔记-贪心1

算法笔记-贪心 什么是贪心算法分配饼干例题理解二分割字符串最优装箱整数配对最大组合整数分配区间问题买股票的最佳时机区间选点 问题什么是贪心算法 分配饼干例题 //贪心算法 //保证局部最优,从而使最后得到的结果是全局最优的 #include<iostream> #include<a…

VIVADO+FPGA调试记录

vivadoFPGA调试记录 vitis编译vivado导出的硬件平台&#xff0c;提示xxxx.h file cant findVITIS内定义的头文件找不到 vitis编译vivado导出的硬件平台&#xff0c;提示’xxxx.h file cant find’ 此硬件平台中&#xff0c;包含有AXI接口类型的ip。在vitis编译硬件平台时&…

【漏洞复现】maccms苹果cms 命令执行漏洞

漏洞描述 感谢提供更多信息。“苹果CMS” 似乎是指 “Maccms”&#xff0c;这是一款开源的内容管理系统&#xff0c;主要用于搭建视频网站。Maccms 提供了一套完整的解决方案&#xff0c;包括用户管理、视频上传、分类管理、数据统计等功能&#xff0c;使用户能够方便地创建和…

如何构建风险矩阵?3大注意事项

风险矩阵法&#xff08;RMA&#xff09;是确定威胁优先级别的最有效工具之一&#xff0c;可以帮助项目团队识别和评估项目中的风险&#xff0c;帮助项目团队对风险进行排序&#xff0c;清晰地展示风险的可能性和严重性&#xff0c;为项目团队制定风险管理策略提供依据。 如果没…