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

news2024/11/26 12:40:20

未来是高度科技化和智能化的时代。过去不识字的叫“文盲”,如今不懂点计算机知识,则可能是新时代的“文盲”。不论从事什么行业,了解下计算机和编程都是有益的。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.coloradmin.cn/o/1216985.html

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

相关文章

(八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB

​ 一、五种算法(DBO、LO、SWO、COA、GRO)简介 1、蜣螂优化算法DBO 蜣螂优化算法(Dung beetle optimizer,DBO)由Jiankai Xue和Bo Shen于2022年提出,该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁殖行为…

考虑区域多能源系统集群协同优化的联合需求侧响应模型(matlab代码)

该程序复现《考虑区域多能源系统集群协同优化的联合需求侧响应模型》文献模型,程序的核心是对多个区域级多能源系统互联系统进行多目标优化,并且考虑联合需求侧响应,以多个区域多能源系统运行总成本最小、碳排放最小为目标,建立多…

kickstarter数据采集

搜索界面字段如下: 详情界面字段如下: 评论页面采集: 需要的可以找我沟通

超市管理系统

闲着无聊写了个超市管理系统,包括商品管理、进销存、角色权限管理,很不错的项目分享给大家 1 商品管理 1.1 分类管理 分类信息主要包括名称、描述,可以进行停用、启用 1.2 商品信息 1.3 积分商品 1.4 销售统计 2 库存管理 2.1 仓库管理…

idea中git 移除对某个文件的跟踪

应用场景如下 某个log 文件,被同事用git 提交到了服务器,本地拉去之后我们的跟踪也会受影响 取消跟踪的方法如下: 删除本地缓存 git rm --cached "logs/test.log" 提交无效的log git commit -m "ignore log" 再将lo…

【AI视野·今日NLP 自然语言处理论文速览 第六十五期】Mon, 30 Oct 2023

AI视野今日CS.NLP 自然语言处理论文速览 Mon, 30 Oct 2023 Totally 67 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers An Approach to Automatically generating Riddles aiding Concept Attainment Authors Niharika Sri Parasa,…

Docker启动SRS流媒体服务器

一、安装Docker 1.1、下载windows桌面版Windows 1.2、配置镜像 镜像加速器镜像加速器地址Docker 中国官方镜像https://registry.docker-cn.comDaoCloud 镜像站http://f1361db2.m.daocloud.ioAzure 中国镜像https://dockerhub.azk8s.cn科大镜像站https://docker.mirrors.ustc…

YOLOv5项目实战(3)— 如何批量命名数据集中的图片

前言:Hello大家好,我是小哥谈。本节课就教大家如何去批量命名数据集中的图片,希望大家学习之后可以有所收获!~🌈 前期回顾: YOLOv5项目实战(1)— 如何去训练模型 YOLOv5项目实战(2࿰

操作系统 day10(调度的概念、层次、七状态模型)

调度的概念 调度的层次 作业调度(高级调度) 进程调度(低级调度) 内存调度(中级调度) 挂起态与七状态模型 三层调度的联系和对比

AdServices归因和iAd归因集成

AdServices framework 是 Apple 专门为 ASA 提供的归因框架 。尤其在ATT 政策推出以后,app 获取用户 IDFA 的比例大幅降低,传统的依靠IDFA 的方法也无法准确归因。 但是 Apple 为 ASA 开了一个后门,其他广告渠道无法获取用户的 IDFA 作为身份…

MatrixOne完成与欧拉、麒麟信安的兼容互认

近日,超融合异构云原生数据库MatrixOne企业版软件V1.0完成了与欧拉开源操作系统(openEuler简称“欧拉”)、麒麟信安操作系统系列产品和虚拟化平台的相互兼容认证,通过了欧拉兼容性测评,获得了《openEuler技术测评证书》…

unity3d与vs 附加到unity debug报错

点击 附加到unity报错 选择在 调试-》附加unity->选择unity实例

KT148A语音芯片使用串口uart本控制的完整说明_包含硬件和指令举例

一、功能简介 KT148A肯定是支持串口的,有客户反馈使用一线还是不方便,比如一些大型的系统不适合有延时的操作,所以更加倾向于使用uart控制,这里我们也给出解决方案 延伸出来另外一个版本,KT158A 注意次版本芯片还是…

MySQL/SQLServer判断字符是纯数字或者是其它字符

如下是MySQL表结构设计(演示所用): MySQL表关联数据如下所示: 【场景:查询所有数字,包含小数点】,SQL如下所示: SELECT * FROM data WHERE message not REGEXP [^0-9].[^0-9] My…

【AI视野·今日CV 计算机视觉论文速览 第277期】Fri, 27 Oct 2023

AI视野今日CS.CV 计算机视觉论文速览 Fri, 27 Oct 2023 Totally 93 papers 👉上期速览✈更多精彩请移步主页 Daily Computer Vision Papers A Coarse-to-Fine Pseudo-Labeling (C2FPL) Framework for Unsupervised Video Anomaly Detection Authors Anas Al lahham…

C++ 模板 (一)

1. 泛型编程 如何实现一个通用的交换函数呢? void Swap(int& left, int& right) { int temp left; left right; right temp; } void Swap(double& left, double& right) { double temp left; left right; right temp; } void Swap(char&…

《C++避坑神器·二十二》VS能正常运行程序,但运行exe程序无响应解决办法

原因是某个文件只是放在了项目路径下,没有放在exe路径下,比如Json文件原来只放在了mlx项目下,导致VS可以运行,但运行exe无响应或报错如下: 两种方式修改: 1、把Json文件拷贝一份放到exe路径下 2、利用生成…

云ES使用集群限流插件(aliyun-qos)

aliyun-qos插件是阿里云Elasticsearch团队自研的插件,能够提高集群的稳定性。该插件能够实现集群级别的读写限流,在关键时刻对指定索引降级,将流量控制在合适范围内。例如当上游业务无法进行流量控制时,尤其对于读请求业务,可根据aliyun-qos插件设置的规则,按照业务的优先…

【AI视野·今日Robot 机器人论文速览 第六十五期】Mon, 30 Oct 2023

AI视野今日CS.Robotics 机器人学论文速览 Mon, 30 Oct 2023 Totally 18 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Gen2Sim: Scaling up Robot Learning in Simulation with Generative Models Authors Pushkal Katara, Zhou Xian, Katerina F…

Linux输入设备应用编程(键盘,触摸屏,按键,鼠标)

目录 一 输入设备编程介绍 1.1 什么是输入设备呢? 1.2 什么是输入设备的应用编程? 1.3 input子系统 1.4 数据读取流程 1.5 应用程序如何解析数据 1.5.1 按键类事件: 1.5.2 相对位移事件 1.5.3 绝对位移事件 二 读取 struct input_e…