Python安装及关键要素

一.Python定义

shell编程:

控制语言:胶水语言

框架:web应用开发

二.Python性能优化工具

Psyco:

python语言是一个扩展模块,可以即时对程序代码进行专业的算法优化,可以在一定程度上提高程序的执行速度,尤其是在程序中有大量循环操作的时候。目前开发工作已经停止,又pypy接替。

Pypy:

pypy是用python实现的python解释器,python语言的动态编辑器,是psyco的后继项目,可以运行想linux32和64位,macosx和window32平台中。

Shed Skin:

pyhon编译器,能够将python代码转换成优化的c++代码。

三.编译安装Python

1)安装Python和ipython

[root@node2 Python-2.7.6]# yum install readline-devel #python安装依赖的库,否则不支持python删除控制符。

[root@node2 ~]# tar xf Python-2.7.6.tar.xz #解压安装包

[root@node2 Python-2.7.6]# ./configure --prefix=/usr/local/python27 #环境检查

[root@node2 Python-2.7.6]# make && make install #编译并安装

[root@node2 Python-2.7.6]# /usr/local/python27/bin/python2.7 #使用新版py

安装ipython,让支持tab补全功能

[root@node2 ~]# tar xf ipython-1.2.1.tar.gz

[root@node2 ipython-1.2.1]# /usr/local/python27/bin/python2.7 setup.py build #编译

[root@node2 ipython-1.2.1]# /usr/local/python27/bin/python2.7 setup.py install #安装

2)链接之后便于使用

[root@node2 bin]# ln -sv /usr/local/python27/bin/python2.7 /usr/bin/python27 #把python链接到bin下,之后就可以直接执行了。

[root@node2 bin]# ln -sv /usr/local/python27/bin/ipython   /usr/bin/ #把ipython链接到bin

四.数据结构:

程序=数据结构+算法

数据结构就是通过某种方式,组织在一起的数据元素的集合,这些火速将元素可以是数字或者字符,甚至可以是其他的数据结构。

Python的最基本的数据结构是序列。

序列中的每一个元素被分配到一个序号-元素的位置,也成为索引,索引从0开始编号。

Python包含6种内建的数据序列:列表,元组,字符串,UNICODE字符串,buffer对象和xrange对象。

  1. 五. Python的关键要素

[基本数据类型]

[对象引用]

[组合数据类型]

[逻辑操作符]

[控制流语句]

[算术操作符]

[输入/输出]

[函数的创建与调用]

数据类型#1

任何程序语言都必须能够表示基本数据项。

python中的基本数据类型有:

Integral类型:(包含整型和布尔型)

整型:不可变类型,-247-2016245。。。。

布尔型:True/False

浮点型:(包含浮点数,复数和十进制数字)

浮点数:3.141592

复数:3+6h

十进制:

字符串:'hello word', ''hello word '', '''word'''

[关于引号]:单引号为包含一个字符串;双引号为变量中有单引号时使用双引号,三引号为\n可以实现换行, 可可以实现注释。

【总结】:变量分为可变类型和不可变类型,其中整数为不可变类型。布尔型只有两种true/false不能加引号。在python中所有的字串都要用引号引起来单双引号不加区别(字串在python中是序列,是把多个字符按照次序结构组成的)字串也是不可变类型。数值无需引号。浮点数

>>> id(2) 查看数据在内存地址

>>> type(name) 查看数据类型

对象的引用#2(变量)

python将所有的数据存为内存对象。

python中变量事实上是指向内存对象的引用。

动态类型:在任何是时刻,只要需要,某个对象引用都可以重新引用一个不同的对象(可以是不同的数据类型。)

内建函数type() 用于返回给定数据项的数据类型。

“=”用于将变量名与内存中的某对象绑定:如果对象事先存在,就直接进行绑定,否则,则由“=”创建引用的对象。

对象引用#2.1(变量)

变量命令规则:

只能包含字母,数字和下划线,且不能以数字开头。

区分字母大小写。

禁止使用保留字。(python2和python3的保留字有所不同)

命令惯例:

以单一下划线开变量名(_x)不会被from modele import * 语句导入。

前后有下划线的变量名(_x_)是系统定义的变量名,对python解释器有特殊的意义。

以有两个下划线开头但结尾没有下划线的变量名(_x)是类的本地变量。

交互模式下,变量名“_”用于保存最后表达式的结果。

注意:变量名没有类型,对象才有。变量只是内存中的一个标识,可以引用任何类型。

组合数据类似#3

数据结构:通过某种方式组织在以前的数据元素的集合。

python常用的组合数据类型:

序列类型:包括(列表,元组,字符串)

列表:使用[]创建,如['call','me','jon','.']列表是可以修改的。

