#import語句及模塊
>>> import os #導(dǎo)入模塊
>>> dir(os) #模塊中呈現(xiàn)的變量和函數(shù)的完整列表
>>> help(os.chdir) #模塊下某個函數(shù)的簡短解釋
>>> help(matplotlib.pylab)
#運算
a**b #a的b次冪
a%b #a/b的余數(shù)
a//b #向下舍入除法
#整數(shù)運算結(jié)果是整數(shù),浮點數(shù)運算結(jié)果是浮點數(shù)
>>> 4/3
1
>>> 4.0/3
1.3333333333333333
#命名空間
#模塊中定義的對象名(函數(shù),變量等)的集合成為模塊的命名空間,每個模塊都有自己的命名空間。
#在兩個不同模塊中的相同名稱可能指向兩個不同的對象,點語法結(jié)構(gòu)使得防止兩個不同模塊的命名空間混淆成為可能。
>>> import math
>>> sqrt(16)
#出現(xiàn)報錯信息
Traceback (most recent call last):
? File "<stdin>", line 1, in <module>
NameError: name 'sqrt' is not defined
#使用點語法結(jié)構(gòu)
>>> math.sqrt(16)
4
#將math的命名空間和Python shell的命名空間合并后,可以直接使用函數(shù)
>>> from math import sqrt
>>> sqrt(16)
4
#長指令跨越幾行時,在行的結(jié)尾要加上反斜杠\
>>> 3+5+\
... 7
15
#字符串需要用單引號、雙引號、或者三引號進行封閉,三引號字符串可以跨越多行不需要在末尾加反斜杠
#索引,通過方括號里的數(shù)字索引,提取字符的位置,第一個字符從0開始
>>> 'protein'[0]
'p'
>>> 'protein'[-1]
'n'
#負的索引表明從末尾開始字符尋址
#切片
#方括號里引入冒號
>>> 'protein'[0:3] #提取從頭開始在第三個字符之后停止的字符串
'pro'
>>> 'protein'[1:] #返回從第一個字符之后開始,到字符串末尾的切片,即從第二個字符到末尾
'rotein'
#字符串算數(shù)
>>> 'protein'+'DNA' #+串聯(lián)兩個字符串
'proteinDNA'
>>> 'protein'*3 #字符串乘以整數(shù)
'proteinproteinprotein'
#字符串長度
>>> len('protein')
7
#字符計數(shù)
>>> 'protein'.count('e')
1
#for循環(huán)
#一般語法
for <index variable> in <sequence>:
<command 1>
<command 2>
...
<command x>
>>> for character in 'hemoglobin':
...? ? print character, #循環(huán)遍歷字符串
...
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”
#因此加了;或者結(jié)尾不加符號,按照默認換行符輸出
#循環(huán)遍歷列表
>>> for i in [1,2,3,4,5]:
...? ? print i,
...
1 2 3 4 5
#使用內(nèi)置函數(shù)range(10)創(chuàng)建一個從0到9的數(shù)字列表
>>> for number in range(10):
...? ? print number,
...
0 1 2 3 4 5 6 7 8 9
#縮進
#代碼塊由冒號發(fā)起,后面緊跟縮進的該代碼塊的指令
#縮進長度至少為4個空格,同一塊的所有指令縮進的空格數(shù)量必需相同
#每個print語句后面會自動加上換行符,如果兩個print語句想輸出到同一行,可以加一個逗號,抑制換行符
#創(chuàng)建隨機序列
>>> import random #載入模塊random,可以創(chuàng)建隨機數(shù)字
>>> alphbet = "ATCG"
>>> sequence = ""
>>> for i in range(10):
...? ? index = random.randint(0,3) #隨機獲得0~3之間的索引數(shù)字
...? ? 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