编程就是将人类语言转换为计算机能够识别的语言
编程语言就是人与计算机之间的语言
最根本的原因就是计算机无法识别人类语言
编程就是为了让计算机能够理解人类所下达的指令,让计算机自动完成任务
计算机就是通电的机器
能够批量处理人类指令和数据的智能设备
为了可以代替人类24小时不间断工作
节省劳动成本和增加效益
相当于人类的大脑,互相协调工作,完成指定任务
相当于我们大脑进行的逻辑运算和数字运算的功能
逻辑运算包括与或非
数字运算包括加减乘除
可分为长期存储和短期存储
和我们短期记忆一样是临时存储数据的
断电重启数据就会消失
硬盘
机械硬盘
可以存储大量数据,但是读取速度比较慢,并且价格很低
固态硬盘
可以存储大量的数据,但是读取速度很快,价格高
可以持久性的存储数据,并且断电不会消失
向电脑输入内容的设备
鼠标、键盘、麦克风
由电脑向我们展示的平台和设备
投影仪、显示器
CPU是人的大脑,复杂控制和运算
内存是人的记忆,复责临时存储
硬盘是人的笔记本,负责永久存储
输入设备是人的耳朵或眼睛,负责接收外部的信息存入内存
输出设备是人的脸部或者屁股,负责经过处理后输出结果
以上所有的设备都通过总线连接,总线相当于人的神经
控制器 + 运算器 = CPU
中央控制处理器
临时存储数据
虽然断电数据会消失,数据安全性低,但是读取速度极快
持久化存储数据的地方
虽然断电数据不消失,但数据安全性高,只要硬盘不损坏,就不会造成数据丢失,对比内存,读取速度慢
数据准备
想用QQ,应该要下载QQ的应用程序
QQ的文件夹,你会看到很多的文件数据,这些数据就是QQ的启动程序
数据读取
从硬盘中将QQ的数据读取到内存中,进行临时存储
双击QQ的图标,出现QQ登录界面,这个操作就是数据从硬盘中读取到内存中的过程
数据写入
输入账号和密码,点击登陆
进入到QQ的过程就是CPU从内存中将数据读取出来进行调度和运算的过程
关闭QQ,CPU负责调度当前程序进行杀死,杀死过后要释放当前的内存资源
点击关闭QQ,它会慢慢的消失,这个时候CPU将QQ的数据保存到内存中,内存中的数据再写入到硬盘中,进行持久化存储
最后QQ完全退出
出现的目的就是为了简化我们的硬件操作
在最开始的时候,电脑还只是一堆硬件拼凑起来的
随着时代的发展,我们想要简化一系列操作指令,我们只能是找到这些指令的代替品
操作系统其实就是在一堆硬件的基础上实现功能和接口的封装,我们可以通过这些接口和程序进行硬件的调度
比如开发暴风影音
核心业务就是播放视频,输出音频
你在公司里,有这个需求,要完成这个需求,将这个功能开发一套
将视频文件数据从硬盘中读取出来放到内存中,再经过播放器进行转码
进行音视频输出
你的同桌在另一个公司,也需要开发这么一套功能
他需要从零开发
所有开发者遵循共同的一套规范
可以共同研发一个功能和接口
有一个锁,但是两人都有相同的钥匙副本
我们都遵循一个规范
核心业务就是播放视频,输出音频做出一个公共的
以后谁需要这个功能谁就来直接用
Windows7
Windowsxp
Windows8
Windows10
Windows11
iOS系统
Intel
centos
蓝鲸
系统软件就是建立在硬件上的软件,负责调度整个硬件
wind、macOS、Linux
功能包括调度计算机服务、读取文件、进程管理...
系统自带的服务,例如网卡服务、文件管理器
就是我们基于Windows系统之上按照的其他软件
QQ、微信、腾讯视频、QQ音乐...
底层就是硬件层
所有的操作都是基于硬件的
中间层就是操作系统层
所有硬件调度服务都是基于操作系统的
最上面是应用层
进行工作和开发的软件层
平台 = 你的操作系统 + 你的硬件
Linux平台
用在服务器上
只需要一个CPU + 显卡 + 内存 + 硬盘
Windows平台
Windows系统 + CPU +...
MacOS平台
macOS + Mac相关硬件
跨平台性非常高,学习成本低
Windows上也能用、Linux上也能用
不需要电脑配置高
Java就需要Java虚拟机
编程语言的发展史,在最开始的编程绝不是现在所学的Python
机器语言就是计算机可以理解的语言
由于计算机基于点工作,点又分为高低电频,0为低,1为高
我们可以控制高低电频的变化组成一系列的指令去操作我们的系统硬件
机器语言因为他能直接操作计算机硬件,所以他是最低级的计算机语言
控制高低电频的变化组成一系列的指令就叫机器指令,能控制电脑硬件
首先必须记住计算机的全部指令及核心代码的含义
在编写机器指令程序的时候需要自己处理每一条数据,以及数据随时可能会发生的意外,非常的繁琐且耗费精力
优点
执行效率高
可以直接操作计算机底层硬件
缺点
开发效率低
学习成本高,开发效率慢
跨平台性很差
更换系统硬件就会导致机器指令失效
底层单位数据的换算 # 00000001 表示1字节,有256中排列方式,从0到255 #八个字节表示一个 bytes # 8字节 = 1bytes # 1024 bytes = 1 KB # 1024 KB = 1 MB # 1024 MB = 1 GB # 1024 GB = 1 TB
汇编语言仍然可以直接操作底层硬件,但是美国人可以用一个字母或者一串字母来声明这串机器指令代表的含义
但是对比与机器语言来说,汇编语言就是一种进步,一定程度上降低了开发成本
汇编语言其实就是用一个英文字母或者一串单词来代表机器语言
; hello.asm section .data ; 数据段声明 msg db "Hello, world!", 0xA ; 要输出的字符串 len equ $ - msg ; 字串长度 section .text ; 代码段声明 global _start ; 指定入口函数 _start: ; 在屏幕上显示一个字符串 mov edx, len ; 参数三:字符串长度 mov ecx, msg ; 参数二:要显示的字符串 mov ebx, 1 ; 参数一:文件描述符(stdout) mov eax, 4 ; 系统调用号(sys_write) int 0x80 ; 调用内核功能 ; 退出程序 mov ebx, 0 ; 参数一:退出代码 mov eax, 1 ; 系统调用号(sys_exit) int 0x80 ; 调用内核功能
优点
执行效率高
直接操作计算机底层硬件
操作灵活
简化了一些机器指令可以让我们快速实现代码编程
可执行文件很小
缺点
开发效率低
仍然需要记住很多指令集
复杂度很高
一串代码可能会用到很多指令集
跨平台性很差
直接操作计算机底层硬件
高级语言从人类的角度出发,用人的思维将人类的语言转换为计算机可以识别的语言
可以通过人类的指令实现操作计算机等硬件
不需要考虑底层硬件,直接操作系统
高级语言更贴近人类
按照编译方式分为两类
编译型语言
解释型语言
编译型语言就是将源代码一次性翻译成目标代码,然后生成一个可执行文件
下次执行只需执行翻译后的文件
如果觉得代码需要修改和完善,修改代码以后就需要重新编译
优点
一次编译处处执行,只要编译一次,以后可以直接用,效率高
缺点
修改后需要重新编译
跨平台性很差
C、C++、Java
解释型语言就是在执行代码的过程中,不是一次性编译而是用到哪就编译到哪
优点
不需要改动后再编译,开发效率提高了
跨平台性很强
缺点
执行效率变慢了
GO、Python
机器语言
汇编语言
高级语言
编译型
解释型
高级语言
编译型
解释型
汇编语言
机器语言
高级语言
编译型
解释型
汇编语言
机器语言
吉多·范罗苏姆(Guido van Rossum)
Python这个名字,来自Guido所挚爱的电视剧《Monty Python’s Flying Circus》,他希望这个新的叫做Python的语言,能符合他的理想:
创造一种C和shell之间,语法能够像shell一样简洁,易学易用、可拓展性强,同时兼顾C的强大功能。
人工智能、数据分析、爬虫、金融量化、云计算、WEB开发、自动化运维/测试、游戏开发、网络服务、图像处理等众多领域。
图像处理比如人脸识别
数据分析
【补充】Python全栈开发可从事方向 - Chimengmeng - 博客园 (cnblogs.com)
目前业内几乎所有大中型互联网企业都在使用Python
Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。
1989年,Guido开始写Python语言的编译器
1991年,第一个Python编译器诞生
他是用C语言实现的,并能够调用C语言的库文件
从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统
Python 2.7 - July 3, 2010
Python 3.6 - 2016-12-23 发布python3.6.0版
目前使用Python3.10版本,使用最新版本的解释器可能会存在不稳定的bug
基于C语言开发的解释器版本
我们学习使用的解释器就是基于C语言开发出来的CPython解释器
底层源码都是C语言,如果从Python代码看源码看不到C代码
基于Java写的Python解释器,没人用
可以进行交互的解释器版本呢
Windows系统
Ctrl + f
macOS
command + f
查看用户变量,如果有Python就删除
需要使用哪一个版本的Python解释器就将哪一个的环境变量上移并保存
这种方法虽然可行,但是很麻烦
将原本的Python解释器快捷方式复制一份成副本
修改副本的名称,改成指定版本的解释器
系统环境变量谁在上面,就会先触发谁
win + r,输入cmd调出终端,输入Python进入解释器环境
直接输入代码
在终端输入代码,无法美化代码样式看起来很复杂且终端关闭代码消失,只是临时的(不推荐使用,用于测试)
在桌面上创建一个TXT文件
书写Python代码
将文件后缀拓展名改成py
执行Python代码需要在终端输入Python + py文件路径
pycharm、vscode
读取应用程序并执行的流程
写了一个带有python代码的文件保存到硬盘
首先要将文件里的内容读取到内存中
CPU需要将数据从内存读取到CPU,CPU去调度执行
在这个过程中需要用到Python解释器
去找Python解释器
找到了解释器
调用解释器执行代码
安装时不要装在C盘
全选/选jetbrains
因为需要付费,需要部分科技,建议支持正版,需要的话私聊
文章浏览阅读1k次。该系统基于springboot技术,数据层为MyBatis,mysql数据库,页面采用html,具有完整的业务逻辑,适合选题:springboot、社区养老、养老院等。_基于springboot的养老院管理系统设计与实现
文章浏览阅读1.8k次,点赞2次,收藏15次。嵌入式到底是什么,很多对这个概念都很迷糊,许多人都认为这是工程师的代名词。嵌入式工程师可以说是目前涵盖面最广、最火的职业之一,那么到底什么是嵌入式呢?狭义上嵌入式系统由硬件和软件组成.是能够独立进行运作的器件广义上嵌入式是一种系统首先,我想说的是嵌入式有很多种,例如嵌入式系统,嵌入式软件,Linux 嵌入式,Android 嵌入式,嵌入式 Web。一.嵌入式用途有什么1.共享单车2.丰巢快递柜3.充电桩4.智能家居5.Android 嵌入式开发.._学fpga用先学嵌入式吗
文章浏览阅读2k次,点赞10次,收藏7次。在部署SpringBoot项目时遇到pom所有版本号爆红,而报错只有标题中的那句话,尝试了多种方法即便不再报错但仍爆红。在查阅和尝试了多种方法后,我决定删除之前的maven镜像配置尝试一下。_could not find artifact org.springframework.boot:spring-boot-starter-parent:
文章浏览阅读786次。多个el-select下拉框无法选中相同内容。_两个el-option 限制重复选择
文章浏览阅读1.2k次。本文介绍WCNSS_qcom_cfg.ini中常用参数的作用。wifi 日志等级vosTraceEnableBAP=255 vosTraceEnableTL=255 vosTraceEnableWDI=255 vosTraceEnableHDD=255 vosTraceEnableSME=255 vosTraceEnablePE=255 vosTraceEnablePMC=255 vosTraceEnableWDA=255 vosTraceEnableSYS=255 vosTrac_genablebmps
文章浏览阅读272次。思路应该使用指针从后向前替换字符串。不过python用不到。 class Solution: # s 源字符串 def replaceSpace(self, s): # write code here new_s='' for j in s: if j==' ': ne..._class solution: # s 源字符串 def replacespace(self, s): # write code here if
文章浏览阅读67次。苹果爸爸对 App Store 的监管力度正在不断加强。2018年下半年,下架的App数量比上半年多161%,但上架的App却只增长了47%。上架困难成为App开发者们很揪心的事情。众所周知,应用在上架至App Store前,必须通过神秘的苹果审核团队的审核。能否在短时间内顺利通过审核,对App推广节奏和策略、以及迭代等应该是非常大的...
文章浏览阅读144次。Quartz API 的关键接口Scheduler - 用于与调度程序交互的主要API.Job - 运行任务(真正的业务实现类)实现的接口JobDetail - 用于定义任务的实例.Trigger - 用于定义执行给定Job的计划JobBuilder - 用于定义/构建JobDetail实例TriggerBuilder - 用于定义/构建Trigger 实例。DSL风格Quartz提供了“构建器”..._java scheduler api
文章浏览阅读961次,点赞23次,收藏11次。这份清华大牛整理的进大厂必备的redis视频、面试题和技术文档祝大家早日进入大厂,拿到满意的薪资和职级~~~加油!!!这份清华大牛整理的进大厂必备的redis视频、面试题和技术文档祝大家早日进入大厂,拿到满意的薪资和职级~~~加油!!![外链图片转存中…(img-iqMfFBiE-1711963264277)]
文章浏览阅读289次,点赞5次,收藏2次。Linux拥有大量的命令,涵盖了系统管理、文件操作、网络配置等多个方面。以下是一些常用的Linux命令集合,但这并不是全部,Linux的命令集合非常庞大,并且随着版本的更新和社区的发展,新的命令和工具也在不断涌现。命令可以获得shell内置命令的帮助信息。这些命令和工具为Linux用户提供了强大的系统管理和文件操作能力。命令可以查看命令的详细信息和用法,此外,还有许多其他命令和工具,如。
文章浏览阅读221次。Tempter of the Bone Time Limit: 1000MS Memory Limit: 32768KB 64bit IO Format: %I64d & %I64u SubmitStatusDescriptionThe doggie found a bone in an ancient maze, which fascinated him a lot. However,
文章浏览阅读1.6k次,点赞2次,收藏12次。EVPN L3VPN for IPv4 Over SRv6 TE Policy场景介绍;SRv6 TE policy原理介绍;RFC9256简介_srv6 te policy