python筆記——python生物信息學(xué)數(shù)據(jù)管理第一部分

#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語句后面會自動加上換行符,如果兩個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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容