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.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险. ...
随机推荐
- 201871010111-刘佳华《面向对象程序设计(java)》第十五周学习总结
201871010111-刘佳华<面向对象程序设计(java)>第十五周学习总结 实验十三 Swing图形界面组件(二) 实验时间 2019-12-6 第一部分:理论知识总结 5> ...
- HTML与CSS学习笔记(6)
1.flex弹性盒模型 在父容器中添加display:flex;把父容器变为弹性盒模型 作用(写)在flex容器上 作用(写)在flex子项上 flex-direction order flex-wr ...
- Single-SPA 前端微服务化 动态路由多系统合并
每日优鲜供应链前端团队微前端改造 动态注册路由,然后根据路由判断加载子项目js资源.子项目webpack需要设置externals,然后用systemjs接管external的包加载 webpack ...
- CF991C Candies
CF991C Candies 洛谷评测传送门 题目描述 After passing a test, Vasya got himself a box of nn candies. He decided ...
- luoguP2048 [NOI2010]超级钢琴
upd 2019.12.10 latex和markdown化 题意 解析: 先考虑暴力:将每个区间求出来,放进一个堆里,取出前k个就是答案. 期望得分:20,原因:TLE code(对,我真写了): ...
- appium--python启动appium服务
前戏 前面我们都是在cmd下通过输入appium加端口号来启动服务的,在我们做自动化的时候,我们当然不希望我们手动启动appium服务,而是希望通过脚本自动启动appium服务. 我们可以使用subp ...
- 【day08】PHP
一. 函数 1.函数:封装的,可以重复使用的完成特定功能的代码段. 2.函数分类: (1)系统函数 (2)自定义函数 3.自定义函数 (1)格式 function 函数名称([参数[= ...
- vscode (1.41.0版本,1.41.1版本)node_modules部分TS声明文件@types包会导致该版本没JS语法提示
正常提示如下: 然而我的提示没了,本以为是插件问题,把所有插件禁用不行!卸载重装vscode还是不行!!但是其他电脑的1.41.1版本,同样代码确没问题!!!简直日了*了 折腾大半天,发下问题如下: ...
- [[: not found,Ubuntu修改默认sh为bash
写好的shell sh执行脚本报错[[: not found,改shell多麻烦,索性直接把电脑默认的dash改成使用bash 1.查看目前使用 Ubuntu版本默认sh都是使用的dash 执行 ls ...
- 原生javascript 共享onload事件
在工作时,我们给一个元素绑定了事件,如果dom还没加载完成,就执行了js代码,就不会绑定成功.常规解决方案就是用: window.onload = EventFunction; 可是如果有两个 事件, ...