Python--1 初识

 

1.1 Python简介

  Python[1]  (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,python的创始人为吉多·范罗苏姆(Guido van Rossum),Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。python

  如今,全世界差很少有600多种编程语言,但流行的编程语言也就那么20来种。若是你据说过TIOBE排行榜,你就能知道编程语言的大体流行程度。这是最近10年最经常使用的10种编程语言的变化图:linux

2018年9月编程语言排行榜:https://www.tiobe.com/tiobe-index/c++

 

 

  和人类同样,计算机使用多种语言来沟通,这里所说的语言就是编程语言。简单地说,一种编程语言就是一种特定的与计算机交谈的方式,这种方式使用计算机和人都能理解的指令。web

 

  有些编程语言以人名命名(如Ada和Pascal),有些采用简单的首字母缩写(如BASIC和FORTRAN),甚至还有些以电视剧命名,如Python。是的,Python编程语言的名字来自电视剧《蒙提• 派森的飞行马戏团》,而不是大蟒蛇。sql

《蒙提 • 派森的飞行马戏团》(Monty Python’s Flying Circus)是英国20世纪70年代首播的电视喜剧,直到今天仍受某些观众喜好。Python的名字就是从这里来的 。shell

 

1.2 Python应用

  • 谷歌:Google App Enginecode.google.comGoogle earth、谷歌爬虫、Google广告等项目大量使用Python开发
  • CIA:美国中央情报局网站使用Pythobn开发
  • NASA:美国航天局大量使用Python开发的
  • YouTube:世界上最大的视频网站,使用Python开发
  • Dropbox:美国最大的在线云存储网站,所有使用Python开发,天天网站处理10亿个文件的上传和下载
  • Instagram:美国最大的图片分享社交网站,天天超过3千万张照片被分享,所有用Python开发
  • Facebook:大量的基础库均经过python开发
  • RedHatyum包管理工具是经过python开发
  • 豆瓣:公司几乎全部业务都是经过python开发
  • 知乎:国内最大的问答社区,经过python开发
  • 春雨医生:国内著名的在线医疗网站使用python开发

 

  以及搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝、土豆、新浪、果壳等都在使用Python完成各类任务编程

 

python擅长的领域vim

  • web开发
    • DjangopyramidTornadpBottleFlaskWebPy
  • 网络编程
    • TwistedRequestsScrapyParamiko
  • 科学运算
    • SciPyPandasipython
  • GUI图形开发
    • wxPythonPyQTKivy
  • 运维自动化
    • OpenStackSaltStackAnsible、腾讯蓝鲸

 

1.3  为何学Python

  

  Python特色后端

  

  

 

 

为何是Python而不是其余语言?centos

C 和 Python、Java、C#等

    C语言: 代码编译获得 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工做

其余语言: 代码编译获得 字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行

Python 和 C  Python这门语言是由C开发而来

  对于使用:Python的类库齐全而且使用简洁,若是要实现一样的功能,Python 10行代码能够解决,C可能就须要100行甚至更多.
  对于速度:Python的运行速度相较与C,绝逼是慢了

Python 和 Java、C#等

  对于使用:Linux原装Python,其余语言没有;以上几门语言都有很是丰富的类库支持
  对于速度:Python在速度上可能稍显逊色

因此,Python和其余语言没有什么本质区别,其余区别在于:擅长某领域、人才丰富、先入为主。

 

Python的种类

    • Cpython
          Python的官方版本,使用C语言实现,使用最为普遍,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),而后运行在Python虚拟机上。
    • Jyhton
          Python的Java实现,Jython会将Python代码动态编译成Java字节码,而后在JVM上运行。
    • IronPython
          Python的C#实现,IronPython将Python代码编译成C#字节码,而后在CLR上运行。(与Jython相似)
    • PyPy(特殊)
          Python实现的Python,将Python的字节码字节码再编译成机器码。

Python有没有前途?

运维会了开发后能够作什么?

  • 帮助公司开发各类自动化工具,定制开发各类开源软件
  • 帮助评估和优化业务技术架构
  • 开发公司的内部办公系统、CRM、网站等
  • 作个全栈工程师,全栈就是指什么都能作的样子

目前市面上主流的Python职位:

 

1.Python开发工程师

主要负责WEB开发、后端开发

2.大数据分析和数据挖掘

主要使用Python进行爬虫开发、数据清洗、机器学习/数据挖掘/信息检索/天然语言处理/文本分类与聚类等

3.金融自动化交易

量化交易策略的开发,以及程序化实现,开发特定的金融工程工具,对公司的研究和交易提供支持;

4.自动化开发工程师

