Python自动化运维之1Python入门

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python自动化运维之1Python入门相关的知识,希望对你有一定的参考价值。

一、Python简介

python是吉多·范罗苏姆发明的一种面向对象的脚本语言,可能有些人不知道面向对象和脚本具体是什么意思,但是对于一个初学者来说,现在并不需要明白。大家都知道,当下全栈工程师的概念很火,而Python是一种全栈的开发语言,所以你如果能学好Python,那么前端,后端,测试,大数据分析,爬虫等这些工作你都能胜任。

为什么选择Python

关于语言的选择,有各种各样的讨论,在这里我不多说,就引用Python里面的一个彩蛋来说明为什么要选择Python,在Python解释器里输入import this 就可以看到。

>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases arent special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless youre Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, its a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- lets do more of those!

上面的话简单的总结来说就是“优雅”、“明确”、“简单”,或许你还是有些不明白,举个简单的例子,若果同样的功能你用C/C++写可能要写100行代码,而如果用Python写你可能只要20行代码就搞定,同样的如果一个问题有好几种解决方案,但是Python会用一种最简单的方法来实现。所以Python是用最简单最优雅最明确的方法来解决问题。

Python2.x与3??.x版本区别

Python的3??.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。

为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容。

许多针对早期Python版本设计的程式都无法在Python 3.0上正常执行。

为了照顾现有程式,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法与函数。

新的Python程式建议使用Python 3.0版本的语法。

除非执行环境无法安装Python 3.0或者程式本身使用了不支援Python 3.0的第三方库。目前不支援Python 3.0的第三方库有Twisted, py2exe, PIL等。

大多数第三方库都正在努力地相容Python 3.0版本。即使无法立即使用Python 3.0,也建议编写相容Python 3.0版本的程式,然后使用Python 2.6, Python 2.7来执行。

Python 3.0的变化主要在以下几个方面:

print 函数

print语句没有了,取而代之的是print()函数。 Python 2.6与Python 2.7部分地支持这种形式的print语法。在Python 2.6与Python 2.7里面,以下三种形式是等价的:

1 print "fish"
2 print ("fish") #注意print后面有个空格
3 print("fish") #print()不能带有任何其它参数

然而,Python 2.6实际已经支持新的print()语法:

from __future__ import print_function
print("fish", "panda", sep=, )

其它一些区别

http://www.runoob.com/python/python-2x-3x.html

二、Python安装

在这里我我推荐安装Python3,因为随着时间的推移Python3,必定是未来的趋势,我们要顺应潮流。在Python的官网可以下载相应的版本,网址是https://www.python.org/downloads/,安装上面的提示安装好即可,就不在多说了,此外后面的操作都是基于Ubuntu 15.10下Python3.5.1操作,默认是Python2.7.10版本

      建议使用pyenv(Python版本控制2.7和3.5之间随意切换)、virtualenv(Python虚拟环境)、pycharm(Python的IDE工具)、pip(Python包管理工具)。

Unix & Linux 平台安装 Python:

以下为在Unix & Linux 平台上安装 Python 的简单步骤:

  • 打开WEB浏览器访问http://www.python.org/download/
  • 选择适用于Unix/Linux的源码压缩包。
  • 下载及解压压缩包。
  • 如果你需要自定义一些选项修改Modules/Setup
  • 执行 ./configure 脚本
  • make
  • make install

执行以上操作后,Python会安装在 /usr/local/bin 目录中,Python库安装在/usr/local/lib/pythonXX,XX为你使用的Python的版本号。

在 Unix/Linux 设置环境变量

  • 在 bash shell (Linux): 输入 
    1 export PATH="$PATH:/usr/local/bin/python"

    让系统默认使用Python 3.5

    在/usr/bin中有python、python2、python2.7三个文件依次指向后者,我们将python备份

  • 1 cd /usr/bin
    2 mv python python.bak
    3 ln -s /usr/local/bin/python3.5 /usr/bin/python
    4 ls -l /usr/bin/python
    5 lrwxrwxrwx. 1 root root 24 Mar 29 14:02 /usr/bin/python -> /usr/local/bin/python3.5
    [[email protected] bin]# python
    Python 3.5.1 (default, Mar 29 2017, 13:52:32) 
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 

    Window 平台安装 Python:

  • 1、下载安装包
        https://www.python.org/downloads/
    2、安装python2.7.11
        默认安装路径:C:\python27
    3、配置环境变量
        【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
        如:原来的值;C:\python27,切记前面有分号
    4、安装python3.5.1
        默认安装路径: C:\python35
    5、将python3.5中的执行程序python.exe重命名成python3
    6、配置环境变量
        【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
         如:原来的值;C:\python35,切记前面有分号
    7、这样就实现python2.7和python3.5多版本

     

 

 

 

 

以上是关于Python自动化运维之1Python入门的主要内容,如果未能解决你的问题,请参考以下文章

Linux自动化运维之Cobbler(快速入门)

Python自动化运维之函数

Python自动化运维之函数进阶

Python自动化运维之函数进阶

Python自动化运维之22JAVAScript

Ansible自动化运维之Ansible入门及简单部署