Python基础知识01-简介及入门代码

一.python简介与发展:

  python 是一种面向对象的解释性计算机程序设计语言。由荷兰人Guido van Rossum(吉多·范罗苏姆) 于1989年发明。目前Python总体呈上升趋势,经过TIOBE统计图反映出Python应用愈来愈普遍而且也逐渐获得业内的承认!!php

二.目前python的主要应用领域:

  • 云计算:云计算最火的语言,如:openstack
  • web开发:不少大型的网站均有python开发,如:Youtube,Dropbox,豆瓣等等,python的web框架:Django,flask
  • 科学运算,人工智能:典型NumPy,SciPy, Matplotlib, Enthought librarys,pandas
  • 运维:不会开发的运维,不是好运维,不会开发的运维,必将被淘汰
  • 金融:量化交易,金融分析等等。。。
  • 图形GUI:PyQT, WxPython,TkInter

三.python主要应用的公司:

  Python能够应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎全部大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司普遍使用Python来作的事通常有:自动化运维自动化测试大数据分析、爬虫、Web 等。java

注视:上述重点字体表示该公司主要使用Python语言开发python

四.python的优缺点:

  优势:linux

  1. Python的定位是“优雅”、“明确”、“简单”,"易学",“免费”,“简单”。
  2. 开发效率很是高,Python标准库确实很庞大。它能够帮助你处理各类工做,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、 CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其余与系统有关的操做。记住,只要安装了Python,全部这些功能都是可用的。这被称做Python的“功能齐全”理念。除了标准库之外,还有许多其余高质量的库,如wxPython、Twisted和Python图像库等等。  
  3. 高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
  4. 可移植性————因为它的开源本质,Python已经被移植在许多平台上(通过改动使它可以工做在不一样平台上)。若是你当心地避免使用依赖于系统的特性,那么你的全部Python程序无需修改就几乎能够在市场上全部的系统平台上运行
  5. 可扩展性————若是你须要你的一段关键代码运行得更快或者但愿某些算法不公开,你能够把你的部分程序用C或C++编写,而后在你的Python程序中使用它们。
  6. 可嵌入性————你能够把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
  7. Python确实是一种十分精彩又强大的语言。它合理地结合了高性能与使得编写程序简单有趣的特点。
  8. 规范的代码。Python采用强制缩进的方式使得代码具备极佳的可读性。

  缺点:程序员

  1. 速度慢,Python 的运行速度相比C语言确实慢不少,跟JAVA相比也要慢一些,所以这也是不少所谓的大牛不屑于使用Python的主要缘由,但其实这里所指的运行速度慢在大多数状况下用户是没法直接感知到的,必须借助测试工具才能体现出来,好比你用C运一个程序花了0.01s,用Python是0.1s,这样C语言直接比Python快了10倍,算是很是夸张了,可是你是没法直接经过肉眼感知的,由于一个正常人所能感知的时间最小单位是0.15-0.4s左右,哈哈。其实在大多数状况下Python已经彻底能够知足你对程序速度的要求,除非你要写对速度要求极高的搜索引擎等,这种状况下,固然仍是建议你用C去实现的。
  2. 代码不能加密,由于PYTHON是解释性语言,它的源码都是以名文形式存放的,不过我不认为这算是一个缺点,若是你的项目要求源代码必须是加密的,那你一开始就不该该用Python来去实现。
  3. 线程不能利用多CPU问题,这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任什么时候刻仅有一个线程在执行,Python的线程是操做系统的原生线程。在Linux上为pthread,在Windows上为Win thread,彻底由操做系统调度线程的执行。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即便在多核CPU平台上,因为GIL的存在,因此禁止多线程的并行执行。关于这个问题的折衷解决方法,咱们在之后线程和进程章节里再进行详细探讨。