开发公司自动化运维平台,提升运维自动化水平,下降公司IT运营成本

5.自动化测试工程师

开发自动化测试框架,测试工具及脚本,负责自动化框架的持续性优化和改进;编写测试计划、测试用例,并按照测试计划及测试步骤对产品进行自动化测试;

6.网络安全工程师

Python是众多的白帽子都很是喜欢的语言,有不少的安全工具就是用Python开发的。

1.4 Python发展史

  • 1989年,为了打发圣诞节假期,Guido开始写Python语言的编译器。Python这个名字,来自Guido所挚爱的电视剧Monty Pythons Flying Circus。他但愿这个新的叫作Python的语言,能符合他的理想:创造一种Cshell之间,功能全面,易学易用,可拓展的语言。
  • 1991年,第一个Python编译器诞生。它是用C语言实现的,并可以调用C语言的库文件。从一出生,Python已经具备了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
  • Granddaddy of Python web frameworks, Zope 1 was released in 1999
  • Python 1.0 - January 1994 增长了 lambda, map, filter and reduce.
  • Python 2.0 - October 16, 2000,加入了内存回收机制,构成了如今Python语言框架的基础
  • Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生
  • Python 2.5 - September 19, 2006
  • Python 2.6 - October 1, 2008
  • Python 2.7 - July 3, 2010
  • In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible
  • Python 3.0 - December 3, 2008
  • Python 3.1 - June 27, 2009
  • Python 3.2 - February 20, 2011
  • Python 3.3 - September 29, 2012
  • Python 3.4 - March 16, 2014
  • Python 3.5 - September 13, 2015

1.5 Python安装

  目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的。因为3.x版愈来愈普及,咱们的教程将以最新的Python 3.6版本为基础。请确保你的电脑上安装的Python版本是最新的3.6.x,这样,你才能无痛学习这个教程。

  安装Python至关简单。下面咱们列举在Windows 七、苹果OS X,还有Ubuntu上的安装步骤。在安装Python的同时你也会安装IDLE程序的快捷方式,它是用来写Python程序的集成开发环境。

版本选择:

python 2 vs 3

  1. 默认支持中文
  2. 不兼容2.x
  3. 核心语法调整,更易学
  4. 新特性默认只在3.x上有

1.5.1 Mac上安装Python

若是你正在使用Mac,系统是OS X 10.8~10.10,那么系统自带的Python版本是2.7。要安装最新的Python 3.6,有两个方法:

方法一:从Python官网下载Python 3.6的安装程序(网速慢的同窗请移步国内镜像),双击运行并安装;

方法二:若是安装了Homebrew,直接经过命令brew install python3安装便可。

1.5.2 Windows上安装Python

首先,根据你的Windows版本(64位仍是32位)从Python的官方网站下载Python 3.5对应的64位安装程序32位安装程序(网速慢的同窗请移步国内镜像),而后,运行下载的EXE安装包:

特别要注意勾上Add Python 3.5 to PATH,而后点“Install Now”便可完成安装。

1.5.3 Unix & Linux 平台安装 Python

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

 

  1. 打开WEB浏览器访问http://www.python.org/download/
  2. 选择使用于Unix/Linux的源码压缩包。
  3. 下载及解压压缩包。

若是你须要自定义一些选项修改Modules/Setup

执行 ./configure 脚本

make 

make install

 

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

Linux 安装python:本文CentOS 7.3 安装python3.6

