安装Python2.7

#tar xf python-2.7.11.tar.gz

#cd python-2.7.11

#./configure --prefix=/usr/local/python2.7 

#vim /etc/profile

 export PATH=$PATH:/usr/local/python2.7/bin


安装ipython

#tar xf ipython-0.31.1.tar.gz

#cd ipython-0.13.1

#python2.7 setup.py build

#python2.7 setup.py install 

#ln -sv /usr/local/python27/bin/python2.7 /usr/bin/python27/bin/python2

#ln -sv /usr/local/python27/bin/ipython /usr/bin/ipython


python 常识:

 python脚本一般以.py结尾,bash脚本都是以.sh结尾 

 python开头使用/usr/bin/python2.7 ,而bash是以/bin/bash开头

 和bash脚本一样,每个脚本都需要使用执行的权限

    #chmod a+x test.py


python包含很多系统模块,如果要使用它们需要使用import来导入

    #import os 

    #import platfrom


python获取帮助命令,要以使用dir和help

    #dir(str)    可以获取str命令的全部使用方法

    #help(str)    同样好可以获取使用方法


ipython好用的tab键,跟bash命令一样,输入二个TAB键会补全相应的参数,它同样可以使用TAB键来获取命令的使用参数,当忘记参数时可以用此功能;



python变量命名规则

 只能包含字母,数字,下划线,不能以数字开关,区分大小写

 禁止使用保留字


 双下划线是系统定义的变量,对python有特殊意义 

 以双下划线开头,但结尾没有双下划线是类的变量

 交互模式下,变量为‘_’用于保存表达式的最后一个值


python常用命令及功能

id    获取变量在内存中的位置

    eg:id(name)------>内存地址


type  输出变量的类型

    eg:name="huang"

    type(name)--->str


len   测试字符、变量等的长度

   eg:name="huang"    

    len(name)---->5


is   身份操作符

   eg:name="huang"    xing='huang'

    name is xing ---> True

in、not in成员关系判断符

   eg:name="abcde"  xing="haung" xin='a'

    name in xing --->False

    name in xin  --->False

    xin in name --->True 


str、float、tuple、set、list、dict 将其他类型转换为字符串、浮点、元组、集合、列表、字典

   eg:name=13    

    type(str(name))---> str


ord、chr、hex、bin、oct   将其他类型转换为整数、字符、十六制、二进制、八进制

   eg:c=109

    bin(c) --->0b1101101


range(10)        生成1-10的序列数值列表 


callable        判断对象是否可调用


import sys       导入系统模块

sys.getrefcount(name) 查看name变量被引用的次数

delete(name)      删除一次变量的引用



raw_input("Pls Input num: ") 接受从键盘输入的内容


函数,函数只有使用了才有效

 定义:

   def 函数名():

     函数体


字符串序列化

str1="www.test.com"

str1[0:]---> www.test.com

str1[0:4]--->www.

str1[:len(str1)]--->www.test.com

str1[1:4:2]--->w.


返回指定内容

min() 最小   

max() 最大

all() 所有元素不为0、False或者空则返回True,空元组和空列表返回值为True

str1.isupper() 判断是来小写

str1.islower()判断是否为小写

str1.upper() 变为大写

str1.lower()变为为小写

str1.capitalize() 首字母是否为大写

str1.index('n') 找出第一个出现n的位置

str.join('str2') 将字符串连接起来

str1.replace('a','A',1)将第一个a替换为A

str1.split('a')将a做为分隔符进行分隔

str1.strip()删除左右边的空格符



列表,列表是从0开始计数,列表使用[]进行定义

定义一个列表

str1=[1,3,4,4]

str2=['a','b'],['c','d']

修改列表

str1[3]='a' 

删除列表值

del(str1[2])

del(str2[1][1:]) --->['a','b'],[]

增加列表对象 

str1.appen("aaa")

扩展一个列表

str1.extend(str2)

统计在列表中出现的次数 

str1.count("ab")

统计在列表中第一次出现的位置

str1.index("ab")

将列表中的最后一个值删除

str1.pop()

str1.pop(3) 删除第3上位置的值

将列表中的值删除

str1.remove("ab")

在原有的数据上进行排序

str1.sort()

在原有的数据上进行反向排序

str1.reverse()

将二个列表进行连接到一起

str1+str2

将一个列表显示2次

str1*2

列表复制

str2=str1    str2指向str1的内存空间

str2=str1[:]   将str1内有所有值复制给str2


元组(tuple),元组的定义一般都是使用小括号(),但是括号也可以省略

定义元组

tu1='a','b','c'



字典,字典定义使用花括号{},字典包含键和值二部分,他们之间使用冒号分隔,不同的键值对使用逗号来分隔

定义字典

 dict1={'a':1,'b':2,'c':3,'e':4}


清除字典的所有内容 

dict1.clean()


复制字典的内容,注意内存空间地址

dict2=dict1.copy()


将字典中的所有键的值填充为abc

dict1.fromkeys([key1,key2..],(‘abc'))


获取字典中的所有键

dict1.keys()


获取字典中的所有值

dict1.values()


判断字典中是否有'ab'键

dict1.has_key('ab')



集合


运算符的优先级

运算优先级:

^ (....),[....],{...}

| s[i],s[i,j]

|   s.attribute

|s(...)

|  +x,-x,~x

|    x**y

| x*y , x/y , x//y , x%y

   x + y ,x - y 

|x >> y, x << y

 x & y

|   x^y

    x|y

| < ,<=,> ,>=,

  ==,!=

|   is,not is

|     in ,not in

|       not

|   and

|    or

|     lambda



流程控制语句

if条件测试表达式

语法

  if expression1:

    语句1

  elif

    语句2

  else

    语句3


三元条件选择表达式

Name=x if Y else Z  ==>  if y: name=x else name=z



where语句,只有当程序自行完成,else语句才会被执行,否则将不会被执行,else不是必须的

语法:   

while expression1:

   语句1

else

   语句2

 



for语句,只有当for语句自行循环完成,else语句才会被执行,否则不会被执行,else不是必须的

for语法:

for expression1 in iterable:

    语句1

else

    语句2