• 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
    ");    /*调用printf()函数*/
        printf("This year is %d
    ",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:Userscwzdz> jupyter notebook --generate-config
    Writing default config to: C:Userscwzdz.jupyterjupyter_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 删除一行

  • 相关阅读:
    自动化测试工具Gauge--contexts 与 Tear Down steps
    Redis官网第一次闲逛
    针对 《Linux就该这么学》 之 “第三章---管道符、重定向、环境变量” 摘抄、操练及拓展
    父shell 和 子shell; shell脚本的几种执行方式
    麒麟操作系统操练Linux基操
    HTTP代理
    gcc/g++ 安全编码
    golang 生成rsa秘钥对
    depth of feild
    Emission pass
  • 原文地址:https://www.cnblogs.com/setcreed/p/11477556.html
Copyright © 2020-2023  润新知