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         ; 调用内核功能
  • 优点(较于机器语言):开发效率高
  • 缺点(较于机器语言):执行效率低

高级语言

由于翻译器的不同,所以有编译型语言和解释型语言

编译型语言(谷歌翻译)

  1. 把所有代码一次性翻译好
// 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

基本使用

  1. 修改默认目录
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'
  1. 插件安装
pip3 install jupyter_contrib_nbextensions

再安装脚本文件

jupyter contrib nbextension install --user

  1. 配置

打开 Jupyter Notebook,可以看到主界面餐单栏多出了 Nbextensions 选项,点击可以展开拓展程序选项

可以自由摸索扩展程序用途

Jupyter快捷键

shift+enter 运行本单元,选中下一单元

ctrl+enter 运行本单元

esc+m 可以编辑markdown

esc+y 切换到代码

dd 删除一行

posted @ 2019-09-06 18:55  SetCreed  阅读(144)  评论(0编辑  收藏  举报