CentOS 7.3自带的python版本是2.7.5

  1 [root@localhost Python-3.6.0]# python -V
  2 
  3 Python 2.7.5
  4 
  5 [root@localhost ~]# cat /etc/centos-release
  6 
  7 CentOS Linux release 7.3.1611 (Core)
  8 
  9 [root@localhost ~]# uname -r
 10 
 11 3.10.0-514.el7.x86_64
 12 
 13 安装python3.6可能使用的依赖
 14 
 15 [root@localhost ~]#  yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel -y
 16 
 17 下载python3.6编译安装
 18 
 19 到python官网下载https://www.python.org
 20 
 21 下载最新版源码,使用make altinstall,若是使用make install,在系统中将会有两个不一样版本的Python在/usr/bin/目录中。这将会致使不少问题,并且很差处理。
 22 
 23 [root@localhost ~]# clear
 24 
 25 [root@localhost ~]# wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
 26 
 27 [root@localhost ~]# ll Python-3.6.0.tgz
 28 
 29 -rw-r--r--. 1 root root 22256403 12月 23 10:24 Python-3.6.0.tgz
 30 
 31 [root@localhost ~]# tar xf Python-3.6.0.tgz -C /usr/local/src/
 32 
 33 [root@localhost ~]# cd /usr/local/src/Python-3.6.0/
 34 
 35 把Python3.6安装到 /usr/local 目录
 36 
 37 [root@localhost Python-3.6.0]# yum install gcc gcc-c++ make -y
 38 
 39 [root@localhost Python-3.6.0]# ./configure --prefix=/usr/local
 40 
 41 [root@localhost Python-3.6.0]# make
 42 
 43 [root@localhost Python-3.6.0]# make altinstall
 44 
 45  
 46 
 47 python3.6程序的执行文件:/usr/local/bin/python3.6
 48 
 49 python3.6应用程序目录:/usr/local/lib/python3.6
 50 
 51 pip3的执行文件:/usr/local/bin/pip3.6
 52 
 53 pyenv3的执行文件:/usr/local/bin/pyenv-3.6
 54 
 55  
 56 
 57 更改/usr/bin/python连接
 58 
 59 [root@localhost Python-3.6.0]# cd /usr/bin/
 60 
 61 [root@localhost bin]# mv python{,.bak}
 62 
 63 [root@localhost bin]# ln -sv /usr/local/bin/python3.6 /usr/bin/python
 64 
 65 "/usr/bin/python" -> "/usr/local/bin/python3.6"
 66 
 67 [root@localhost bin]# ln -sv /usr/local/bin/python3.6 /usr/bin/python3
 68 
 69 "/usr/bin/python3" -> "/usr/local/bin/python3.6"
 70 
 71  
 72 
 73 更改yum脚本的python依赖
 74 
 75 [root@localhost bin]# vim /usr/bin/yum
 76 
 77 更改文件头为
 78 
 79 #!/usr/bin/python 改成 #!/usr/bin/python2
 80 
 81  
 82 
 83 修改gnome-tweak-tool配置文件
 84 
 85 # vi /usr/bin/gnome-tweak-tool
 86 
 87 #!/usr/bin/python 改成 #!/usr/bin/python2
 88 
 89 #本文迷你版,没有此文件
 90 
 91  
 92 修改urlgrabber配置文件
 93 
 94 # vi /usr/libexec/urlgrabber-ext-down
 95 
 96 #!/usr/bin/python 改成 #!/usr/bin/python2
 97 
 98  
 99 
100 [root@localhost bin]# python -V
101 
102 Python 3.6.0
View Code

1.6  Python运行

1.6.1  交互式解释器

能够经过命令行窗口进入python并开在交互式解释器中开始编写Python代码。

