趣学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.mzph.cn/news/144918.shtml

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

相关文章

wps、office插入的复选框无法设置字体及大小?教你一招

插入的表单无法设置字体及大小 脑瓜子嗡嗡的吧?!! 如果没有强制要求,建议就换成开发工具下的复选框吧 如果一定要用上面这种,就自己做一个吧,设置方法如下 制作方法:插入选项卡插入窗体的复选框…

kickstarter数据采集

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

【云原生-Kurbernets篇】Kurbernets集群的调度策略

调度 一、Kurbernetes的list-watch机制1.1 list-watch机制简介1.2 创建pod的流程(结合list-watch机制) 二、Scheduler的调度策略2.1 简介2.2 预选策略(predicate)2.3 优选策略(priorities) 三、标签管理3.1…

基于Gin+Gorm框架搭建MVC模式的Go语言企业级后端系统

文/朱季谦 环境准备:安装Gin与Gorm 本文搭建准备环境:GinGormMySql。 Gin是Go语言的一套WEB框架,在学习一种陌生语言的陌生框架,最好的方式,就是用我们熟悉的思维去学。作为一名后端Java开发,在最初入门…

【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,…

为什么esp8266刷入了固件,无法接受AT指令

我遇到的解决方法是:是串口调试助手出了问题。所以需要更换一个串口调试助手软件。 上面这个就是我换了的软件 在开发的时候,经常会遇到软件故障,导致正确的方法,但是没有效果,好比以前用盗版的8.7版本的Proteus模拟…

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

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

时间序列预测实战(十六)PyTorch实现GRU-FCN模型长期预测并可视化结果

往期回顾:时间序列预测专栏——包含上百种时间序列模型带你从入门到精通时间序列预测 一、本文介绍 本文讲解的实战内容是GRU-FCN(门控循环单元-全卷积网络),这是一种结合了GRU(用于处理时间序列数据)和FCN(全卷积网络…

【数据结构】单链表 | 详细讲解

线性表顺序存储结构的优缺点 顺序表优点 无须为了表示中间的元素之间的逻辑关系而增加额外的存储空间;因为以数组形式存储,可以快速地存取表中任一位置的元素。 顺序表缺点 插入和删除操作需要移动大量元素,时间复杂度为O(N);…

Android图形系统之X11、Weston、Wayland、Mesa3D、ANGLE、SwiftShader介绍(十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

redis运维(七)基础通用命令

一 基础通用命令 备注: 与具体数据类型无关Tab键 自动补全补充: redis 命令是不区分大小写 通用不到 10 个提升逼格的 redis 命令 后续: slowlog、rename-command、monitor、set ① help command 需求: 显示有关redis命令的…

就近值 reduce用法 时间戳与时间点对比循环查找

后台接口返回的13为时间戳 需要与数据data的time做对比,查找出最近的值 data的数据结构如下: 将:改为空格,变成数字之间的对比 //查找最近的时间getNearestTime(timestamp, data) {let date new Date(timestamp)let h date.ge…

openGauss学习笔记-122 openGauss 数据库管理-设置密态等值查询-密态支持函数/存储过程

文章目录 openGauss学习笔记-122 openGauss 数据库管理-设置密态等值查询-密态支持函数/存储过程122.1 创建并执行涉及加密列的函数/存储过程 openGauss学习笔记-122 openGauss 数据库管理-设置密态等值查询-密态支持函数/存储过程 密态支持函数/存储过程当前版本只支持sql和P…

postgreSQL中的高速缓存

1. 高速缓存简介 ​如下图所示,当一个postgreSQL进程读取一个元组时,需要获取表的基本信息(例如:表的oid、索引信息和统计信息等)及元组的模式信息,这些信息被分别记录在多个系统表中。通常一个表的模式信…

报错资源不足,k8s使用containerd运行容器修改挂载点根目录换成/home

运行k8s一段时间发现存储不足报错 发现这里用的是根路径的挂载,修改一下

手撕无头单链表

💓 博客主页:江池俊的博客⏩ 收录专栏:数据结构探索👉专栏推荐:✅C语言初阶之路 ✅C语言进阶之路💻代码仓库:江池俊的代码仓库🔥编译环境:Visual Studio 2022&#x1f38…

【Python】jupyter notebook(学习笔记)

Jupyter Notebook初见 1、Jupyter Notebook介绍 web版的ipython 编程、写文档、记笔记、展示 格式.ipynb 2、为什么使用Jupyter Notebook? 画图方面的优势:图像的生成不会堵塞后面代码的执行数据展示方面的优势:生成的数据可以保存在文件中 3、J…

hive数仓-数据的质量管理

版本20231116 要理解数据的质量管理,应具备hive数据仓库的相关知识 文章目录 1.理解什么是数据的质量管理:2.数据质量管理的规划数据质量标准的分类 3.数据质量管理解决方案1.ods层的数据质量校验1)首先在hive上建立一个仓库,添加…

oracle初步学习

先了解几个登录的方式 1.直接在cmd输入 sqlplus scott/tiger //登陆普通用户scott 2.输入sqlplus sys as sysdba 之后 紧接着让你输入口令,直接输入sys就行了 3.先输入sqlplus/nolog 在输入conn system/managerorcl 先在cmd窗口输入sqlplus/nolog &#x…

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

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