路飞学城Python-Day1
1.什么是编程?
编程就是写代码,代码是计算机理解的语言,编程就是通过计算机理解的语言实现一些事件,计算机能理解的就是二进制,就是0和1的两个值
计算机底层是电路,如何表达0和1?就像灯只能表示开灯和关灯,做成多个灯,就有很多种组合,多种组合就能实现多种状态对应的事件
总结理解的就是计算机就是二进制
假设你是BOSS,你有starffs,来自不同地域,理解的是不同的语言,需要一个共同的翻译工作来做交互
计算机能从二进制演化为能读懂英文的演变,古老的计算机就是只能读懂二进制的标志,像纸带一样做标记,现在为止底层还是机器语言,但是使用者不涉及底层了
【机器语言】:由于计算机内只能接收二进制代码,因此,用二进制代码0和1的描述的指令成为机器指令,全部机器指令的集合构成计算机的机器语言【机器语言属于低级语言】
输出的程序全是0和1的指令代码,直观性差,还容易出错,除了计算机生产厂家的专业人员外,绝大多数程序员已经不再去学习机器语言了
机器语言是微处理器理解和使用的,尽管机器语言好像是很复杂的,然而它是有规律的,存在着很多种机器语言的指令,这意味着不能把这些种类全部列出来

【汇编语言】:和机器语言相比没有多大的提高,汇编语言的实质和机器语言是相同的,都是直接对硬件进行操作,只不过指令采用了应为缩写的标识符,更容易识别和记忆
它同样需要编程者将每一步具体的操作用命令的形式写出来,汇编程序的每一个指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,
因此汇编程序一般比较冗长、复杂、容易出错,而且使用汇编语言需要有更多的计算机专业知识
但是汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能够实现的,而且源程序汇编生成的可执行文件不仅比较小,而且执行速度快。
开发CPU是调用的汇编语言

【高级语言】:简化的现代的使用便捷的语言,高级语言是大多数编程者的选择,和汇编语言相比,它不但将许多相关的机器指令合称为单条指令,并且去掉了与具体操作有关的但与完成工作无关的细节,
例如使用堆栈、寄存器等,这样就大大简化了程序中的指令,同时,由于省略了许多细节,编程者也需要大量的专业知识
高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如C/C++,JAVA,PHP,Python,GO,C#等都属于高级语言
相比机器语言和汇编语言,高级语言对开发人员更友好,在开发效率上大大提升
市面上都是用高级语言来进行编程
高级语言之间的本质上的区别:C运行效率特别快,Java其次,Python更次,高级语言分类特别清楚,
区分高级语言的本质区别的原因:高级语言本质就是要转换为二进制,实际就行各种高级语言对二进制语言转换的速度的快慢
时间成本高:全部完成后发布
效率高:读一句翻译一句,同时翻译,花更长的时间才能完成