你能够在UnixDOS或任何其余提供了命令行或者shell的系统进行python编码工做。

 1 $python # Unix/Linux  
 2 [root@localhost ~]# python
 3 Python 3.6.0 (default, Apr  1 2017, 22:49:15) 
 4 [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
 5 Type "help", "copyright", "credits" or "license" for more information.
 6 >>> print ("hello world")
 7 hello world
 8 >>> exit()
 9 
10 C:>python # Windows/DOS
11 Microsoft Windows [版本 10.0.14393]
12 (c) 2016 Microsoft Corporation。保留全部权利。
13 
14 C:\Users\admin>python
15 Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
16 Type "help", "copyright", "credits" or "license" for more information.
17 >>> print("hello world")
18 hello world
19 >>> exit()
View Code

如下为Python命令行参数:

 

选项

描述

-d

在解析时显示调试信息

-O

生成优化代码 ( .pyo 文件 )

-S

启动时不引入查找Python路径的位置

-v

输出Python版本号

-X

1.6版本以后基于内建的异常(仅仅用于字符串)已过期。

-c cmd

执行 Python 脚本,并将运行结果做为 cmd 字符串。

file

在给定的python文件执行python脚本。

1.6.2 命令行脚本

在你的应用程序中经过引入解释器能够在命令行中执行Python脚本,以下所示:

 1 $python script.py # Unix/Linux 
 2 
 3 或者 
 4 
 5 ./script.py # Unix/Linux 
 6 
 7 或者 
 8 
 9 C:>python script.py # Windows/DOS
10 
11 注意:在执行脚本时,请检查脚本是否有可执行权限。
12 
13 [root@localhost ~]# python 1.py
14 
15 hello world
View Code

 

 

1.6.3 集成开发环境

您可使用图形用户界面(GUI)环境来编写及运行Python代码。如下推荐各个平台上使用的IDE

Unix: IDLE UNIX 上最先的 Python IDE

Windows: PythonWin 是一个 Python 集成开发环境,在许多方面都比 IDE 优秀

Macintosh: Python Mac 可使用 IDLE IDE,你能够在网站上下载对应MACIDLE  

PyCharm

PyCharm是由JetBrains打造的一款Python IDE

PyCharm具有通常 Python IDE 的功能,好比:调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。

另外,PyCharm还提供了一些很好的功能用于Django开发,同时支持Google App Engine,更酷的是,PyCharm支持IronPython

PyCharm 官方下载地址:http://www.jetbrains.com/pycharm/download/

效果图查看:

 

Sublime Text

该软件收费,但支持永久试用。

Sublime Text具备漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。

Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API Goto 功能,即时项目切换,多选择,多窗口等等。

Sublime Text 是一个跨平台的编辑器,同时支持WindowsLinuxMac OS X等操做系统。

 

使用Sublime Text 插件扩展功能,你能够轻松的打造一款不错的Python IDE,如下推荐几款插件(你能够找到更多):

CodeIntel:自动补全+成员/方法提示(强烈推荐)

SublimeREPL:用于运行和调试一些须要交互的程序(E.G. 使用了Input()的程序)

Bracket Highlighter:括号匹配及高亮

SublimeLinter:代码pep8格式检查

 

CentOS 7.3 安装Sublime Text 3

 

一、下载软件

因为不是Ubuntu系统,因此不要点击Ubuntu的连接,点击tarball的下载连接,下载tar.bz2格式的压缩包

 

二、解压

[root@localhost ~]# ll sublime_text_3_build_3126_x64.tar.bz2

-rw-r--r--. 1 root root 9313954 4月   1 23:09 sublime_text_3_build_3126_x64.tar.bz2

[root@localhost ~]# tar xf sublime_text_3_build_3126_x64.tar.bz2 -C /usr/local

三、测试

sublime_text须要图形界面支持,安装图形界面

[root@localhost ~]# yum group install "GNOME 桌面"

[root@localhost ~]# systemctl set-default graphical.target

[root@localhost ~]# reboot

 

下面在xshel上测试

[root@localhost ~]# export DISPLAY=192.168.95.1:0.0

[root@localhost ~]# xhost +

[root@localhost ~]# /usr/local/sublime_text_3/sublime_text 

 

四、配置快捷菜单

复制默认的快捷设置文件到/usr/share/applications/目录下("/usr/local/sublime_text_3"修改成你本身的sublime安装路径)  

 

[root@localhost ~]# cp /usr/local/sublime_text_3/sublime_text.desktop /usr/share/applications/

 

编辑默认的设置文件

 

把红框内容修改成你本身的文件目录保存退出

 

脚本执行注意事项:

一、未指定解释器,可使用python 1.py 执行

1 [root@localhost ~]# cat 1.py
2 
3 print("hello world")
4 
5 [root@localhost ~]# python 1.py
6 
7 hello world
View Code

 

二、脚本编写方法

本文以Linux为例

 1 [root@localhost ~]# vim 2.py
 2 
 3 #!/usr/bin/python
 4 
 5 print("hello world")
 6 
 7 [root@localhost ~]# chmod +x 2.py
 8 
 9 [root@localhost ~]# ./2.py
10 
11 hello world
12 
13  
14 
15 或者
16 
17 [root@localhost ~]# vim 3.py
18 
19  
20 
21 #!/usr/bin/env python
22 
23 print("hello world")
24 
25 [root@localhost ~]# ./3.py
26 
27 hello world
View Code

1.7 Python注释

一、python单行注释符号(#)

井号(#)常被用做单行注释符号,在代码中使用#时,它右边的任何数据都会被忽略,当作是注释。

print(1) #输出1

#号右边的内容在执行的时候是不会被输出的。

二、批量、多行注释符号

python中也会有注释有不少行的时候,这种状况下就须要批量多行注释符了。多行注释是用三引号'''   '''包含的,例如

 

 1 '''
 2     我是多行注释,能够写不少不少行的功能说明
 3     这就是我牛X指出
 4 
 5     哈哈哈。。。
 6 '''
 7 
 8 ''' 
 9     下面的代码完成 ,打印一首诗
10     名字叫作:春江花月夜
11     做者,忘了
12 '''
View Code

三、python中文注释方法

Python2中默认的编码格式是 ASCII 格式,在没修改编码格式时没法正确打印汉字,因此在读取中文时会报错。

解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就好了。

注意:Python3.X 源码文件默认使用utf-8编码,因此能够正常解析中文,无需指定 UTF-8 编码。

好比:

 1 [root@localhost ~]# cat 3.py
 2 
 3 #!/usr/bin/env python
 4 
 5 print("hello world")
 6 
 7 print("欢迎学习pytho")
 8 
 9 [root@localhost ~]# ./3.py
10 
11 hello world
12 
13 欢迎学习pytho
View Code
相关文章
相关标签/搜索