数据类型

变量

变量的动态类型:整型(int),浮点型(float),字符型(str)

基本运算

+,-,*,/,次方(**),整除(//),取余(%)

四舍五入 round()

取整 int()

高级功能

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import math

trunc()
ceil()
floot()
fabs()
sqrt()

import random

uniform(a,b)
randint(a,b)

字符型变量

转义字符

\t \n \" \'

忽略多个转义字符,可在字符串前加r

常用操作

连接 +

重复 s*5

取值/切片

字符型变量可被视作数组处理

函数/方法

1
2
3
4
5
6
7
8
len(s)
s.upper()
s.lower()
s.strip()
s.replace()
s.index()
s.split()
s.count()

数组/序列

列表(list) 定义:chr_len = [10, 20, 30]

元祖(tuple) 定义:chr_len = (10, 20, 30)

元祖不支持原位改变

列表特有操作

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#增加元素
append()
extend()
insert()
#删除元素
del
remove()
pop()
#原位改变
reverse()
sort()
#拷贝列表
copy()

列表生成式

1
2
['Chr'+str(i) for i in chr if isinstance(i,int)]
#操作 + 循环 + 条件

哈希/字典

定义: chr = {‘chr1’:10, ‘chr2’:20, ‘chr3’:30}

特征: 无序,键唯一

调用

1
2
chr['chr1']
chr.get('chr1','')

键,值和项目

1
2
3
chr.keys()
chr.values()
chr.items()

常用操作

1
2
3
4
5
6
7
8
9
#添加项目
chr.update()
#删除项目
del chr['chr1']
chr.pop()
chr.popitem()
chr.clear()
#求长度
len(chr)

输入输出

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#打开句柄
f = open(f_fasta,'r')
f.read() #读取所有内容,返回字符串
f.readlines() #读取所有内容,按行分割,返回列表
f.readline() #读取一行内容,返回字符串
#关闭文件
f.close()

#写入一个字符串
f.write()
#写入一个序列型变量
f.writelines()

更简洁写法

1
2
3
4
5
6
7
with open(f_fasta,'r') as lines:
	for line in lines:
        ...

with open(args.out,'w') as f:
    f.write()
    ...

argparse 更专业的参数输入

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import argparse

parser = argparse.ArgumentParaser()
parser.add_argument('...',
                   type=str,
                   nargs='+',
                   #action='store_true',
                   #default='',
                   required=True,
                   help='')
args = parser.parse_args()

格式化字符串

1
print("...{2:^16s}...{0:0>6.2f}...{}...".format("total length:","total_len"))

格式化输出指定输出格式的方式:

元素下标/名:填充符,对齐方式,字符宽度,[浮点精度],变量类型

参考来源

http://www.genek.tv/my/course/194