五.python的种类:

  1. Cpython:python的官网版本,使用C语言实现,使用最为普遍,Cpython实现会将源文件(py文件)转换成字节码(pyc文件),而后运行在python虚拟机上。
  2. Jython:python的java实现,Jython会将python代码动态编译成Java字节码,而后在JVM上运行。
  3. IronPython:python的C#实现,IronPython将Python代码编译成C#字节码,而后在CLR上运行。(与Jython相似)
  4. PyPy(特殊) Python实现的Python,将Python的字节码字节码再编译成机器码
  5. RubyPython、Brython ...

六.python与其余语言对比:

 python与C对比:web

  • python易学,易用,易懂。而且是一种脚本语言;python的类库齐全而且简单。
  • C语言:代码编译获得机器码,机器码在处理器上直接执行,每一条指令控制CPU工做,与底层硬件打交道 
  • Python 和 C  Python这门语言是由C开发而来
  • 对于使用:因为Python的类库齐全而且简洁,若是要实现一样的功能,Python 10行代码能够解决,C可能就须要100行甚至更多.
  • 对于速度:Python的运行速度相较与C,很慢。

Python 和 C#对比:正则表达式

  • python能够跨平台,可运行在linux、windows,osx等平台。
  • python开源,c#则相反
  • 对于使用:Linux原装Python,其余语言没有;以上几门语言都有很是丰富的类库支持
  • 对于速度:Python是解释性语言,C#须要编译,因此python运行要慢点

python与java对比:算法

  • 开源方向来讲,Python更有优点,Java(虽然最近Java已经开源了,但有一些开源协议上面的版权受限);
  • 对于使用:Python更简洁,Java过于庞大复杂(如Web服务器)
  • 对于速度:Python是解释性语言,java须要编译,因此python运行要慢点 

 python与php对比:数据库

  • Python的OO更加完善
  • Python能够开发桌面应用程序

 python与ruby perl对比:flask

  • 与ruby不一样,OOP对于Python是可选的,因此Python不会强制用户选择OOP开发

七:python安装:

windows环境:

1、下载安装包
https://www.python.org/downloads/
2、安装
默认安装路径:C:\python27
3、配置环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
如:原来的值;C:\python27,切记前面有分号

linux环境:

  linux中自带python环境,若是想安装本身想要的版本(本来是2.6升级为2.7的版本),以下:

查看默认Python版本
  python -V
1、安装gcc,用于编译Python源码
  yum install gcc
二、下载源码包,https://www.python.org/ftp/python/
3、解压并进入源码文件
4、编译安装
  ./configure
  make all
  make install
5、查看版本
  /usr/local/bin/python2.7 -V
6、修改默认Python版本
  mv /usr/bin/python /usr/bin/python2.6
  ln -s /usr/local/bin/python2.7 /usr/bin/python
7、防止yum执行异常,修改yum使用的Python版本
  vi /usr/bin/yum
  将头部 #!/usr/bin/python 修改成 #!/usr/bin/python2.6

python入门

一、第一句python代码

python内部执行过程以下:

二、内容编码

  python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)

  ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其余西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,因此,ASCII码最多只能表示 256 个符号。

  显然ASCII码没法将世界上的各类文字和符号所有表示,因此,就须要新出一种能够表明全部字符和符号的编码,即:Unicode

  Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每一个字符设定了统一而且惟一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多

  UTF-8,是对Unicode编码的压缩和优化,他再也不使用最少使用2个字节,而是将全部的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

  因此,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),若是是以下代码的话:

报错:ascii码没法表示中文

#!/usr/bin/env python
print "你好,世界"

改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
  
print "你好,世界"

三、注释

  当行注视:# 被注释内容

  多行注释:""" 被注释内容 """

四、pyc文件

  执行Python代码时,若是导入了其余的 .py 文件,那么,执行过程当中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译以后产生的字节码。

  ps:代码通过编译能够产生字节码;字节码经过反编译也能够获得代码。

五、执行脚本传入参数

  Python有大量的模块,从而使得开发Python程序很是简洁。类库有包括三中:

  • Python内部提供的模块
  • 业内开源模块
  • 程序员本身开发的模块

  Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import sys
print sys.argv 
相关文章
相关标签/搜索