10月2日讲稿封面

10月2日讲稿

医学教育Python47 班(海贝老师)课堂笔记,一次课连讲第零课入学须知、第一课入门与第二课变量引用。第零课讲课程六周安排、班主任助教与预习—听课—作业流程、六周大纲、Anaconda 与 VS Code 安装及环境变量、写出第一个 print("Hello, World!") 程序与作业要求;第一课讲为什么学 Python(医学数据处…

Python 基础班课堂笔记

第零课入学须知与环境配置

一、课程基本情况

本课程是医学教育Python47 班,授课老师为海贝老师。课程周期为六周,每周安排两次正课和一次习题课。正课在每周二和周四晚上八点开始,习题课在每周日晚上八点。每次课程时长约一个半小时到两个小时。

课程有回放,当天晚上十点左右生成,回放有效期为一年。如果错过了直播,可以看回放,但建议尽量跟直播,因为直播可以实时提问互动。

二、课程服务与学习方式

每一位学员都有专属的班主任和助教。班主任负责日常督学、提醒上课、收集问题。助教负责答疑批改作业。有问题可以在班级群里提问,也可以私聊助教。

学习流程是这样的:课前会发预习资料,包括课件和预习视频。课上跟着老师敲代码,边听边练。课后要完成作业,作业在每周日习题课之前提交。习题课上老师会讲解作业中的典型问题。

学习Python 最重要的是多动手。光看视频不敲代码是学不会的。每一个例子都要自己亲手敲一遍,敲错了不要紧,看报错信息去改,这个过程就是进步。

三、课程大纲

第一周:Python 入门与环境搭建。包括为什么学Python、Python 能做什么、安装开发环境、第一个程序、print 输出、注释。

第二周:变量与数据类型。包括变量的概念、命名规则、赋值、基本数据类型(整数、浮点数、字符串、布尔值)、类型转换、input 输入、运算符。

第三周:条件判断与循环。包括if 语句、if-else、if-elif-else、for 循环、while 循环、break 和continue、嵌套循环。

第四周:字符串与列表。包括字符串的索引和切片、常用方法、列表的创建和操作、列表的增删改查、列表遍历。

第五周:字典与元组。包括字典的创建和访问、字典的增删改查、遍历字典、元组的特点、集合简介。

第 1 页

第六周:函数与模块。包括函数的定义和调用、参数和返回值、变量作用域、常用内置函数、模块的导入和使用。最后做一个综合小项目。

四、环境配置

我们需要安装两个软件:Anaconda 和VS Code。

Anaconda 的安装:

Anaconda 是一个Python 发行版,里面包含了Python 解释器和很多常用的库,还有一个叫conda 的包管理工具。用Anaconda 的好处是省去了自己装各种库的麻烦。

去Anaconda 官网下载对应操作系统的安装包。Windows 系统下载.exe 文件,Mac 系统下载.pkg 文件。下载的时候注意选择对应的系统版本,Windows 有64 位和32 位之分,现在的电脑一般都是64 位。

安装的时候一路下一步就行。有一点要注意,Windows 系统在安装过程中会有一个选项问是否把Anaconda 加入环境变量,建议勾选上。如果没勾选也没关系,后面可以手动加。

安装完成后,Windows 用户可以在开始菜单里找到Anaconda Prompt,打开它。输入python —version,如果显示了Python 的版本号,说明安装成功了。Mac 用户打开终端,同样输入python —version 或者python3 —version 来验证。

VS Code 的安装:

VS Code 全称是Visual Studio Code,是微软出的一款代码编辑器,轻量而且好用,支持很多编程语言。

去VS Code 官网下载安装包,同样选择对应系统的版本。安装过程很简单,一路下一步。Windows 用户安装时建议勾选“添加到PATH”和“创建桌面快捷方式”。

安装完成后打开VS Code,需要装一个Python 扩展。点左边侧边栏的扩展图标,搜索Python,找到微软官方出的那个Python 扩展,点安装。装完之后重启一下VS Code。

五、写第一个Python 程序

打开VS Code,点“文件”菜单,选“新建文件”,然后保存为hello.py。注意后缀名必须是.py,这样VS Code 才知道这是Python 文件。

在文件里写一行代码:

第 2 页
print("Hello, World!")

然后点右上角的运行按钮,或者右键选“在终端中运行Python 文件”。下面的终端里就会显示Hello, World!。这就是你的第一个Python 程序。

六、作业要求

作业每周布置一次,在周四正课之后发出来,周日习题课之前提交。提交方式是把代码文件发到班级群里,或者按助教说的方式提交。

作业一定要自己独立完成。可以讨论思路,但不要直接抄别人的代码。抄代码看起来省时间,实际上害的是自己,因为到后面越来越难,没有前面的基础根本跟不上。

如果作业不会做,可以先看回放,再看课件,实在不会就问助教。助教很乐意解答问题,不要不好意思问。

第一课Python 入门与环境搭建

一、为什么要学Python

Python 这几年特别火,原因有几个。第一是简单易学,语法接近自然语言,对零基础的人很友好。第二是应用领域广,从数据分析、人工智能到网站开发、自动化办公,都能用Python。第三是社区活跃,遇到问题上网一搜基本都能找到答案。

对于我们学医的同学来说,Python 尤其有用。比如处理临床数据、做统计分析、画科研图表、批量处理文件,这些都可以用Python 来做。学会了Python,以后做科研、写论文都会高效很多。

二、Python 能做什么

数据分析:Python 有pandas、numpy 这些库,处理Excel 里的数据比手动操作快得多。比如有一万条病历数据,想统计某个指标的平均值,用Python 几行代码就搞定了。

数据可视化:用matplotlib、seaborn 这些库可以画出各种漂亮的图表,折线图、柱状图、散点图、热力图,做汇报和论文都用得上。

自动化办公:比如批量重命名文件、批量处理Word 文档、自动发邮件,这些重复性的工作都可以用Python 脚本自动完成。

爬虫:从网页上抓取数据,比如爬取某个医学期刊的文章列表,或者药品说明书信息。

第 3 页

当然爬虫要遵守法律法规和网站规则。

人工智能和机器学习:这是Python 最火的领域,scikit-learn、TensorFlow、PyTorch 这些框架都是Python 的。以后做医学影像分析、疾病预测模型,都要用到。

三、Python 的特点

Python 是解释型语言,写好的代码不需要编译,直接运行就行。这对初学者来说很方便,写完就能看到结果。

Python 是动态类型语言,变量不需要声明类型,直接赋值就行。比如写a = 1,Python 就知道a 是整数。

Python 的代码缩进很重要。其他语言用大括号来表示代码块,Python 用缩进来表示。缩进一般是四个空格。这个要特别注意,缩进错了程序就会报错。

四、环境搭建详细步骤

前面入学课讲了Anaconda 和VS Code 的安装,这节课再强调几个容易出问题的地方。

关于Anaconda:

安装路径不要有中文和空格。比如不要装在“D:\软件\Anaconda”这种路径下,最好装在“D:\Anaconda3”这样的纯英文路径。中文路径有时候会导致一些奇怪的错误。

安装完成后验证一下。Windows 打开Anaconda Prompt,输入conda —version,能显示版本号就说明装好了。再输入python,能进入Python 交互环境就说明Python 也装好了。输入exit()可以退出。

关于VS Code:

装完Python 扩展之后,还要选择解释器。按Ctrl+Shift+P(Mac 是Cmd+Shift+P),输入Python: Select Interpreter,然后选择你安装的Anaconda 里的那个Python。一般路径里会有anaconda3 字样。

VS Code 里写代码的时候,会有自动补全功能,输入到一半按Tab 或者回车就能补全,这个功能很方便。还有语法检查,写错了会有波浪线提示。

五、第一个程序详解

我们来仔细看一下这行代码:

第 4 页
print("Hello, World!")

print 是一个函数,函数的意思就是一段预先写好的功能代码,我们调用它就能完成某个功能。print 这个函数的功能就是把括号里的内容输出到屏幕上。

括号里的“Hello, World!”是一个字符串,字符串就是一串字符,要用引号括起来。引号可以是单引号,也可以是双引号,效果一样。

注意,print 后面的括号是英文括号,引号也是英文引号。如果写成中文的括号或者引号,程序就会报错。这个是初学者最容易犯的错误之一。

六、print 函数的更多用法

print 可以输出多个内容,用逗号隔开:

print("我今年", 25, "岁")

运行结果是:我今年25 岁。注意逗号隔开的内容之间会自动加一个空格。

print 可以输出数字,不需要加引号:

print(100)
print(3.14)

print 可以做计算,它会先算出结果再输出:

print(1 + 2)

运行结果是3。

print 默认输出完会换行。如果不想换行,可以加一个end 参数:

print("Hello", end="")
print("World")

这样两个输出会连在一起,显示HelloWorld。

第 5 页

七、注释

注释是写给人看的,Python 运行的时候会忽略注释。写注释是一个好习惯,能帮助自己和别人理解代码。

单行注释用井号开头:

# 这是一行注释
print("Hello")
# 这也是注释,在代码后面

多行注释用三个单引号或者三个双引号括起来:

'''
这是多行注释
可以写很多行
'''

注释虽然不影响程序运行,但非常重要。一个好的程序员会写清晰的注释。建议大家从一开始就养成写注释的习惯。

八、常见错误

SyntaxError:语法错误。最常见的原因是括号没配对、用了中文符号、缩进不对。遇到这个错误先检查符号是不是英文的,括号是不是都闭合了。

NameError:名字错误。用了一个没有定义的东西。比如把print 写成了prnt,就会报这个错。

IndentationError:缩进错误。Python 对缩进要求很严格,该缩进的地方没缩进,或者不该缩进的地方缩进了,都会报错。

第二课变量引用与类型转换

一、什么是变量

变量可以理解为一个带标签的盒子,盒子里装着数据。我们给盒子起个名字,以后通过这个名字就能找到里面的数据。

第 6 页

比如:

name = "张三"
age = 25

这里name 和age 就是变量名,等号右边是变量的值。等号在Python 里不是“等于”的意思,而是“赋值”,意思是把右边的值存到左边的变量里。

变量的值是可以改变的:

age = 25
age = 26
print(age)

输出结果是26,因为后面的赋值覆盖了前面的值。

二、变量的命名规则

变量名不是随便起的,有几条规则必须遵守:

第一,变量名只能包含字母、数字和下划线,不能有空格和特殊字符。比如name、age、my_name、name1 都是合法的,my name、name!、1name 都是不合法的。

第二,变量名不能以数字开头。比如1name 不合法,name1 合法。

第三,变量名不能是Python 的关键字。关键字就是Python 里已经有特殊含义的词,比如if、for、while、print 这些。用了关键字做变量名会报错。

第四,变量名区分大小写。Name 和name 是两个不同的变量。

除了必须遵守的规则,还有一些命名习惯建议大家遵守:

变量名要有意义,看到名字就知道里面存的是什么。比如存年龄就叫age,存姓名就叫name,不要叫a、b、c 这种没意义的名字。

多个单词组成的变量名,建议用下划线连接,比如student_name、course_score。这种命名方式叫蛇形命名法,是Python 社区推荐的风格。

不要用拼音做变量名,比如xingming、nianling,要用英文。写代码是国际化的,用英文更规范。

第 7 页

三、变量的赋值

基本赋值:

x = 10

同时给多个变量赋值:

a, b, c = 1, 2, 3

这样a 等于1,b 等于2,c 等于3。

给多个变量赋同一个值:

a = b = c = 0

这样a、b、c 都等于0。

变量可以参与运算:

x = 5
y = 3
z = x + y
print(z)

输出结果是8。

四、数据类型

Python 里的数据有不同的类型,最基本的有四种:整数、浮点数、字符串、布尔值。

整数(int):

就是数学里的整数,包括正整数、负整数和零。比如1、-5、0、100 都是整数。整数没有大小限制,想写多大写多大。

a = 10
b = -3
第 8 页

浮点数(float):

就是带小数点的数。比如3.14、-0.5、1.0 都是浮点数。注意1.0 虽然值和1 一样,但类型是浮点数不是整数。

pi = 3.14159
price = 9.9

浮点数的运算可能会有精度问题,比如0.1 + 0.2,结果不是0.3,而是0.30000000000000004。这是计算机内部表示浮点数的方式导致的,不是bug。一般情况下不影响使用,如果需要高精度计算可以用decimal 模块。

字符串(str):

字符串是一串字符,用引号括起来。可以是单引号、双引号,也可以是三引号。

name = "张三"
gender = '男'

单引号和双引号效果一样,但要注意配对。如果字符串里本身有引号,就要用另一种引号来包裹:

print("I'm a student")
print("He said \"hello\"")

或者用反斜杠转义。反斜杠加引号表示这个引号是字符串的一部分,不是结束标记。

三引号可以写多行字符串:

poem = '''床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。'''

布尔值(bool):

布尔值只有两个:True 和False。注意首字母必须大写,小写的true 和false 不是布尔值。

第 9 页
is_student = True
has_passed = False

布尔值通常用来表示条件是否成立,后面学条件判断的时候会大量用到。

五、查看数据类型

用type 函数可以查看一个变量或值的类型:

print(type(10))
print(type(3.14))
print(type("hello"))
print(type(True))

输出分别是:<class ‘int’>、<class ‘float’>、<class ‘str’>、<class ‘bool’>。

也可以查看变量的类型:

x = 100
print(type(x))

六、类型转换

有时候我们需要把一种类型转换成另一种类型,Python 提供了几个转换函数。

int():转换成整数

print(int(3.14))

结果是3。注意浮点数转整数是直接截断小数部分,不是四舍五入。3.9 转成int 也是3。

print(int("123"))

字符串“123”可以转成整数123。但如果字符串里不是纯数字,比如“12.3”或者“abc”,就会报错。

第 10 页
print(int(True))
print(int(False))

True 转成1,False 转成0。

float():转换成浮点数

print(float(10))

结果是10.0。

print(float("3.14"))

字符串“3.14”可以转成浮点数3.14。

print(float("5"))

字符串“5”也可以转成浮点数5.0。

str():转换成字符串

print(str(100))

结果是字符串“100”。

print(str(3.14))

结果是字符串“3.14”。

print(str(True))

结果是字符串“True”。

字符串转换最常用的场景是拼接输出。比如:

第 11 页
age = 25
print("我今年" + str(age) + "岁")

如果不转成字符串,直接用加号把字符串和整数连起来,会报错,因为字符串和整数不能直接相加。

bool():转换成布尔值

print(bool(0))
print(bool(1))
print(bool(""))
print(bool("hello"))

规则是:0、空字符串“”、空列表这些“空”的东西转成False,其他的转成True。这个规则后面学条件判断的时候很重要。

七、input 输入函数

前面学了print 输出,现在学input 输入。input 可以让用户从键盘输入内容,程序拿到输入后可以做处理。

name = input("请输入你的名字:")
print("你好," + name)

运行程序后,屏幕上会显示“请输入你的名字:”,然后等用户输入。用户输入完按回车,输入的内容就存到name 变量里了。

特别注意:input 返回的永远是字符串类型。即使用户输入的是数字,拿到的也是字符串。比如:

age = input("请输入你的年龄:")
print(type(age))

即使用户输入25,type(age)的结果也是str,不是int。

所以如果需要拿输入的数字做计算,必须先转成整数或者浮点数:

age = int(input("请输入你的年龄:"))
print("明年你就" + str(age + 1) + "岁了")
第 12 页

这里用int 把input 的结果转成了整数,然后才能加1。最后输出的时候又用str 转成字符串才能拼接。

这是初学者很容易踩的坑,一定要记住input 的结果是字符串。

八、运算符

算术运算符:

加号+:加法。比如3 + 2 = 5。

减号-:减法。比如3 - 2 = 1。

星号*:乘法。比如3 * 2 = 6。

斜杠/:除法。比如7 / 2 = 3.5。注意除法的结果永远是浮点数,即使能整除也是浮点数,比如4 / 2 = 2.0。

双斜杠//:整除。只取商的整数部分,比如7 // 2 = 3,-7 // 2 = -4(向下取整)。

百分号%:取余。比如7 % 2 = 1,就是7 除以2 余1。取余运算很常用,比如判断一个数是奇数还是偶数,就看它对2 取余是不是0。

双星号**:幂运算。比如2 ** 3 = 8,就是2 的3 次方。

运算符优先级:

和数学里一样,先乘除后加减。有括号先算括号里的。幂运算优先级最高。

print(2 + 3 * 4)

结果是14,先算3*4=12,再加2。

print((2 + 3) * 4)

结果是20,先算括号里的2+3=5,再乘4。

如果不确定优先级,就加括号,括号最清楚,也方便别人读代码。

赋值运算符:

等号=:基本赋值,前面已经讲过。

加等+=:a += b 相当于a = a + b。

第 13 页

减等-=:a -= b 相当于a = a - b。

乘等*=:a *= b 相当于a = a * b。

除等/=:a /= b 相当于a = a / b。

这些简写运算符在循环里很常用,比如计数的时候写count += 1 比count = count + 1 简洁。

比较运算符:

双等号:判断是否相等。注意和赋值的单等号区分开。a b 返回的是布尔值,相等就是True,不相等就是False。

叹号等号!=:判断是否不相等。

大于>、小于<、大于等于>=、小于等于<=,和数学里的意思一样。

print(3 > 2)
print(3 == 3)
print(3 != 4)

结果分别是True、True、True。

逻辑运算符:

and:与。两边都为True,结果才是True。比如True and True 是True,True and False 是False。

or:或。只要有一边为True,结果就是True。比如True or False 是True,False or False 是False。

not:非。取反。not True 是False,not False 是True。

print(3 > 2 and 5 > 4)
print(3 > 2 or 1 > 2)
print(not 3 > 2)

结果分别是True、True、False。

第 14 页

九、字符串拼接和重复

字符串可以用加号拼接:

first_name = "张"
last_name = "三"
full_name = first_name + last_name
print(full_name)

结果是“张三”。

字符串可以用乘号重复:

print("ha" * 3)

结果是“hahaha”。

字符串和数字不能直接相加,必须先把数字转成字符串:

age = 25
print("我今年" + str(age) + "岁")

十、本课小结

这节课学了变量,变量是存数据的盒子,有命名规则。学了四种基本数据类型:整数int、浮点数float、字符串str、布尔值bool。学了类型转换函数int()、float()、str()、bool()。学了input 输入函数,记住input 返回的是字符串。学了各种运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符。

这些都是Python 最基础的东西,后面所有内容都建立在这些基础之上。一定要多敲代码多练习,把这些概念搞熟。

第 15 页
返回首页返回「Python」