• Python基础知识


    1. Python简介

           python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。

      最新的TIOBE排行榜,Python赶超PHP占据第4, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。

      Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。

     1> web开发

      Python拥有很多免费数据函数库、web模板系统、以及与web服务器进行交互的库,可以实现web的开发,目前比较有名气的Python web框架为flask和Django。这两款框架的效率都非常高。

     2> 桌面开发

      Python在图形界面开发上也很强大,可以利用tkinter/PyQT框架开发各种桌面软件!

     3> 网络编程

      支持高并发的Twisted网络框架, python3引入的asyncio使异步编程变的非常简单(python2没有)。

     4> 爬虫

      在爬虫领域python的绝对是霸主地位,无人能及

     5> 人工智能

     6> 云计算

      Python是从事云计算工作需要掌握的一门编程语言,目前很火的云计算框架OpenStack就是由Python开发的,如果想要深入学习并进行二次开发,就需要具备Python的技能。

    7> 自动化运维

      Python是一门综合性的语言,能满足绝大部分自动化运维需求,前端和后端都可以做,从事该领域,应从设计层面、框架选择、灵活性、扩展性、故障处理、以及如何优化等层面进行学习。

     8> 游戏开发

      在网络游戏开发中,Python也有很多应用,相比于Lua or C++,Python比Lua有更高阶的抽象能力,可以用更少的代码描述游戏业务逻辑,《文明》这款游戏就是python写的。

     9> 科学运算

      97年开始,NASA就在大量使用Python在进行各种复杂的科学运算,随着NumPy, SciPy, Matplotlib, Enthought librarys等众多程序库的开发,使的Python越来越适合于做科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛。

    2. Python的发展前景

      发展前景一:Linux运维

      发展前景二:Python Web网站工程师

      发展前景三:Python自动化测试

      发展前景四:数据分析

      发展前景五:人工智能

    3. windows安装Python解释器

    3.1 官网下载

      进入Python官网下载中心https://www.python.org/downloads/windows/,选择稳定的3.6.8版本进行下载。

    3.2  打开安装包进行安装

    waiting……

    安装完成

     

    在cmd命令行输入Python关键字,进入交互界面,安装成功

    C:UsersWenKe>python

    Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)] on win32

    Type "help", "copyright", "credits" or "license" for more information.

    >>> 

    键入quit<>退出

    3.3  安装pycharn工具

      PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。

      进入官网下载pycharm安装包http://www.jetbrains.com/pycharm/download/#section=windows

     

    双击安装包进行安装

    自定义安装路径

    安装

    waiting…….

    安装完成

     

    pycharm的激活和汉化

    链接:https://pan.baidu.com/s/15AJv-FzaBtuippQ24UTbRg

    提取码:xtpe

    激活:激活可以直接百度方法。

    汉化:进入之后有两个文件,下载后复制resources_cn.jar到pycharm安装文件的lib下即可。

     

    启动pycharm

    进入新建项目界面,自定义保存位置

    选择新建Python file,进入新建界面,自定义文件名,以.py结尾。

    自定义环境变量:

    点击文件,选择设置,进入项目设置

    选择目标解释器project interpreter,添加已有的虚拟环境

    选择已存在的环境,点击确认

    添加完虚拟环境后点击右上方的加号,可以下载所需的软件,与匹配、命令相同。

     

    题外话:编译器和解释器的区别

      解释器是从上往下一行一行解释,解释一行执行一行;编译器是全部解释之后再全部执行。

    4. 在centos7上安装python3.6.8

      centos7.2及以上版本内置有Python2版本。

    [root@localhost ~]# python -V
    Python 2.7.5
    [root@localhost ~]# which python 
    /usr/bin/python

     

    4.1 下载python压缩包

      官网: https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz

     

    4.2 下载依赖包

    [root@localhost ~]# mount /dev/cdrom /mnt
    mount: /dev/sr0 is write-protected, mounting read-only
    [root@localhost ~]# yum -y groupinstall "Development tools"
    [root@localhost ~]# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

     

    4.3 创建文件夹,将下载好的压缩包上传,进行解压

    [root@localhost ~]# mkdir /usr/local/python3
    [root@localhost ~]# cd /usr/local/python3
    [root@localhost python3]# rz
    [root@localhost python3]# ls
    Python-3.6.8.tgz
    [root@localhost python3]# tar xzf Python-3.6.8.tgz
    [root@localhost python3]# ls
    Python-3.6.8  Python-3.6.8.tgz

     

     4.4 编译安装

    [root@localhost python3]# cd Python-3.6.8
    [root@localhost Python-3.6.8]# ls
    ……
    configure
    …..
    [root@localhost Python-3.6.8]# ./configure --prefix=/usr/local/python3     #指定安装位置
    …..checking…..
    [root@localhost Python-3.6.8]# make && make install
    …….
    [root@localhost Python-3.6.8]# cd
    [root@localhost ~]# cd /usr/local/python3
    [root@localhost python3]# ls
    bin  include  lib  Python-3.6.8  Python-3.6.8.tgz  share

    4.5 创建软连接,添加到环境变量

    [root@localhost ~]# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
    [root@localhost ~]# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

    4.6 安装完成测试

    [root@localhost ~]# python3
    Python 3.6.8 (default, Jun  5 2019, 02:47:55) 
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> exit()
    [root@localhost ~]#

    4.7 修改配置文件,使Python2和Python3共存

    [root@localhost ~]# vim /usr/bin/yum
    #!/usr/bin/python2                   #更改此处即可
    [root@localhost ~]# vim /usr/libexec/urlgrabber-ext-down
    #! /usr/bin/python2                  #更改此处即可

    至此,centos7上Python3已安装完成,且和Python2共存。

    5. pip介绍

      pip的用法其实跟linux的yum很像,它可以安装python所需要的环境包,并且可以包解决依赖关系。

      需要注意的是,直接在C盘操作会将下载文件等都安装到C盘,这是无法接受的,因此在进行pip操作之前先修改默认安装路径。打开命令行窗口:

    1. 查看用户自定义的启用Python脚本和依赖安装包的基础路径
    C:UsersWenKe>python -m site
    sys.path = [
        'C:\Users\WenKe',
        'D:\Program\python\python\python36.zip',
        'D:\Program\python\python\DLLs',
        'D:\Program\python\python\lib',
        'D:\Program\python\python',
        'D:\Program\python\python\lib\site-packages',
    ]
    USER_BASE: 'C:\Users\WenKe\AppData\Roaming\Python' (doesn't exist)
    USER_SITE: 'C:\Users\WenKe\AppData\Roaming\Python\Python36\site-packages' (doesn't exist)
    ENABLE_USER_SITE: True
    
    2. 寻找修改,找到管理文件
    C:UsersWenKe>python -m site -help
    D:Programpythonpythonlibsite.py [--user-base] [--user-site]  #管理文件
    
    3. 修改默认参数
    用记事本打开该文件,修改参数
    # These values are initialized by the getuserbase() and getusersitepackages()
    # functions, through the main() function when Python starts.
    USER_SITE = "E:Anacondalibsite-packages"
    USER_BASE = "E:AnacondaScripts"

     

    pip的用法:

    1> 列出已安装的包

      pip list

    在cmd命令窗口输入:
    C:UsersWenKe>pip list
    Package    Version
    ---------- -------
    pip        18.1
    setuptools 40.6.2 

    2> 安装要安装的包

      pip install 软件包名

      pip安装也需要源

    3> 安装特定版本

      pip install django==1.1.5

    4> 导出python的环境

      pip freeze > requestment.txt

    5> 从导出的python环境中安装所需要的包

      pip install -r requestment.txt

    6> 卸载导出的python环境中的包

      pip uninstall -r requestment.txt

    7> 升级包 

      pip install -U <包名>

    8> 显示包所在的目录

      pip show -f <包名>

    9> 搜索包

      pip search <搜索关键字>

    10> 查询可升级的包 

      pip list -o

    11> 下载包而不安装 

      pip install <包名> -d <目录> 或 pip instal

    12> 更换国内pypi镜像

      阿里:https://mirrors.aliyun.com/pypi/simple

      豆瓣:http://pypi.douban.com/simple

      中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/simple/

      pip install <包名> -i http://pypi.v2ex.com/simple    不加-i则使用默认的源

    13> 指定全局安装源

      在unix和macos,配置文件为:$HOME/.pip/pip.conf

      在windows上,配置文件为:%HOME%pippip.ini

     

      (1):在windows文件管理器中,输入 %APPDATA%

      (2):会定位到一个新的目录下,在该目录下新建pip文件夹,然后到pip文件夹里面去新建个pip.ini文件。 

      (3):在新建的pip.ini文件中输入以下内容,搞定文件路径:"C:UsersAdministratorAppDataRoamingpippip.ini"

    [global]
    timeout = 6000
    index-url = http://pypi.douban.com/simple

    6. 创建Python的虚拟环境

      虚拟环境可以保证在两个版本不一样的安装包设置不一样的虚拟环境,使得两个包相互独立,不冲突。虚拟环境可以使得两个相同包但不同版本的包不冲突,同时可以导出独立的虚拟环境的包到外部文件而不是导出所有的包而减少储存空间占用。

    6.1  安装虚拟环境:

      virtualenv是用来创建虚拟环境的软件工具,我们可以通过pip或者pip3来安装。

      pip install virtualenv

      pip3 install virtualenv       linux默认安装的是Python2,因此在安装时指定使用pip3版本。

     

    默认安装位置d:programpythonpythonlibsite-packages,即Python的安装路径下的lib库里面。

    打开win的命令行窗口
    C:UsersWenKe>pip install virtualenv
    Collecting virtualenv
      Using cached https://files.pythonhosted.org/packages/ca/ee/8375c01412abe6ff462ec80970e6bb1c4308724d4366d7519627c98691ab/virtualenv-16.6.0-py2.py3-none-any.whl
    Installing collected packages: virtualenv
    Successfully installed virtualenv-16.6.0

    6.2 创建虚拟环境

    virtualenv [虚拟环境的名字]

    C:UsersWenKe>virtualenv yunwei
    Using base prefix 'd:\program\python\python'
    New python executable in C:UsersWenKeyunweiScriptspython.exe
    Installing setuptools, pip, wheel...
    done.
    
    查看
    
    可以看到虚拟环境的配置是齐全的
    在命令行,在哪个路径下运行创建命令,在哪个目录下就创建虚拟环境,因此一般不在C盘进行。

    6.3  进入虚拟环境

      为了不占用C盘空间,在E盘下创建yunwei.txt文件,通过属性获取其位置,切换到该目录,再进行虚拟环境的创建。

      虚拟环境创建好了以后,那么可以进入到这个虚拟环境中,然后安装一些第三方包,进入虚拟环境在不同的操作系统中有不同的方式,一般分为两种,第一种是Windows,第二种是*nix:

      1)windows进入虚拟环境:进入到虚拟环境的Scripts文件夹中,然后执行activate。

      2)linux进入虚拟环境:source /path/to/virtualenv/bin/activate
    一旦你进入到了这个虚拟环境中,你安装包,卸载包都是在这个虚拟环境中,不会影响到外面的环境。

    6.4  退出虚拟环境

      deactivate

    6.5  创建虚拟环境的时候指定Python解释器

      在电脑的环境变量中,一般是不会去更改一些环境变量的顺序的。也就是说比如你的Python2/Scripts在Python3/Scripts的前面,那么你不会经常去更改他们的位置。但是这时候我确实是想在创建虚拟环境的时候用Python3这个版本,这时候可以通过-p参数来指定具体的Python解释器:

      virtualenv -p C:Python36python.exe [virutalenv name]

    6.6 virtualenvwrapper

      virtualenvwrapper这个软件包可以让我们管理虚拟环境变得更加简单。不用再跑到某个目录下通过virtualenv来创建虚拟环境,并且激活的时候也要跑到具体的目录下去激活。

    安装virtualenvwrapper
    linux:pip install virtualenvwrapper。
    windows:进入win命令行后执行pip install virtualenvwrapper-win
    C:UsersWenKe>pip install virtualenvwrapper-win

    virtualenvwrapper的基本使用

    1)修改virtualenvwrapper的默认路径

           我的电脑--属性--高级系统设置--环境变量--新建--变量名为WORKON_HOME,变量值为指定的路径,如E:Learningpython_vir--确定--确定。

    2)创建虚拟环境

    mkvirtualenv 虚拟环境变量名

    C:UsersWenKe>mkvirtualenv yunwei
    Using base prefix 'd:\program\python\python'
    New python executable in E:Learningpython_viryunweiScriptspython.exe
    Installing setuptools, pip, wheel...

    3)查看已创建的虚拟环境

    (yunwei) C:UsersWenKe>lsvirtualenv
    dir /b /ad "E:Learningpython_vir"
    ==========================================================
    yunwei
    (yunwei) C:UsersWenKe>

    4)进入到某个虚拟环境

    (yunwei) C:UsersWenKe>workon yunwei
    (yunwei) C:UsersWenKe>

    5)退出当前环境变量

      deactivate

    6)删除某个虚拟环境变量

    (yunwei) C:UsersWenKe>rmvirtualenv yunwei
        Deleted E:Learningpython_viryunwei

    7)进入到虚拟环境所在的目录

      cdvirtualenv

  • 相关阅读:
    (转)sysbench部署与参数详解
    (转)MySQL自带的性能压力测试工具mysqlslap详解
    (转)mysql双机热备的实现
    (转)linux运维必会MySQL企业面试题
    (转)MySQL出现同步延迟有哪些原因?如何解决?
    (转)mysql数据库高可用高扩展性架构方案实施
    java.IO
    String类的编码和解码问题
    编码表的概述和常见编码表
    05_打字游戏
  • 原文地址:https://www.cnblogs.com/ajunyu/p/10946096.html
Copyright © 2020-2023  润新知