返回列表 发新帖

Python入门指南

[复制链接]
     

该用户从未签到

4

主题

8

帖子

22

积分

新手上路

Rank: 1

积分
22
发表于 2018-2-12 18:10:50  | 显示全部楼层 | 阅读模式
参考

    • ----Bioinformation--博客园

      • http://www.cnblogs.com/leezx/p/6385327.html 数据挖掘和机器学习

    • 生物信息Python从入门到精通

      • https://mp.weixin.qq.com/s?__biz=MzAxMDkxODM1Ng==&mid=2247484004&idx=1&sn=84c121c8af32a2a07e52d2c96f56dd24&chksm=9b4842dfac3fcbc9859a4f7bc2d7d4e6a9d22422199a922d2b51ccfe2b96d2ec2c6a7fb2d9d3&scene=21#wechat_redirect

  • 基本知识点

    • 1 基本语法

      • 缩进:4个空格
      • 版本问题:建议3
      • 文件编码声明: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支持挺好,轻量级生化武器(推荐)
        • PyCharm

    • 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'

        • 集合:没有顺序,元素之间没有重复,相当于舍弃了值的字典。集合操作(&,|,-,^,<,<=,>,>=)

          • # 集合内置函数
          • 'add', 'clear', 'copy', 'discard', 'pop', 'remove', 'update''isdisjoint','issuperset','issubset','symmetric_difference','difference','union', 'intersection', 'symmetric_difference_update','intersection_update','difference_update',

      • 2.3 控制语句

        • 条件:if…else…
        • 循环:for,while,break,continue

      • 2.4 模块使用

        • Python有着非常友好的模块安装方法,一个pip install命令几乎可以安装绝大多数的模块。建议使用模块前多看相关API文档。
        • 最常用的模块有:sys,os,re,csv,gzip,fileinput,random,collections,time;百度上有很多很好的模块使用入门教程。

          • 正则表达式 re
          • 有序字典 collections.OrderedDict()
          • 调用系统命令 subprocess.call()
          • http://www.jb51.net/article/48086.htm

  • 精通标准

    • 当然这只是个噱头,精通的道路是无止境的,下面只是罗列了一些常见的高级特性。
    • 切片,推导式,生成器,异常处理
    • 高级模块:threading(多线程),ctypes(调用C程序优化性能),logging(日志)
    • 专业模块:pysam - 处理基因组数据(fasta/fastq/bam/vcf)的Python模块

      • pysam - 多种格式基因组数据(sam/bam/vcf/bcf/cram/…)读写与处理模块(python)
      • http://pysam.readthedocs.io/en/latest/api.html
      • https://www.cnblogs.com/leezx/p/5908767.html

    • Biopython:Python的计算分子生物学和生物信息学工具包

      • http://biopython-cn.readthedocs.io/zh_CN/latest/

    • 编写自己的package:解决某个特定需求,上传到 PyPI,然后你就成为大神了
    • 编程规范:写出规范化的代码 Google Python coding style

      • https://zh-google-styleguide.readthedocs.io/en/latest/

    • 函数式编程:即使代码量暴增也不会影响代码的可读性,调试和Debug也会变得非常简单。
    • 面向对象编程:最高级的编程方法,对函数进行分类和封装,让开发“更快更好更强...”

  • 最后,Python只是一门编程语言,一种实现工具。如果你想深入某个领域,其实真正重要的是技术背后的算法
  • 推荐资源

    • Python教程 - 廖雪峰的官方网站

      • http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

    • python初级教程:入门详解

      • http://www.crifan.com/files/doc/docbook/python_beginner_tutorial/release/html/python_beginner_tutorial.html

    • Python 面向对象(初级篇)

      • http://m.blog.csdn.net/article/details?id=50760467

    • Python | Codecademy

      • https://www.codecademy.com/zh/learn/python

    • Google Python编码风格

      • http://www.yeolar.com/note/2013/01/10/python-style-guide/

    • Python正则表达式指南

      • http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html

    • 《Python学习手册》
    • 《Python编程金典》
    • 《Bioinformatics Programming Using Python》



回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
快速回复 返回顶部 返回列表