安装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
转载于:https://blog.51cto.com/junly917/1725832