day02 整理
编程语言的分类
机器语言
计算机指认识0和1
0011 1010 0000 1100
计算机的设计初衷 --> 科学计算
- 优点:执行效率高
- 缺点:开发效率低
汇编语言
汇编语言类似于机器语言,但是汇编语言只是把一串二进制数写成一个英文单词。因此不需要去记住二进制数,而是去记住一个个英文单词。
汇编打印一句hello wold, 需要写十多行代码。
; 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 ; 调用内核功能
- 优点(较于机器语言):开发效率高
- 缺点(较于机器语言):执行效率低
高级语言
由于翻译器的不同,所以有编译型语言和解释型语言
编译型语言(谷歌翻译)
- 把所有代码一次性翻译好
// test.c
#include<stdio.h> /*引入头文件*/
int main(void) /*一个简单的C程序*/
{
int number; /*定义个名字叫做number的变量*/
number=2014; /*给number赋一个值*/
printf("Hello ! I am dotcpp.com\n"); /*调用printf()函数*/
printf("This year is %d\n",number);
return 0;
}
经过翻译器(汇编/机器语言), 假设是翻译成这样的:
// test.obj
0110100101000;
010100101010011;
01000101010010101111;
1111111110000000101010;
101001010000000000000;
0110100101000;
010100101010011;
01000101010010101111;
1111111110000000101010;
101001010000000000000;
0110100101000;
010100101010011;
01000101010010101111;
1111111110000000101010;
101001010000000000000;
- 优点(较于解释型):执行效率高
- 缺点(较于解释型):开发效率低,翻译器翻译之后才能找到bug,改一次bug需要翻译一次,再改再翻译
解释型语言(同声传译)
# test.py
print('hello world')
print('hello world')
print('hello world')
翻译器(一般由编译型语言写的)
首先翻译第一行 (假设是这样翻译的)
0000001111001;
然后再翻译第二行
- 优点(较于编译型):开发效率高
- 缺点(较于编译型):执行效率低
网络瓶颈效应
互联网通信的时间远远大于程序执行的时间
如果你的程序需要联网,编译型的执行效率高的优点毫无用处,而用解释型语言能提高开发效率
如果程序不联网,如操作系统,就用编译型语言,最好用机器语言
执行python程序的两种方式
| 交互式 | 命令行式 | |
|---|---|---|
| 优点 | 交互式下,不需要使用print,会自动打印,调试方便 | 程序能永久保存 |
| 缺点 | 关掉了程序就没了 | 调试非常麻烦 |
Jupyter的使用
jupyter的介绍
Jupyter Notebook的本质是一个Web应用程序,便于创建和共享文档。支持实时代码、数学方程、可视化和markdown。
安装
- 安装:
pip3 install jupyter - 启用:
jupyter notebook
基本使用
- 修改默认目录
C:\Users\cwzdz> jupyter notebook --generate-config
Writing default config to: C:\Users\cwzdz\.jupyter\jupyter_notebook_config.py
# 找到配置文件,修改目录
c.NotebookApp.notebook_dir = 'D:\pycharm_project'
- 插件安装
pip3 install jupyter_contrib_nbextensions
再安装脚本文件
jupyter contrib nbextension install --user
- 配置
打开 Jupyter Notebook,可以看到主界面餐单栏多出了 Nbextensions 选项,点击可以展开拓展程序选项
可以自由摸索扩展程序用途
Jupyter快捷键
shift+enter 运行本单元,选中下一单元
ctrl+enter 运行本单元
esc+m 可以编辑markdown
esc+y 切换到代码
dd 删除一行
day02 整理的更多相关文章
- day02.2-常用Linux命令整理
Linux命令语法格式: 命令 [选项] [参数] 1). 命令:告诉Linux操作系统执行什么: 2). 选项:说明命令的运行方式.选项部分是以字符‘-’开始的: 3). 参数:说明 ...
- Java复习整理 Day02
1 package demo01; 2 3 import java.util.Scanner; 4 5 public class ScannerDemo01 { 6 public static voi ...
- python开发学习-day02(元组、字符串、列表、字典深入)
s12-20160109-day02 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...
- Java学习day02
day02-课堂笔记 1.打开DOS命令窗口,执行java HelloWorld,执行原理? * java.exe命令会启动JVM * JVM启动之后会启动类加载器ClassLoader * Clas ...
- Django学习day02随堂笔记
每日测验 """ 今日考题 1.谈谈你对web框架的认识,简述web框架请求流程 2.python三大主流web框架的区别 3.安装django需要注意的事项有哪些(最少 ...
- dotNET跨平台相关文档整理
一直在从事C#开发的相关技术工作,从C# 1.0一路用到现在的C# 6.0, 通常情况下被局限于Windows平台,Mono项目把我们C#程序带到了Windows之外的平台,在工作之余花了很多时间在M ...
- UWP学习目录整理
UWP学习目录整理 0x00 可以忽略的废话 10月6号靠着半听半猜和文字直播的补充看完了微软的秋季新品发布会,信仰充值成功,对UWP的开发十分感兴趣,打算后面找时间学习一下.谁想到学习的欲望越来越强 ...
- SQL Server 常用内置函数(built-in)持续整理
本文用于收集在运维中经常使用的系统内置函数,持续整理中 一,常用Metadata函数 1,查看数据库的ID和Name db_id(‘DB Name’),db_name('DB ID') 2,查看对象的 ...
- kafka学习笔记:知识点整理
一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险. ...
随机推荐
- hi3559v100 sdk中双系统AMP架构的初步了解
hi3559v100是海思推出的camera soc处理器.采用的是双核处理器.一个是a7,运行的linux3.18内核.一个是a17使用的是huaweiliteos操作系统,Hi3559V100 系 ...
- linux SSH设置
环境:centos7 一. ssh连接超时设置 (1)客户端设置(推荐) 客户端是windows系统 连接工具:SecureCRT 1.SecureCRT客户端->Options(选项)-> ...
- Shell命令-系统信息及显示之df、top
文件及内容处理 - df.top 1. df:报告文件系统磁盘空间的使用情况 df命令的功能说明 df 命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计. df命令的语法格式 df [O ...
- 7.5 高级数据源---Kafka
一.Kafka简介 Kafka是一种高吞吐量的分布式发布订阅消息系统,用户通过Kafka系统可以发布大量的消息,同时也能实时订阅消费消息.Kafka可以同时满足在线实时处理和批量离线处理. 在公司的大 ...
- 小程序setData()使用和注意事项
注意: 直接修改this.data,而不调用this.setData(),是无法改变当前页面的状态的,会导致数据不一致 仅支持可以JSON化的数据 单次设置的数据不能超过1024KB,尽量避免一次设置 ...
- 如果对象的引用被置为null,;垃圾回收器是否会立即释放对象占用的内存?
不会,在下一个垃圾回调周期中,这个对象将是被可回收的. 也就是说并不会立即被垃圾收集器立刻回收,而是在下一次垃圾回收时才会释放其占用的内存.
- 【Spring】Spring框架配置详情
Spring框架的一个亮点就是能实现注入并且可以对实例化的Bean进行管理. 本文将对Spring框架的配置做一个详细的讲解. 一般情况下Spring是不单独使用的,而是和Hibernate配合使用, ...
- Loj #2719. 「NOI2018」冒泡排序
Loj #2719. 「NOI2018」冒泡排序 题目描述 最近,小 S 对冒泡排序产生了浓厚的兴趣.为了问题简单,小 S 只研究对 *\(1\) 到 \(n\) 的排列*的冒泡排序. 下面是对冒泡排 ...
- 【shell脚本】批量修改扩展名===modifyExtension.sh
前提:需切换到需要批量修改扩展名的目录下,运行脚本 [root@VM_0_10_centos shellScript]# cat modifyExtension.sh #!/bin/bash # 编写 ...
- ubuntu16.04跑通Mask R-CNN Demo
1. 下载源码: git clone https://github.com/matterport/Mask_RCNN 2. 安装依赖项(其实就是程序的运行环境) 我是用conda新建的虚拟环境. (1 ...