高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行!
人读懂的代码>>编译[翻译]>>机器能读懂的二进制>>Cpu运行
【编译类】:编译类指在应用源程序执行之前,就将程序源代码“翻译”为目标代码,因此其目标过程程序可以脱离其语言环境独立执行(编译后的生成可执行文件,是CPU可以理解的二进制的机器码组成)
使用比较方便,效率较高,但是应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的文件(也就是.obj文件),只有目标文件而没有源代码修改起来不方便
编译后程序运行不需要重新翻译,直接使用编译的结果就行了,程序执行效率高,依赖编译器,跨平台差些,如C、C++、Delphi等
【解释类】:效率不高,有什么好处呢?为什么要用解释型语言,解释型语言就可以适用所有的平台,可以相对的减少时间成本
执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件
应用程序不能脱离解释器(想运行,必须要先装上解释器),但是这种方式比较灵活,可以动态的调整,修改应用程序,如Python,Java,PHP,Ruby等语言
所有的linux就已经配置了python,直接就能运行,windows上是不支持python的
一味的追求速度,就是需要消耗开发时间
【小结】
机器语言:优点是最底层,速度最快,缺点是最复杂,开发效率低
汇编语言:优点是底层,速度最快,缺点是最复杂,开发效率低
高级语言:编译型语言执行速度快,不依赖语言环境运行,跨平台差
解释型跨平台好,一份代码,到处使用,缺点是执行速度慢,依赖解释器运行
路飞学城Python-Day1的更多相关文章
- 路飞学城—Python爬虫实战密训班 第三章
路飞学城—Python爬虫实战密训班 第三章 一.scrapy-redis插件实现简单分布式爬虫 scrapy-redis插件用于将scrapy和redis结合实现简单分布式爬虫: - 定义调度器 - ...
- 路飞学城—Python爬虫实战密训班 第二章
路飞学城—Python爬虫实战密训班 第二章 一.Selenium基础 Selenium是一个第三方模块,可以完全模拟用户在浏览器上操作(相当于在浏览器上点点点). 1.安装 - pip instal ...
- 路飞学城Python爬虫课第一章笔记
前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 之前看阮一峰的博客文章,介绍到路飞学城爬虫课程限免,看了眼内容还不错,就兴冲冲报了名,99块钱满足以下条件会返还并送书送视频. 缴 ...
- 路飞学城-Python开发集训-第3章
学习心得: 通过这一章的作业,使我对正则表达式的使用直接提升了一个level,虽然作业完成的不怎么样,重复代码有点多,但是收获还是非常大的,有点找到写代码的感觉了,遗憾的是,这次作业交过,这次集训就结 ...
- 路飞学城-Python开发集训-第1章
学习体会: 在参加这次集训之前我自己学过一段时间的Python,看过老男孩的免费视频,自我感觉还行,老师写的代码基本上都能看懂,但是实际呢?....今天是集训第一次交作业的时间,突然发现看似简单升级需 ...
- 路飞学城-Python开发集训-第4章
学习心得: 学习笔记: 在python中一个py文件就是一个模块 模块好处: 1.提高可维护性 2.可重用 3.避免函数名和变量名冲突 模块分为三种: 1.内置标准模块(标准库),查看所有自带和第三方 ...
- 路飞学城-Python开发集训-第2章
学习心得: 这章对编码的讲解超级赞,现在对于编码终于有一点认知了,但还没有大彻大悟,还需要更加细心的琢磨一下Alex博客和视频,以前真的是被编码折磨死了,因为编码的问题而浪费的时间很多很多,现在终于感 ...
- 路飞学城-Python开发-第二章
''' 数据结构: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家' ...
- 路飞学城-Python开发-第三章
# 数据结构: # goods = [ # {"name": "电脑", "price": 1999}, # {"name&quo ...
- 路飞学城-Python开发-第一章
# 基础需求: # 让用户输入用户名密码 # 认证成功后显示欢迎信息 # 输错三次后退出程序 username = 'pandaboy' password = ' def Login(username ...
随机推荐
- SQL Server-聚焦聚集索引对非聚集索引的影响
前言 在学习SQL 2012基础教程过程中会时不时穿插其他内容来进行讲解,相信看过SQL Server 2012 T-SQL基础教程的童鞋知道前面写的所有内容并非都是摘抄书上内容,如若是这样那将没 ...
- java的-D命令行参数 mvn -D参数
java的-D命令行参数 我们会用mvn启动一个应用,如下的命令行: MAVEN_OPTS="-XX:PermSize=256m -XX:MaxPermSize=512m" mvn ...
- python简单的购物系统
#coding = utf-8 #2016-11-19#我的工资是存在文件中的,执行后会判断是否存过工资,如果存过无需输入,直接购物,没存过需要输入工资#wages.txt是存工资的文件 import ...
- LeetCode Golang 4. 寻找两个有序数组的中位数
4. 寻找两个有序数组的中位数 很明显我偷了懒, 没有给出正确的算法,因为官方的解法需要时间仔细看一下... func findMedianSortedArrays(nums1 []int, nums ...
- 设置Django关闭Debug后的静态文件路由
Django在Debug模式关闭掉后请求静态文件时,返回404相应码,后台的请求url是"GET /static/css/404.css HTTP/1.1" 404 1217,找不 ...
- FaceBook SDK登录功能实现(Eclipse)
由于公司游戏要进行海外推广,所以要我们接入FBSDK 实现登录,分享,投放,所以写这篇文章,也算是个工作总结.1.资料 (1).FB SDK github源码地址为 (2): [FB SDK中文接入文 ...
- 【转】Retina 屏幕下,网页图片的显示兼容
感谢 Apple,带来了 Retina 屏幕的革命,让我们可以在电子显示屏上享受到印刷级的分辨率.由于分辨率的提升,网页中的文字.Flash 和 SVG 内容显示得比原来更加精细,但网页中的图片却变得 ...
- event 下鼠标坐标的获取
event.clientX.event.clientY 鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条.IE事件和标准事件都定义了这2个属性 event.pageX ...
- BZOJ 5180 [Baltic2016]Cities(斯坦纳树)
斯坦纳树的板子题. 斯坦纳树问题是组合优化问题,与最小生成树相似,是最短网络的一种. 最小生成树是在给定的点集和边中寻求最短网络使所有点连通. 而最小斯坦纳树允许在给定点外增加额外的点,使生成的最短网 ...
- CF1037E Trips (离线+图上构造)
题目大意:一共有n个人,每天早上会有两个人成为朋友,朋友关系不具有传递性,晚上,它们会组织旅游,如果一个人去旅游,那么他不少于$k$个朋友也要和他去旅游,求每天的最大旅游人数 一开始并没有想到反向建图 ...