zoukankan      html  css  js  c++  java
  • python基础回顾(一)

    之前在不同时间段接触过Java、C/C++、C#等语言,但是止步于基础语法,仅仅会编写简单几十行代码,后面又学习了python。回顾python的基础,我将记录自己初学中没有在意的、没有记住的或者没有弄明白的知识点,记录下来以方便后续学习。这一部分主要讲述:解释型语言的原理及特点、Anaconda的安装和配置(顺便介绍了lib和script文件夹)、pip和conda命令的区别

    • python是一种解释型语言(文中内容参考这里

    学python的第一天,一句话一定会看到“python是一种解释型语言”,那么什么是解释型语言。

    计算机不能直接的理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言的编写的程序。翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。解释型语言是指它常用的执行机制是使用一个“解释器”来执行,解释器对于程序是一句一句“翻译”成机器语言来一句一句执行。

    Java和python都是解释型语言。区别如下

    Java和python在执行时的区别

    总结:(参考这里

    1、原理:C/C++等编译型语言要首先将代码全部写完,然后再通过某个编译器生成一个二进制的可执行文件(*.exe);python是翻译一句执行一句,不需要将全部代码写完,运行的不一定是完全的二进制内容,因为它是边解释(成二进制),边运行。所以当它执行看出效果的时候,程序后半部分还不一定解释成二进制呢。所以它是“三心二意”的做事,速度没有前者快。如此一来,python的代码修改更灵活,可以快速部署,不需要停机维护,但是缺点是每次运行的时候都要解释一遍,速度上不如编译型语言。

    2、可移植性: 编译型语言是运行二进制内容,所以:一旦CPU指令系统改变,之前的二进制文件可能运行不了。比如:如果到其他硬件平台上运行,就可能出现错误,就需要根据该平台重新编译出新的二进制文件。所以:可移植性差;而解释型语言则不然。它并没有实现弄成什么二进制内容,而是在需要的时候才开始编译、运行。

    3、软件升级方便:编译型语言弄出来的二进制文件如果要升级,自然要重新下载一个新的二进制文件了。所以重新下载,安装,覆盖是最大的特点。比如QQ的升级,就是要重新下载,重新安装,重新覆盖,等个半天,而且很耗费CPU资源,体验性就不大好;而解释型的语言,只要重新写好源代码即可。用户提要到最新效果,只要刷新一下即可。所以体验性好。比如:某网站平台升级了,用户只要重新刷新一下.
     
    4、应用于网站等领域:编译型语言应用领域通常是那些安装软件,如:桌面上的那种安装软件;解释型的语言的应用领域通常是:互联网,网站等,那种刷新了一下就可以看到最新效果的领域。
     
    5、可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
     
    • Anaconda的安装和虚拟环境的配置
    1、Anaconda是一个科学计算环境,当在电脑上安装好Anaconda以后,就相当于安装好了Python,还有一些常用的库,如numpy,scrip,matplotlib等库。建议是先安装Anaconda,再安装pycharm。
    Anaconda中可以设置虚拟环境,在envs文件夹下可以同时存在python2.x和3.x等版本,在pycharm中使用时可以直接选择环境,非常方便。Anaconda的安装和使用的可以参考链接,该链接上也介绍了虚拟环境的创建和管理以及如何与pycharm连接等,具体不再赘述。
    2、Anaconda安装之后,需要添加的路径有三个(以我的为例子):D:Anaconda3;   D:Anaconda3Scripts;   D:Anaconda3Libraryin 
    3、项目结构如下图, 这里有我们很熟悉的python.exe和python.exe, 也就是Python解释器。这两个的区别是python.exe在运行程序的时候,会弹出一个黑色的控制台窗口,具体区别可参照链接

      除此之外还有个很重要的东西, Lib, 也就是python包文件, 包括自带的包和第三方包。

    • Anaconda、conda、pip、virtualenv的区别(参考链接

    Anaconda

    Anaconda是一个包含180+的科学包及其依赖项的发行版本。其包含的科学包包括:conda, numpy, scipy, ipython notebook等。

    conda

    (1)conda是包及其依赖项和环境的管理工具。
    (2)适用语言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。(3)适用平台:Windows, macOS, Linux
    (4)用途:
          快速安装、运行和升级包及其依赖项。
          在计算机中便捷地创建、保存、加载和切换环境。
    (5)conda为Python项目而创造,但可适用于上述的多种语言。
    (6)conda包和环境管理器包含于Anaconda的所有版本当中。

     如果你需要的包要求不同版本的Python,你无需切换到不同的环境,因为conda同样是一个环境管理器。仅需要几条命令,你可以创建一个完全独立的环境来运行不同的Python版本,同时继续在你常规的环境中使用你常用的Python版本。——conda官方网站

    pip

    1)pip是用于安装和管理软件包的包管理器。
    (2)pip编写语言:Python。
    (3)Python中默认安装的版本:
            Python 2.7.9及后续版本:默认安装,命令为pip
            Python 3.4及后续版本:默认安装,命令为pip3

    ④ virtualenv

    1)virtualenv:用于创建一个独立的Python环境的工具。
    (2)解决问题:
            1、当一个程序需要使用Python 2.7版本,而另一个程序需要使用Python 3.6版本,如何同时使用这两个程序?
            2、如果将所有程序都安装在系统下的默认路径,如:/usr/lib/python2.7/site-packages,当不小心升级了本不该升级的程序时,将会对其他的程序造成影响。
            3、如果想要安装程序并在程序运行时对其库或库的版本进行修改,都会导致程序的中断。
            4、在共享主机时,无法在全局site-packages目录中安装包。
    (3)virtualenv将会为它自己的安装目录创建一个环境,这并不与其他virtualenv环境共享库;同时也可以选择性地不连接已安装的全局库。

    pip 与 conda 比较

    → 依赖项检查
        pip:
            (1)不一定会展示所需其他依赖包。
            (2)安装包时或许会直接忽略依赖项而安装,仅在结果中提示错误。
        conda:
            (1)列出所需其他依赖包。
            (2)安装包时自动安装其依赖项。
            (3)可以便捷地在包的不同版本中自由切换。
    → 环境管理
        pip:维护多个环境难度较大。
        conda:比较方便地在不同环境之间进行切换,环境管理较为简单。
    → 对系统自带Python的影响
        pip:在系统自带Python中包的**更新/回退版本/卸载将影响其他程序。
        conda:不会影响系统自带Python。
    → 适用语言
        pip:仅适用于Python。
        conda:适用于Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。

    conda与pip、virtualenv的关系

        conda结合了pip和virtualenv的功能。
  • 相关阅读:
    在SQL2000怎樣用動態實現SQL2005的nvarchar(max)功能
    行列互换
    c#+GUI在aspx页面画图
    做网站用UTF8还是GB2312?
    Mvc如何做权限
    表白网
    vs2008保存很慢,提速
    MVC 向View传值
    aspx画图表
    什么是MVC
  • 原文地址:https://www.cnblogs.com/liliwang/p/12662649.html
Copyright © 2011-2022 走看看