元组:使用()创建如('1','2')元组是不允许修改的。

字符串也属于序列类型。字符串可以切片。

集合类型:集合。

映射类型:字典。

组合数据类似#4

列表是可变序列,元组是不可变序列。

python中,组合数据类型也是对象,因为可以被嵌套。

实质上,列表和和元组并不是真正存储数据,而是存在对象引用。

python对象可以具有其可以被调用的也定“方法(函数)”

元组,列表以及字符串等数据类型是“有大小的”,其长度也可以使用内置函数len()测量。

逻辑操作符#5

逻辑运算是任何程序设计语言的基本功能。

python提供了四组逻辑运算:

身份操作符:is:判定左端对象引用是否相同于右端对象引用;也可以再与node进行。

比较运算符:<,>,<=,>=,!=,==

成员操作符:in或not in测试成员关系。

逻辑运算符:and,or,not

控制流语句#6

控制流语句是过程式编程语言的基本控制机制。

python常见的控制流语句:if(循环), while (循环),for in (遍历), try (异常捕获的)。

算术操作符#7

python提供了完整的算术操作集。

很多的python数据类型也可以使用增强的赋值操作符,如:+=,-=等

同样的功能,使用增强型赋值操作符的性能较好;

python的int类型是不可变的,因此,增强型赋值的实际过程是创建了一个新的对象来存储结果后将变量执行了重新绑定。

输入/输出#8

现实中,具有实际功能的程序必须能够读取输入(从键盘或者文件中),以及产生输出,并写到终端或文件中。

python的输入/输出:

输出:python3: print()函数。 python2:print语句。

输出:input()。raw_input。

输入输出#8.1

python解释器提供了3种标准文件对象,分别为标准输入,标准输出和标准错误,他们在sys模块中分别以sys.stdin ,sts.stdout,sys.stderr形式提供。

python的print语句实现打印-一个对程序员友好的标准输出接口。

从技术角度来讲,print是把一个或者多个对象转换为其文本表达形式,然后发送给标准输出或者另一个类似文件的流。

在python中,打印于文件和流的概念联系紧密。文件写入方法是把字符串写入到任意文件。print默认把对象打印到stdout流,并添加了一些自动的格式化。

实质上,print语句只是 python的人性化特性的具体实现,它提供sys.stdout.write()的简单接口,再加上一些默认的格式设置。

print接受一个逗号分隔的对象列表,并为行尾自动添加一个换行符,如果不需要,则在最后一个元素后添加逗号。

输入/输出#8.2:格式化符号

字符 输出格式
d,i 十进制整数或长整数
u 无符号整数或长整数
o 八进制整数或长整数
x 十六进制的整数或长整数
X 十六进制整数(大写字母)
f 浮点数,如:m.ddddddd
e 浮点数,如:m.dddde±xx
E 浮点数,如:m.ddddE±xx
g,G 指数小于-4或更高精度时使用%e或者%E否则使用%f
s 字符串或任意对象,格式化代码使用str()生成字符串
r 同repr()生成的字符串
c 单个字符
% 字面量%

%后面还可以使用修饰符。

%[(name)] [flags][width][precision] typecode

位于括号中一个属于后面的字典的键名,用于选出一个具体项。

下面标志中的一个或者多个。

-:表示左对齐,默认为右对齐。

+:表示包含数字符号,正数也会带“+”。

0:表示一个零填充。

一个指定最小宽度的数字。

一个小数点,用于按照精度分割字段的宽度。

一个数字,指定要打印字符串中最大字符串的个数,浮点数中小数点之后的位数,或者整数的最小位数。

例子:

d={'x':32,'y':27.490325,'z':65}

print "%(x)-10d %(y)0.3g" %d

函数的创建与调用#9

函数是实现模块化编程的基本组件,python使用def语句定义函数。

函数可以参数化,通过传递不同的参数来调用。

每个python函数都有一个返回值,默认为node,也可以使用“return value”明确定义返回值。

def语句会创建一个函数对象,并同时创建一个指向函数的对象引用。

函数也是对象,可以存储在组合数据类型中,也可以作为参数传递给其他函数。

callable()可用于测试函数是否可调用。

In [45]: callable(printname)

Out[45]: True

函数的创建与调用#9.1

python有众多内置函数。大概有200个.

python有众多内置函数。python标准库拥有众多内置模块,这些模块拥有大量的函数。

python模块实际上就是包含python代码的py文件,其拥有自定义的函数与类及变量等。

导入模块使用import语句进行,后跟模块名称(不能指定模块文件名的后缀.py)

导入一个模块后,可以访问其内部包含的任意函数,类及变量。

python


发表评论

登录 后发表评论.