python的简史
• 1989年,Guido(龟叔)python。
• 1990年, 发布python的第一个版本;
• 2001年发布python2.0版本;
• 2010年获年度Tiobe编程语言大奖
• 2013年发布python3.x版本;
python优点
•简单、优雅、明确
•有强大的第三方库模块
•可跨平台移植
•一种面向对象的语言
python缺点
•代码执行速度慢,相比C语言,不过现在python的
异步并发框架导致执行速度慢;
•python是开源的编程语言,代码不能加密;
python安装
•访问python官网:www.python.org;
•Linux操作系统上一般iso镜像里面自带,直接通
过yum安装;
注意:
•- python2.6是一个过渡版本,既可以执行,又包含
python3.0的新特性;
•- 现在企业实战应用python版本为2.7版本;
•- python2.7是python2.x系列最后一个版本,不
会再有python3.0;
python脚本
•#!/usr/bin/python 这种写法表示直接引用系统的默认的
Python 版本;
•#!/usr/bin/env python 这种写法表示,引用环境变量里面
自定义的 Python 版本, 具有较强的可移植性;
指定编码格式的方法
• #coding:utf-8
• #coding=utf-8
• #encoding:utf-8
• #encoding=utf-8
ipython
•- 从网上下载软件
ipython
•- shell终端中执行命令ipython
试试效果;
CPython。这个解释器是用 C 语言开发的,所以叫 CPython。在命令行下运行
python 就是启动 CPython 解释器。
CPython 是使用最广的 Python 解释器。教程的所有代码也都在 CPython 下执行。
IPython 是基于 CPython 之上的一个交互式解释器,也就是说,IPython 只是在交互方式上
有所增强,但是执行 Python 代码的功能和 CPython 是完全一样的。好比很多国产浏览器虽
然外观不同,但内核其实都是调用了 IE。
CPython 用 >>> 作为提示符,而 IPython 用 In [序号]: 作为提示符。
yPy 是另一个 Python 解释器,它的目标是执行速度。 PyPy 采用 JIT 技术,对 Python 代码
进行动态编译(注意不是解释),所以可以显著提高 Python 代码的执行速度。
绝大部分 Python 代码都可以在 PyPy 下运行,但是 PyPy 和 CPython 有一些是不同的,这
就导致相同的 Python 代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到
PyPy 下执行,就需要了解 PyPy 和 CPython 的不同点。
Jython
Jython 是运行在 Java 平台上的 Python 解释器,可以直接把 Python 代码编译成 Java 字节
码执行。
IronPython
IronPython 和 Jython 类似,只不过 IronPython 是运行在微软.Net 平台上的 Python 解释器,
可以直接把 Python 代码编译成.Net 的字节码。
版本差异
2.0版本
input 输入数字
raw_input 输入字符
type()查看类型
print “hello”
print avg
from future import print_function
3.0版本
print(“hello”)
print(avg)
输入输出
输入与输出
• print + 字符串…
• raw_input输入的内容为字符类型;
• input输入的内容为数值类型
变量
变量
- 变量是内存中的一块区域。
- 变量的命名: 变量名由字母,数字,下划线组成。
算术运算符
算术运算符:
+ ##加法
- ##减法
* ##乘法
** ##幂运算
/ ##除法(除数不为0)
% ##求模运算(取余数)
// ##整除
赋值运算符
赋值运算符:
= ##a=b
+= ##a+=2 -->a=a+2
-= ##a-=2 -->a=a-2
/= ##a/=2 -->a=a/2
%= ##a%=2 -->a=a%2
逻辑运算符
逻辑运算符:
逻辑与and
逻辑或or
逻辑非not
years =input(“请输入年份:”)
leap_years=( years%4==0 and years%100 != 0) or years%400==0
print leap_years
关系运算符
关系运算符:
> ##大于
>= ##大于等于
< ##小于
<= ##小于等于
!= ##不等于
== ##等于
数值类型
python不需要定义数据类型
整型int 如:12
长整型long int 如:12l
浮点型float 如:12.23
复数complex:python对复数提供内嵌支持 如:3.14j, 8.32e-36j
注:int + long int = long int
int - long int = long int
eg: python支持的数值类型
anInt = 12
print type(anInt)
--<type 'int'>
aLong = 12l
print type(aLong)
--<type 'long'>
print type(anInt+aLong)
--<type 'long'>
aFloat =12.34
print type(aFloat)
--<type 'float'>
bFloat =1.2e9
print type(bFloat)
print bFloat
<type 'float'>
1200000000.0
aComlex = 2+3j
print aComlex.real ##虚数实数部分
print aComlex.imag ##虚数虚数部分
print aComlex.conjugate() 求共扼复数
print type(aComlex)
2.0
3.0
(2-3j)
<type 'complex'>
数值类型是不可变的数据类型
aInt=1
bInt=1
print id(aInt),id(bInt)
cInt=1000
# dInt=1000
# print "before cInt:",id(dInt)
# dInt=1003
# print "after cInt:",id(dInt)
删除数字对象
del cInt
布尔型
ture(1) flase(0)
python脚本注释
块注释三个双引号(单侧)
"""
"""
行代码注释:
#
<快捷键 : Ctrl + />
字符串的格式化符号:
%f 小数,浮点数
%.2f 保留两位小数点的浮点数
%d 整形数
%s 字符串
%o 八进制输出
%x 十六进制输出
%10.d 10表示输出宽度
print "%.2f" %(argument)
print "%.2d" %(argument)
eg:生成整形数字,不够的部分用0填充
“`
“%.3d” %(1)
Out[12]: ‘001’
“%10.3d” %(1)
Out[13]: ’ 001’ 10代表宽度
“%.2f” %(mem_percent)
Out[14]: ‘30.00’
“%.2f%%” %(mem_percent)
Out[15]: ‘30.00%’
[‘130%.3d’ %(i) for i in range (1,30)]
Out[16]: 130001
130002
130003
…
130029