一.简介

1.什么是python

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它 具有比其他语言更有特色语法结构。

Python 是一种解释型语言:这意味着开发过程中没有了编译这个环节。在程序运行的前一刻,只有源 码程序而没有可执行程序。而程序执行到源程序的某一条指令,则会有一个称之为解释程序的外壳程序 将源代码转换成二进制代码。 容易移植。

Python 是动态语言:这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。 Python 是强类型语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。

2.运维与python的关系

运维会开发以后:
随着计算机应用领域的规模的增大,运维自动化已经不是一个新名词了、新技术了。自动化运维无非就 是对传统运维进行改造和升级罢了,由于近几年的互联网和PC端的飞速发展,敏捷开发带来的业务频繁 更新、上线、业务访问量的突发剧增对系统承载能力的巨大考验等,这些都给运维带来了极大的挑战, 运维人员必须不断思考如何满足一下问题?
如何高效的适应业务的频繁更新,变更,上线,扩展?
如何在低成本的前提下实现业务并发运算能力的可伸缩式扩展?
如何实现运维人员从被动处理故障到故障防御和故障高度自愈的转换?
如果通过不断优化运维流程、自动化工具来降低运维成本、人工参与度,终实现无人运维?

运维会了开发能干什么?
(1)开发各种自动化工具,制定开发各种开源软件。 (2)帮助评估和优化业务技术架构
(3)开发公司的内部办公系统,CRM,网站等 (4)全栈工程师

二.python开发环境搭建

1.Windows下开发环境搭建

进入Python官网下载需要的版本,安装步骤和其他软件相同

2.Linux下开发环境搭建

安装python2和python3(一般系统自带python2,只需要安装3即可)

[root@bogon ~]# tar xf Python-3.7.3.tar.xz //提前在官网找到linux下安装的tar包并下载
[root@bogon Python-3.7.3]# yum install gcc  gcc-c++  make zlib* -y [root@bogon Python-3.7.3]# yum install libffi-devel -y
[root@bogon Python-3.7.3]# ./configure --prefix=/usr/local/python3  
//指定安装Python 的路径
[root@bogon Python-3.7.3]# make
[root@bogon Python-3.7.3]# make install

配置执行文件路径

[root@bogon Python-3.7.3]# cd /usr/bin
[root@bogon bin]# mv /usr/bin/python /usr/bin/pythonbak 
[root@bogon bin]# ln -fs /usr/local/python3/bin/python3 /usr/bin/python3 //有报错一般是因为路径问题,检查路径

检查测试python2和python3能否使用

[root@bogon ~]# python2
Python 2.7.5 (default, Jun 20 2019, 20:27:34)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
[root@bogon ~]# python3
Python 3.7.3 (default, Jul 15 2019, 11:29:52)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

修改yum配置
将2个文件的首行python改为python2

[root@localhost ~]# vim /usr/bin/yum 
[root@localhost ~]# vim /usr/libexec/urlgrabber-ext-down

至此python环境搭建完成

3.PyCharm

PyCharm 是由 JetBrains 打造的一款 Python IDE,支持 macOS、 Windows、 Linux 系统。
PyCharm 功能 : 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控 制……

三.python虚拟环境搭建

1.Linux环境下

新建虚拟环境

[root@localhost etc]# yum install python-virtualenv
[root@localhost ~]# virtualenv py2   //python2虚拟环境
[root@localhost bin]# virtualenv -p /usr/local/bin/python3 py3 //python3虚拟环境  /usr/local/bin/python3   此路径为python3安装路径

运行虚拟环境

[root@localhost ~]# cd /py2/bin
[root@localhost  bin]# source activate  
(py2) [root@#localhost bin]#python
Python 2.7.5 (default, Jun 20 2019, 20:27:34)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

退出虚拟环境

(py2) [root@localhost bin]# deactivate

2.Windows环境下

在dos命令行下执行

pip install virtualenv 安装虚拟工具
//主要报错,一般报错是因为pip版本过低

配置国内源安装可提高速度(可以不配置)

pip install -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com/simple virtualenv

新建虚拟环境

virtualenv test  创建名为 test 的虚拟环境
virtualenv -p F:\Install\python.exte scrapytest  //此处目录为本机安装python的绝对路径

运行虚拟环境

cd test\Scripts\
activate.bat
python

退出虚拟环境

deactivate

四.基础语法(与C语言类似)

1.标识符

在 Python 里,标识符由字母、数字、下划线组成。
在 Python 中,所有标识符可以包括英文(区分大小写)、数字以及下划线(_),但不能以数字开头。
以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过 类提供的接口进行访问,不能用 from xxx import * 而导入。
以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 foo 代表 Python 里特殊方法专 用的标识,如 init() 代表类的构造函数。

2.模块

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。 模块让你能够有逻辑地组织你的 Python 代码段。
把相关的代码分配到一个模块里能让你的代码更好用,更易懂。
模块能定义函数,类和变量,模块里也能包含可执行的代码。

3.标准输出

print()

4.用户交互

#!/bin/evn python 
#-*- coding:utf-8 -*
#Author:Anliu 
input("please input you name:\n" )

以上代码中 ,\n 实现换行。一旦用户按下 enter(回车) 键退出,其它键显示。

5.解释语言与编译语言

编译型语言在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转换为机器语言。运 行时就不需要翻译,而直接执行就可以了。典型的例子就是C语言。

解释型语言就是没有这个编译的过程,而是在程序运行的时候,通过编译器对程序做出解释,然后直接 运行,典型的例子就是ruby。

由此可知,编译型语言在程序执行之前就已经对程序做出了翻译,所以在运行时就少掉了“翻译”的过 程,所以效率比较高。但是我们不能一概而论,一些解释型语言也可以通过解释器的优化来在对程序做 出翻译时对整个程序做出优化,从而在效率上超过编译型语言。

6.pyc文件

pyc文件是py文件编译后生成的字节码文件(byte code)。pyc文件经过python解释器最终会生成机器码运行。所以pyc文件是可以跨平台部署的,类似Java的.class文件。一般py文件改变后,都会重新生成pyc文件。

7.python语言执行过程

当Python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束 时,Python解释器则将PyCodeObject写回到pyc文件中。
当Python程序第二次运行时,首先程序会在硬盘中寻找Pyc文件,如果找到,则直接载入,否则就重新 上面的过程。

8.字符编码

ASCII 二进制编码
GB2312 国标(简体中文字符集)
GBK 汉字内码扩展规范
Unicode 统一码,万国码
UTF-8 Unicode的压缩,优化版,常用编码方式,python也使用次字符编码方式