#import语句及模块
>>> import os #导入模块
>>> dir(os) #模块中呈现的变量和函数的完整列表
>>> help(os.chdir) #模块下某个函数的简短解释
>>> help(matplotlib.pylab)
#运算
a**b #a的b次幂
a%b #a/b的余数
a//b #向下舍入除法
#整数运算结果是整数,浮点数运算结果是浮点数
>>> 4/3
1
>>> 4.0/3
1.3333333333333333
#命名空间
#模块中定义的对象名(函数,变量等)的集合成为模块的命名空间,每个模块都有自己的命名空间。
#在两个不同模块中的相同名称可能指向两个不同的对象,点语法结构使得防止两个不同模块的命名空间混淆成为可能。
>>> import math
>>> sqrt(16)
#出现报错信息
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'sqrt' is not defined
#使用点语法结构
>>> math.sqrt(16)
4
#将math的命名空间和Python shell的命名空间合并后,可以直接使用函数
>>> from math import sqrt
>>> sqrt(16)
4
#长指令跨越几行时,在行的结尾要加上反斜杠\
>>> 3+5+\
... 7
15
#字符串需要用单引号、双引号、或者三引号进行封闭,三引号字符串可以跨越多行不需要在末尾加反斜杠
#索引,通过方括号里的数字索引,提取字符的位置,第一个字符从0开始
>>> 'protein'[0]
'p'
>>> 'protein'[-1]
'n'
#负的索引表明从末尾开始字符寻址
#切片
#方括号里引入冒号
>>> 'protein'[0:3] #提取从头开始在第三个字符之后停止的字符串
'pro'
>>> 'protein'[1:] #返回从第一个字符之后开始,到字符串末尾的切片,即从第二个字符到末尾
'rotein'
#字符串算数
>>> 'protein'+'DNA' #+串联两个字符串
'proteinDNA'
>>> 'protein'*3 #字符串乘以整数
'proteinproteinprotein'
#字符串长度
>>> len('protein')
7
#字符计数
>>> 'protein'.count('e')
1
#for循环
#一般语法
for <index variable> in <sequence>:
<command 1>
<command 2>
...
<command x>
>>> for character in 'hemoglobin':
... print character, #循环遍历字符串
...
h e m o g l o b i n
>>> for character in 'hemoglobin':
... print character;
...
h
e
m
o
g
l
o
b
i
n
#,sep="\t",但是;的话,sep="\n"对于python来说,如果不加任何的指定,默认的分隔符是“\n”
#因此加了;或者结尾不加符号,按照默认换行符输出
#循环遍历列表
>>> for i in [1,2,3,4,5]:
... print i,
...
1 2 3 4 5
#使用内置函数range(10)创建一个从0到9的数字列表
>>> for number in range(10):
... print number,
...
0 1 2 3 4 5 6 7 8 9
#缩进
#代码块由冒号发起,后面紧跟缩进的该代码块的指令
#缩进长度至少为4个空格,同一块的所有指令缩进的空格数量必需相同
#每个print语句后面会自动加上换行符,如果两个print语句想输出到同一行,可以加一个逗号,抑制换行符
#创建随机序列
>>> import random #载入模块random,可以创建随机数字
>>> alphbet = "ATCG"
>>> sequence = ""
>>> for i in range(10):
... index = random.randint(0,3) #随机获得0~3之间的索引数字
... sequence = sequence +alphbet[index] #以随机索引抽取字符
>>> print sequence
ATGGCAACCG
#在序列中运行滑动窗口
>>> seq = "PRQTEINNSEQWNCE"
>>> for i in range(len(seq)-4): #变量i取值为从0到序列长度减4
... print seq[i:i+5] #从序列位置i处提取长度为5的子序列
...
PRQTE
RQTEI
QTEIN
TEINN
EINNS
INNSE
NNSEQ
NSEQW
SEQWN
EQWNC
QWNCE