路飞学城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 ...
随机推荐
- s2sh的MVC执行流程和执行原理
=======================执行流程 1. 从页面开始,提交表单或者点击链接会触发一个action 2. action交给struts2处理,读取src目录struts.xml文件, ...
- layui动态修改select的选中项
layui动态修改select的选中项:(在layUI下给select设置默认选项) 例: $("select[name='result']").val(11); //重新渲染表单 ...
- node——try-catch与异步操作
//try-catch,用于捕获异常 //try-catch在node中只能捕获同步的异常,不能捕获异步异常 var fs=require('fs'); /*fs.writeFile('./abc.t ...
- 多个账号GitHub账号配置
1.vi config 重复以上步骤就行 然后#注释下 是个人账号还是公司用的账号 mv id_rsa id_rsa_qq 做下区别,防止冲突 ,别忘了,路径也要改下 mv id_rsa ...
- redis 篇 - set
set 无序集合 sadd key value 127.0.0.1:6379[7]> sadd s 3 (integer) 1 127.0.0.1:6379[7]> smembers s ...
- 小程序--wepy省市区三级联动选择
产品老哥对项目再一次进行关爱, 新增页面, 新增需求, 很完美........ 不多说, 记录一下新增东西中的省市区联动选择, (这里全国地区信息是在本地, 但不建议这么做, 因为js文件太大.. 建 ...
- 1、使用Python3爬取美女图片-网站中的每日更新一栏
此代码是根据网络上其他人的代码优化而成的, 环境准备: pip install lxml pip install bs4 pip install urllib #!/usr/bin/env pytho ...
- MySQL主从宕机的解决方法
测试系统:centos6.5系统 测试环境IP地址划分: master: 192.168.80.130 slave:192.168.80.143 slave:192.168.80.146 首先模拟(M ...
- oracle11.2静默安装
操作系统及Oracle版本 Linux版本:rhel-server-5.8-x86_64-dvd Oracle版本:Oracle Database 11g Release 2 (11.2.0.4.0) ...
- python3 列表操作
- 创建列表 #创建列表: list1 = [1, 2, 3, 4, 5] - 向列表中添加元素 - append # 向列表中添加元素: list1 = [1, 2, 3, 4, 5] list1. ...