Fork me on GitHub

day-02

1.编程语言的分类

1.1 机器语言

由于计算机内部只能识别0和1,因此,用二进制代码0和1描述的指令称为机器指令。

全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序,只有目标程序才能被计算机直接识别和执行。

早期的所有指令全都是有0和1组成,这类指令无明显特征,难以记忆,不便阅读和书写,且依赖于具体机种,局限性很大,例如:

0000 代表 加载(LOAD)
0001 代表 存储(STORE)
  • 优点:执行效率高
  • 缺点:开发效率低

1.2 汇编语言

汇编语言的指令采用了英文缩写的标识符,相对机器语言更容易识别和记忆。

汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作。例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识。(本质上还是控制计算机硬件)

以下是汇编打印hello world的代码示例:

; 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.3 高级语言

高级语言可以直接使用人能理解的语言和语法编写程序,人不用再去直接操作计算机底层硬件。因此和汇编语言相比,高级语言的优缺点如下:

  • 优点:开发效率高
  • 缺点:执行效率低

使用高级语言编写的程序本质上还是要翻译成机器语言给计算机执行相应的操作,根据翻译的方式不同,高级语言又分为编译型语言和解释性语言。

1.3.1 编译型语言

程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。

  • 优点:程序执行效率高
  • 缺点:依赖编译器,跨平台性差些。

1.3.2 解释性语言

解释性语言在运行程序的时候才翻译,专门有一个解释器能够直接执行程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次。

  • 优点:开发效率高
  • 缺点:执行效率低

2. 网络瓶颈效应

由于互联网中发送指令的时候是有延迟的,当你向互联网中连续发送指令的时候,后面的指令都需要等前面的指令处理完了之后才会被接收。也就是说,互联网之间互相通信的时间要远远大于程序执行的时间。

所以在实际开发中,需要根据不同的开发目的,去选择使用什么语言去实现需求。

通俗来讲,如果我们开发一个不需要互联网也能运行的程序的时候,可以选择使用编译型语言去保证程序的执行速度;当我们开发互联网程序时,其实不会追求多块的运行速度,比如实现同样的目的,使用编译型语言只需要0.001ms,使用解释型语言需要0.1ms,看着是差了很多,但是多数时候互联网通讯的时间都远大于程序运行的时间,这个时候选择编译型语言节省下来的时间就被网络延迟浪费了,所以不如选择开发效率更快的解释型语言。

3. Python解释器的安装

安装配置步骤不在此赘述

4. 执行Python程序的两种方式

  • 交互式

    • 优点:方便调试
    • 缺点:程序无法保存,关闭窗口即消失
  • 命令行式

    • 优点:程序可以永久保存
    • 缺点:调试麻烦

5. Pycharm的使用

安装配置步骤不在此赘述。

6. pip的使用

如果把python比作手机,pip工具就是手机的应用商店,我们可以在里面下载需要的软件(库)。

由于python默认安装库的时候是从国外网站查找,下载速度很慢,更换成国内的镜像源之后可以大大提升下载速度。

下面介绍python解释器镜像源修改:

Pycharm安装配置完成后更改镜像源地址(python3.7版本):

Files ---> Settings ---> Project ---> Project Interpreter

在界面的右边列表任意选择一项双击,弹出如下界面,点击下方Manage Repositories,在弹出的界面里面输入一个国内的网址即可。

7. Jupyter的使用

执行Python程序有两种方式,命令行是和交互式。如果说Pycharm是命令行式的衍生工具,那么Jupyter就是交互式的衍生工具。

7.1 安装

在cmd界面输入:pip install jupyter

等待自动安装完成即可

7.2 使用

在命令行界面输入 jupyter notebook,一般会自动调取浏览器进行打开,如果没有打开,可以复制命令行下的网址到浏览器地址栏手动打开。

7.3 配置:

7.3.1 更改默认打开的文件夹

cmd命令行输入:jupyter notebook --generate-config

界面会给出一个本地 jupyter notebook --generate-config.py 的地址,找到这个文件并使用Pycharm打开,找到 c.NotebookApp.notebook_dir 进行更改:

c.NotebookApp.notebook_dir = r'D:\Jupyter文件'	#替换想要打开的文件夹的路径

7.3.2 Jupyter不自动弹出浏览器的方法:

cmd命令行下输入:Jupyter notebook 不自动弹出网页,可以进行如下修改:

打开 jupyter notebook --generate-config.py 文件,找到 c.NotebookApp.browser ,更改浏览器名称,并在其上方添加两行代码

import webbrowser							    #导入 webbrowser
webbrowser.register('chrome',None,webbrowser.GenericBrowser('C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'))		#替换你的浏览器安装路径
c.NotebookApp.browser = 'chrome'  			 	 #替换你的浏览器名称

更改完成后再在cmd命令行下输入:Jupyter notebook 就可以自行跳转到浏览器:

Jupyter使用时,命令行界面不可以退出

posted @ 2019-09-06 17:08  Yugaliii  阅读(135)  评论(0编辑  收藏  举报