前面,我们生信技能树的讲师小洁老师与萌老师新开了一个学习班:《掌握Python,解锁单细胞数据的无限可能》,身为技能树的一员,近水楼台先得月,学起!下面是我的学习笔记,希望可以给你带来一点参考
目前使用的软件为:使用vscode 的插件配置
touch day2.ipynb
06:05 首先简单介绍jupyter lab的使用
这种框框称为一个cell,有两种模式:
- 编辑模式:出现光标,可以正常标记文字或者代码,使用ESC退出编辑模式

命令模式下的常用快捷键
jupyter lab支持Markdown语言
运行 cell

- cell的命令模式与Markdown模式切换:Y与M键
vscode中在这里选择,Y与M键也可以使用,选中cell,按住ESC退出,Y与M键来回切换试试看

- 选中的cell下方插入新的cell:Alt+Enter
- 运行所有的cell:CTRL + A选中所有cell,CTRL + Enter 运行(如果有错误则会卡在有错误的地方)
16:39 使用外部命令
在开头写一个英文状态下的!,就可以使用linux命令:
但是我这个vscode里面运行感觉有点慢呢
!ls
18:16 练习
任务1:显示行号
选中cell,按ESC(选中之后容易变成编辑模式,按ESC退出执行后面的快捷键),shift+L
任务2:显示隐藏左边栏
快捷键为 ctrl + B, 多按几次就发现会隐藏显示隐藏显示来回切换,get这个技能
任务3:使用外部命令

任务4:文件操作

任务5:上下移动单元格
vscode这里的快捷键为:Alt+up/down

任务6:插入或删除单元格

任务7:切换单元格类型
切换到 Markdown 类型:M
切换到代码类型:Y
31:55 python语法规则
1.print()
2.缩进
3.注释
4.变量和赋值
bool():非0数字和非空字符串都会被转为True,0,空字符,空列表等被视为False

5.函数、方法、属性
5.1 函数(Function)
函数是一个独立的可调用功能模块,可以直接调用:round(),abs(),type()
这里面的代码,都自己手动敲一遍比较有感觉:

5.2 方法(Method)
方法是与某个对象绑定的动作或行为,需要通过对象调用。

5.3 属性(Attribute)
属性表示某个对象自身的状态或特征,只是查询,不是动作,不需要加括号,只需要用点号访问
举例:
- array.shape 是查看数组的形状,是数组的一个特征
- string.islowe 是查询字符串是否是全小写,是字符串的一个状态
Note:运行这里的代码之前需要先安装python模块:
# bash终端
conda activate sc
# 安装 pandas
pip install -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple pandas
# 安装 numpy
pip install -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple numpy
在这里运行代码不小心报了个错:运行python报错:TypeError: Field elements must be 2- or 3-tuples, got '3'

然后问人工智能大模型kimi:
这个错误通常发生在使用 NumPy 创建数组时,格式不正确导致的。错误信息提示字段元素必须是 2 元组或 3 元组,但你提供了一个单独的数字 '3',这不符合 NumPy 数组的创建规则。
错误原因
- 错误的数组创建格式:你可能尝试直接将多个数组作为参数传递给
np.array()
,而没有将它们放在一个列表或元组中。
解决方法
- 正确的数组创建格式:当你想要创建一个二维数组时,应该将所有子数组放在一个列表或元组中,然后再传递给
np.array()
。例如:import numpy as np
# 错误写法
# n3 = np.array([1, 2], [3, 4])
# 正确写法
n3 = np.array([[1, 2], [3, 4]])
print(n3)
这样可以确保每个子数组都被正确地包含在一个更大的数组结构中。
如果你能提供具体的代码片段,我可以帮助你更准确地定位和解决问题。
好的 知道了,跟我的示例一模一样,np.array里面应该有两个[[]]。
正确写法如下:

方法与属性对比总结

6.包、库、模块

- 包时多个模块的集合,是一个文件夹,一定包含 _init_.py 文件
他们的使用方法基本一致
6.1 模块
一个.py文件即为一个模块,可以包含变量、函数、类等。
! touch my_module.py

6.2 包:包治百病
定义:包是一个包含多个模块的文件夹,必须包含一个 _init_.py 文件
有几个 _init_.py 文件,就有几个包

6.3 库
定义:库是一个更大的集合,通常包含多个包,用于实现特定功能(例如数据处理,机器学习等)。
举例:
本次先学习到这里,先去干饭,下午再来学!