当前位置:首页>python>Python学习 | 01 Python 的基本世界观

Python学习 | 01 Python 的基本世界观

  • 2026-09-04 19:25:05
Python学习 | 01 Python 的基本世界观

1. 第一条 Python 代码

print(”Hello, genome!”)
”Hello, genome!”
print(1+2)

但是在 .py 脚本中:1+2一般不会显示任何东西,需要print(1 + 2)这是 Notebook 和脚本之间一个很基础但很重要的区别。

2. Python 的赋值

gene = ”TP53”

3. Python 变量不需要提前声明类型

gene = ”TP53”type(gene)
length = 19149type(length)

Python 和 R 一样,属于动态类型语言。

你不需要像 C/C++ 那样:

int length = 19149;

也不需要:

int length

4. 最常见的 5 个基础类型

Python
含义
R 中大致对应
int
整数
integer / numeric
float
浮点数
numeric
str
字符串
character
bool
布尔值
logical
None
没有值
NA / NULL,但不完全相同

5. int:整数

chr_num = 17gene_lenth = 19149read_length = 150type(read_length)

6. float:小数

gc_content = 0.417coverage = 32.5type(gc_content)

7. int 和 float 的运算

10+5

/永远是普通除法

10/5

//整除

10//5
11//5

8. %:取余数

11 % 5
length = 1002length % 3

结果为0,说明可以完整分成codon

length = 999length % 3 == 0

9. **:乘方

2 ** 3

10. str:字符串

gene = ”TP53”sequence = ”ATGCGTACGT”chromosome = ”chr17”type(sequence)

11. 单引号和双引号

python中单引号和双引号基本一样,建议初期统一使用"TP53",视觉上比较清晰。

gene = ”TP53”gene = 'TP53'

12. 字符串和数字完全不同

x = ”100”type(x)
x = 100type(x)
”100” + ”200”
100 + 200

13. 类型转换

x = ”100”x = int(x)type(x)
int(”100”)
float(”0.25”)
str(100)
coverage = ”32.5”coverage = float(coverage)print(coverage)

14. bool:布尔值

必须严格要求大小写

TrueFalse

15. 比较运算

gc = 0.61gc > 0.5

常用:

< = <= == !=

16. and、or、not

R:& | !

Python 常见:and or not

gc = 0.55length = 1500
gc > 0.5 and length > 1000
gene == ”TP53” or gene == ”BRCA1”

17. None

Python 有一个特殊值:None

gene_name = Nonetype(gene_name)

Python 的 None 常用于表示“暂无结果”或“缺失对象”。

18. 如何检查 None

gene_name is None

虽然有些情况下gene_name == None也能运行,但 Python 社区推荐:

19. 一个非常重要的 Python 思想:对象

gene = ”TP53”

传统入门教材经常说:

创建一个叫 gene 的盒子,把 TP53 放进去。

这个模型初期勉强能用,但很快会误导你。

更准确的理解是:

gene ───────→ "TP53"

也就是说:

· "TP53" 是一个对象

· gene 是一个名字

· gene 指向 "TP53"

再比如:

20. 为什么这个概念重要?

因为你可以

x = 100y = x

此时可以理解为:

x ──→ 100                 ↑ y ─────┘

x == y

现在看起来没什么特别

但到了list:

a = [1,2,3]b = a

事情就会非常有意思。我们下一课/之后讲 list 时会发现:

b.append(4)a

a竟然也会变成:[1, 2, 3, 4]

所以现在先埋下一个概念:

Python 中变量更准确地说是“名字绑定到对象”。

这个观念以后特别重要。

21. Python 是大小写敏感的

gene = ”TP53”Gene = ”EGFR”gene is Gene

22. Python 变量命名

推荐:

gene_name read_length gc_content sample_id

这种风格叫:

snake_case

Python 通常推荐这种命名方式。

23. 不建议这样命名

例如:

x = 100 y = 0.5 z = "TP53"

临时计算可以。

但科研代码最好:

read_length = 100 gc_content = 0.5 gene_name = "TP53"

三个月之后你会感谢自己。

24. 不要覆盖 Python 内置函数

比如这些名字尽量别当变量:

list str int sum min max type

例如:

sum = 100

技术上可以。

但是之后:

sum([1, 2, 3])

就可能出问题,因为你把 Python 自己的 sum() 覆盖了。

推荐:

total = 100

25. 注释

# This is a comment# TP53 is located on chromosome 17gene = ”TP53”chromosome = ”chr17”

26. Python 不需要分号

R:

x <- 10 y <- 20

Python:

x = 10 y = 20

通常不写:

x = 10;

虽然 Python 某些情况下允许,但不推荐。

27. 一个真实一点的 genomics 示例

假设我们有一个 genomic region:

gene = ”TP53”chrom = ”chr17”start = 7661779end = 7687550strand = ”-”

计算长度

length = end - start  + 1print(length)

28. f-string:现代 Python 非常推荐

gene = ”TP53”length = 25772
print(f”{gene} length is {length} bp”)

这种写法叫:

f-string

以后科研脚本中会非常常用。

sample = ”sample01”reads = 1234567print(f”{sample}: {reads} reads”)

比下面的代码优雅

print(sample + ”: ” + str(reads) + ” reads”)

29. 一个你以后会频繁用的工具:type()

任何时候不知道对象是什么类型:type(...)

seq = ”ATGC”type(seq)
length = 100type(length)
gc = 0.5type(gc)
is_valid = Truetype(is_valid)

30. 另一个很好用的工具:len()

seq = ”ATGCGT”len(seq)

31. 第一段真正的 DNA Python

seq = ”ATGCGCGTAA”length = len(seq)a_count = seq.count(”A”)c_count = seq.count(”C”)g_count = seq.count(”G”)t_count = seq.count(”T”)gc_content = (g_count + c_count) / length
print(f”Sequence length: {length}”)print(f”A: {a_count}”)print(f”C: {c_count}”)print(f”G: {g_count}”)print(f”T: {t_count}”)print(f”GC content: {gc_content}”)

32. 让 GC content 显示为百分比

gc_content = 0.6print(f”GC content: {gc_content:.2%}”)

这里,:.2%表示百分比形式,保留两位小数。

33.R → Python 对照总结

目的
R
Python
赋值
x <- 10x = 10
打印
print(x)print(x)
字符串
"TP53""TP53"
布尔
TRUETrue
判断相等
x == 10x == 10
不等于
x != 10x != 10
幂
2^32**3
字符长度
nchar(x)len(x)
类型
class(x)
 / typeof(x)
type(x)
缺失/空
NA
, NULL
None

34. 这一课最重要的 8 个知识点

你今天最好真正记住的是:

  1. Python 用:

=

赋值。

  1. 常见类型:

int float str bool None

  1. 类型检查:

type()

  1. 字符串长度:

len()

  1. 相等判断:

==

  1. 普通除法:

/

  1. 取余:

%

  1. Python 变量更准确地理解成:

name → object

最后这一条短期看不重要,但后面会越来越重要。

36. 小练习

Exercise 1:变量

定义下面几个变量:

gene: BRCA1 chromosome: chr17 start: 43044295 end: 43170245 strand: -

然后分别用:

type()

检查类型。

gene = ”BRCA1”chromosome = ”chr17”start = 43044295end = 43170245

最新文章

随机文章