以下为文章全文:

Python开发的方向太多了,有机器学习,数据挖掘,网络开发,爬虫等等。其实在生信领域,Python还显现不出绝对的优势,生信的大部分软件流程都是用shell或Perl写的,而且已经足够好用了。我选Python是因为我想顺便学点数据挖掘和机器学习的东西,而且Python这些年越来越火,发展势头远超其他脚本语言,所以学它肯定是没错的。

一、入门标准

入门比较难定义,什么程度才算入门呢?

掌握基本的语法,熟练使用python的内置类型、内置函数和数据结构。

了解一些基本的模块的使用,能够实现一些简单的需求。

后面有一个实例,如果你能简单的做完,那我敢肯定你已经入门了。

二、基本知识点

1.基本语法

缩进:Python是通过代码缩进来决定代码层次逻辑的,一般约定使用4个空格

版本问题:主要包括2.x系列的和3.x系列的,两者语法不同且不兼容,有的模块只能在指定版本下安装。建议使用3.x Python,碰到特殊问题再去使用指定版本

文件编码声明:python会去环境变量里寻找python解释器。如果代码里有中文,则要以utf-8编码

#!/usr/bin/env python
#-*- coding: utf-8 *-

变量定义:使用前要先定义

dir():列出一个数据类型或对象的所有方法,非常好用,同help()

文件操作:

f = open(),f.close();with open() as f: ,os.path.exists(),os.path.isfile(),os.path.abspath()

目录操作:

os.mkdir(),os.rmdir(),os.listdir(),os.chdir()

开发环境选择:

Sublime Text 对Python支持挺好,轻量级生化武器(推荐)

Eclipse Pydev比较厚重,大型开发比较适合

Vim/Atom

PyCharm

IPython

WingIDE

2.处理数据

2.1 基本数据类型:布尔;整型;浮点型;字符串

# 字符串的内置函数,都比较有用
'capitalize','casefold','center','count','encode','endswith','expandtabs','find','format','format_map','index','isalnum','isalpha','isdecimal','isdigit','isidentifier','islower','isnumeric','isprintable','isspace','istitle','isupper','join','ljust','lower','lstrip','maketrans','partition','replace','rfind','rindex','rjust','rpartition','rsplit','rstrip','split','splitlines','startswith','strip','swapcase','title','translate','upper','zfill'

2.2 基本数据结构:列表、元组、字典、集合。

数据结构就是一种容器,用于在内存中存放我们的数据。

列表:任意元素组成的顺序序列,以位置为索引。

# 列表的内置函数
'append','clear','copy','count','extend','index','insert','pop','remove','reverse','sort'

元组:相当于不可变的列表,防止错误修改,节省内存开销。元组解包

# 元组的内置函数
'count','index'

字典:键值对,没有顺序,键必须是常量。

# 字典内置函数
'clear','copy','fromkeys','get','items','keys','pop','popitem','setdefault','update','values'

集合:没有顺序,元素之间没有重复,相当于舍弃了值的字典。集合操作