Python初识

Posted

tags:

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

 

1.1 Python简介

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

技术分享

  现在,全世界差不多有600多种编程语言,但流行的编程语言也就那么20来种。如果你听说过TIOBE排行榜,你就能知道编程语言的大致流行程度。这是最近10年最常用的10种编程语言的变化图:

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

技术分享技术分享

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

 

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

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

 

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擅长的领域

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

 

1.3 为什么学Python

  技术分享

  Python特点

  技术分享

  技术分享

 

 

为什么是Python而不是其他语言?

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 7、苹果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 [[email protected] Python-3.6.0]# python -V
  2 
  3 Python 2.7.5
  4 
  5 [[email protected] ~]# cat /etc/centos-release
  6 
  7 CentOS Linux release 7.3.1611 (Core)
  8 
  9 [[email protected] ~]# uname -r
 10 
 11 3.10.0-514.el7.x86_64
 12 
 13 安装python3.6可能使用的依赖
 14 
 15 [[email protected] ~]#  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 [[email protected] ~]# clear
 24 
 25 [[email protected] ~]# wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
 26 
 27 [[email protected] ~]# 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 [[email protected] ~]# tar xf Python-3.6.0.tgz -C /usr/local/src/
 32 
 33 [[email protected] ~]# cd /usr/local/src/Python-3.6.0/
 34 
 35 把Python3.6安装到 /usr/local 目录
 36 
 37 [[email protected] Python-3.6.0]# yum install gcc gcc-c++ make -y
 38 
 39 [[email protected] Python-3.6.0]# ./configure --prefix=/usr/local
 40 
 41 [[email protected] Python-3.6.0]# make
 42 
 43 [[email protected] 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 [[email protected] Python-3.6.0]# cd /usr/bin/
 60 
 61 [[email protected] bin]# mv python{,.bak}
 62 
 63 [[email protected] bin]# ln -sv /usr/local/bin/python3.6 /usr/bin/python
 64 
 65 "/usr/bin/python" -> "/usr/local/bin/python3.6"
 66 
 67 [[email protected] 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 [[email protected] 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 [[email protected] 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 [[email protected] ~]# 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 [[email protected] ~]# 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

 

1、下载软件

由于不是Ubuntu系统,所以不要点击Ubuntu的链接,点击tarball的下载链接,下载tar.bz2格式的压缩包

技术分享

 

2、解压

[[email protected] ~]# 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

[[email protected] ~]# tar xf sublime_text_3_build_3126_x64.tar.bz2 -C /usr/local

3、测试

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

[[email protected] ~]# yum group install "GNOME 桌面"

[[email protected] ~]# systemctl set-default graphical.target

[[email protected] ~]# reboot

 

下面在xshel上测试

[[email protected] ~]# export DISPLAY=192.168.95.1:0.0

[[email protected] ~]# xhost +

[[email protected] ~]# /usr/local/sublime_text_3/sublime_text 

技术分享

 

4、配置快捷菜单

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

 

[[email protected] ~]# cp /usr/local/sublime_text_3/sublime_text.desktop /usr/share/applications/

 

编辑默认的设置文件

技术分享

 

把红框内容修改为你自己的文件目录保存退出

技术分享

 

脚本执行注意事项:

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

技术分享
1 [[email protected] ~]# cat 1.py
2 
3 print("hello world")
4 
5 [[email protected] ~]# python 1.py
6 
7 hello world
View Code

 

2、脚本编写方法

本文以Linux为例

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

1.7 Python注释

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

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

print 1 #输出1

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

2、批量、多行注释符号

python中也会有注释有很多行的时候,这种情况下就需要批量多行注释符了。多行注释是用三引号‘‘‘   ‘‘‘包含的,例如

 

3、python中文注释方法

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

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

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

比如:

技术分享
 1 [[email protected] ~]# cat 3.py
 2 
 3 #!/usr/bin/env python
 4 
 5 print("hello world")
 6 
 7 print("欢迎学习pytho")
 8 
 9 [[email protected] ~]# ./3.py
10 
11 hello world
12 
13 欢迎学习pytho
View Code

 

 







以上是关于Python初识的主要内容,如果未能解决你的问题,请参考以下文章

初识python-条件判断

Java初识方法

初识OpenGL 片段着色器(Fragment Shader)

初识OpenGL 片段着色器(Fragment Shader)

初识OpenGL (-)纹理(Texture)

初识OpenGL (-)纹理(Texture)