【学习笔记】 Python入门

网课知识点汇总

注释

注释的分类

单行注释:#(井号键) 快捷键:ctrl+/

多行注释:’’’(三个单引号,写两行,注释在中间)

注释的作用

1、注释是给程序员看的,不是给机器看的

2、注释是不会被执行的代码,解释器会忽略里面的所有内容

3、注释是程序员之间的交流工具

注意:

1、注释不能相互嵌套

2、要养成书写注释的好习惯

3、注释要有确切的表达意义

关键字

被python语法赋予特殊含义,在编程中不能直接使用,是编程语言里事先定义好的,也称为“保留字”

1
2
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
35

变量、函数、类型、对象名等,统称为“标识符”,定义标识符的规则有:
1、数字不能开头
2、只能使用a-z、A-Z、0-9、_(下划线) 其他符号全部非法
3、python语言严格区分大小写

命名规范:函数/功能(例子:坦克撞击墙壁)

1、小驼峰命名规则:tankHitWall(第一个首字母小写+其余首字母大写)

2、大驼峰命名规则:TankHitWall(所有首字母大写)

3、下划线命名规则:tank_hit_wall(均小写,用下划线隔开)

Python的数据类型

Number(数字):int(整型数据)、float(浮点数据)、bool(布尔数据)(True、False)

String(字符串)、Tuple(元组)、List(列表)、Set(集合)、Dictionary(字典)

查看变量类型:type(变量名)

Python语言在定义变量时,不需要指定变量的数据类型,程序会根据变量值,自动实现变量类型确定

1、整型int

1
2
num1 = 999
print(f'num1 = {num1}')

整型不能以0开头,占位符为%d

1
2
3
4
# 定义整数变量 student_no,输出 我的学号是 000001
student_no = 1
print('我的学号是%06d' %student_no)
# %06d 表明整型必须是6位数,如果不足用0补齐

print是python语言的输出函数,在控制台可以看到程序的执行结果
f→format格式化,在单引号字符串中能够书写大括号,大括号中可以放入’变量名’,如果没有f这个符号,单引号中的大括号没用

单引号和双引号都是可以的,按照规范的话应该是尽可能使用双引号而非单引号,就像在Stata中单引号没办法用,但双引号可以

2、浮点型float

1
2
num2 = 66.6  #小数
print(f"num2 = {num2}, type(num2) = {type(num2)}")

占位符为%f %.1f表示保留1位小数

3、布尔型

只有两个结果,真或者假

1
2
is_visited = True   #False
print(f"is_visited = {is_visited}, type(is_visited) = {type(is_visited)}")

4、字符串类型str

有三种书写格式:①单引号 ②双引号 ③三引号(一般用在多行数据书写)

嵌套书写非常简单,不需要转义

网页中的输入框获取的数据,都是字符串类型的

占位符为%s

有一种特殊机制:内存中的驻留机制(相同的字符串在程序运行期间,其内存中仅存储一份)

基础数据类型不需要考虑内存地址的问题,对象类型才需要

字符串对象内容发生变化,改变的是该字符串的引用地址,而不是该字符串地址对应的内存数据

字符串的切片:将原来的字符串实现切割 [start:stop:step]和range用法类似

5、列表类型

1
2
names = ['张三', '李四', '王五', '张三', '李四']
print(f'names = {names}, type(names) = {type(names)}')

特点:有序、可重复、可扩展

6、元组类型

1
2
names = ('张三', '李四', '王五', '张三', '李四')
print(f'names = {names}, type(names) = {type(names)}')

特点:有序、可重复、不可扩展

变量名称相同时,新的数据会覆盖name空间中原来的数据

7、集合类型

1
2
names = {'张三', '李四', '王五', '张三', '李四'}
print(f'names = {names}, type(names) = {type(names)}')

特点:无需、不可重复、可扩展

8、字典类型

1
2
stu_dict = {'stu_id': '1001', 'name': '张三', 'age': 18, 'score': 100}
print(f'stu_dict = {stu_dict}, type(stu_dict) = {type(stu_dict)}')

变量

在程序运行期间,随时可能产生一些临时数据,应用程序会将这些数据保存到内存中,变量是内存中一个带标签的盒子

1
name = '玛丽亚'

等号为赋值运算符(从右向左看),意思是在内存中,将‘玛丽亚’这个数据存储到名称为name的盒子中,未来在程序中可以通过name这个盒子的名称找到‘玛丽亚’这个数据,字符串需要加引号

输出函数

print(name) #name是变量名,print输出函数输出的是该变量名对应的变量值

print(‘name’) #’name’是字符串,意味着直接输出name这个字符串

转义字符

\t 水平制表符(类似于四个空格) \n 换行

\r 回车 \b 退格

\\ 字符反斜杠 \‘ 单引号 \“双引号

类型转换

1
2
3
4
5
6
7
8
9
10
11
num1 = '10'
# 将字符串类型转换为整型
n1 = int(num1)

f1 = 66.66
# 将浮点型转换为整型,只保留整数,不做四舍五入处理
i1 = int(f1)

n3 = 10
# 整型转换为浮点型,有浮点型参与运算时,其结果就是浮点型
f3 = float(n3)

输入函数

格式: input(提示信息) 该函数会返回用户在键盘中输入的结果,但一定要小心,因为返回的结果都是str类型

说明:由于input输入函数会返回结果,所以程序中必须要定义一个变量接收input函数返回的结果

input是一个阻塞函数,如果用户不输入,程序就不会继续向下执行

1
2
3
name = input('请输入您的姓名:')
age = input('请输入您的年龄:')
print(f'大家好,我叫{name},我今年{age}岁了')

算术运算符

加+ 减- 乘* 除/ 整除// 取余% 幂运算**

复合赋值运算符:一个变量在自身的基础上发生改变

运算符 描述 实例
+= 加法赋值运算符 c += a等效于c = c+a
-= 减法赋值运算符 c -= a等效于c = c-a
*= 乘法赋值运算符 c = a等效于c = c * a
/= 除法赋值运算符 c /= a等效于c = c / a
%= 取余赋值运算符 c %= a等效于c = c % a
**= 幂赋值运算符 c = a等效于c = c**a
//= 取整除赋值运算符 c //= a等效于c = c // a

逗号表达式

原理:元组解包,可以定义多个相同类型

1
2
3
4
5
num1 = 10
num2 = 20
num3 = 30
# 等同于
num1, num2, num3 = 10, 20, 30

比较运算符

> < >= <= != ==

注意点:运算符前后都应该有一个空格,结果是布尔类型,只有True / False

逻辑运算符

对布尔值之间的运算,判断多个条件的,结果仍然是布尔

1
2
3
4
5
6
7
8
9
#判断一个人是否为男性,并且大于18岁
gender = input('亲,请输入您的性别:')
age = int(input('亲,请输入您的年龄:'))
result = gender == '男' and age >= 18
print(f'result = {result}')

#and 并且 特点:全真为真,一假即假
#or 或者 特点:一真即真,全假为假
#not 非 特点:将结果取反

if条件语句-单分支结构

任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成。

顺序结构:程序从上到下顺序地执行,中间没用任何的判断和跳转,直到程序结束。

选择结构:程序根据判断条件的布尔值选择性地执行部分代码,明确让计算机知道在什么条件下该去做什么。

if语句是一个整体(含tab的行),这个整体条件如果成立,整体就会被执行,如果条件不成立,这个整体就不会被执行。

if 条件表达式:

​ 条件执行体

if-else条件语句-多分支结构

前者是True,后者是False,只能是二选一,一个整体中只有一个条件会被执行,第二个条件是建立在第一个条件不成立的情况下才会被判断

if 条件表达式:

​ 条件执行体1

else:

​ 条件执行体2

if-elif(else if)-else条件语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#例如:对一个学生的考试成绩进行等级的划分,
#如果分数大于等于80分等级为优
#否则,如果分数大于等于70等级为良,
#否则,如果分数大于等于60分等级为中,
#否则,等级为差
#1.定义变量接收用户的输入
score = int(input('请输入您的成绩:'))
if 0 <= score <= 100:

#2.多条件判断
if score >= 80:
print('成绩为优')
elif score >= 70:
print('成绩为良')
elif score >= 60:
print('成绩为中')
else:
print('成绩为差')
else:
print('成绩非法')

if条件嵌套

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#用嵌套方法两两判断找出最大值  注意缩进
if num1 > num2:
if num1 > num3:
print(f'num1 = {num1} 最大')
else:
print(f'num3 = {num3} 最大')
else:
if num2 > num3:
print(f'num2 = {num2} 最大')
else:
print(f'num3 = {num3} 最大')

#用三目运算实现两两判断 双分支结构的简化形式
second_max = num1 if num1 > num2 else num2
max = second_max if second_max > num3 else num3
print(f'max = {max}')

随机数 Random

1
2
3
4
5
6
#1.导入随机模块
import random
#2.使用random模块调用randint(a,b)方法,会得到a-b之间的任意随机整数
num = random.randint(1,3)
#3.输出查看随机数
print(f'num = {num}')

while循环

while 条件表达式:

​ 条件执行体(循环体)

while True:永远不会结束的循环

● 循环使用场景一:循环体确定的循环

1
2
3
4
5
6
7
#1.定义一个循环变量
i = 0
#2.设置循环条件
while i < 10:
print('我爱广州小蛮腰',i)
#3.循环增量
i += 1

● 循环使用场景二:遍历指定范围的数

1
2
3
4
5
6
7
8
9
#遍历n~m之间每一个整数
#66~88
#1.定义循环变量
i = 66
#2.循环条件
while i <= 88:
print(i, end = '\t') #不希望每次都换行end = '\t'
#3.循环增量
i += 1

● 循环使用场景三:找指定范围中符合特定条件的数

1
2
3
4
5
6
7
8
9
10
#找出1-100间的偶数
#1.定义循环变量
i = 1
#2.循环条件
while i <= 100:
#判断
if i % 2 == 0: #除以2余数为0,单个等号为赋值,两个等号是判断等于
print(i, end = '\t') #不希望每次都换行end = '\t'
#3.循环增量
i += 1

● 循环使用场景四:求累加和

1
2
3
4
5
6
7
8
9
10
11
12
13
#求1-100之间的每个整数的累加和
#1.定义循环变量
i = 1
#定义一个‘筐’变量
sum = 0
#2.循环条件
while i <= 100:
#将所有整型数值累加到‘筐’变量中
sum += i
#3.循环增量
i += 1
#循环结束查看值
print(f'sum = {sum}')

● 循环使用场景五:穷举

1
2
3
4
5
6
7
8
9
10
11
12
#案例:有一个人买了一筐鸡蛋(至少有2个)两个两个的数,多一个,三个三个的数,多一个,四个四个的数,多一个。请问:至少有几个鸡蛋?
#1.定义循环变量
i = 2
#2.循环条件
while True: #不知道什么时候结束,只要遇到break就会立即跳出循环
#判断条件
if i % 2 == 1 and i % 3 == 1 and i % 4 == 1:
print(f'i = {i}')
#条件一旦成立,立即跳出循环
break
#3.循环增量
i += 1

● 循环使用场景六:计数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#统计1-100间满足3倍数的数值个数
#1.定义循环变量
i = 1
#说明:循环中计数的变量一定要在循环外部定义
count = 0
#2.循环条件
while i <= 100:
#判断
if i % 3 ==0: #能被3整除
count += 1 #记录
print(i, end = '\t')
#3.循环增量
i += 1
#循环结束查看值
print(f'count = {count}')

范围函数range

作用:生成指定范围的序列(有规律的多个数值)

含头不含尾,如果需要数字10,需要写到11

range(start起始值默认从0开始,stop结束值不含本身,step步长默认为1)

1
2
3
4
5
#生成【1,2,3,4,5,···,10】序列
r = range(1,11,1)
#想查看range生成序列中的每一个数值 for 循环变量 in range:
for i in range(1,11,1):
print(i, end = '\t')

Python提供了两种循环的实现方式,whi1e和for + range,如何选择

  1. while循环一般在不知道循环次数的情况下使用. while True + break

  2. for + range循环一般在已知循环次数的条件下被使用

循环嵌套

外层每循环一次,内层就会循环所有次

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#地球的自转与公转
#公转:外层循环
#自转:内层循环
for i in range(1,2,1):
for j in range(1,366,1):
print(f'地球完成了地{j}次自转')
print(f'地球完成了地{i}次公转')

#打印一个五行五列的正方形
for i in range(5): #控制了行
#在输出每一行的时候需要输出五列
for j in range(5): #控制了列
print('*', end = ' ')
print() #内层循环结束后换行

循环流程控制

break用在循环体之中,如果在循环体之中遇到就立即结束。往循环外面跳。

continue用在循环语句之中,作用是终止本次循环,继续下一次循环。往循环的条件位置跳。

1
2
3
4
5
for i in range(10):
#当i == 5的时候,不要输出
if i == 5:
continue #循环后面的代码不要执行,回到条件处进行下一次循环
print()

else语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#需求:用户输入密码,有三次机会,如果正确,登灵成功
#如果三次机会都输入错误,冻结此账户
#循环三次
for i in range(3):
#输入密码
password = input('请输入密码:')
#判断
if password == '666':
#正确
print('登陆成功')
#成功后跳出
break
else:
#不正确
print('密码不正确,请重新输入')
else: #序列正常执行完成后,再执行else
print('密码多次错误,已被冻结')

#这个代码更合理的方法是前两次用循环,最后一次直接用if-else

参考来源

https://www.bilibili.com/video/BV13e411172J?spm_id_from=333.788.videopod.episodes&vd_source=7ec7928f0f3a9f6f81d43028ee0cd7b5


作话:重点在于循环,老师讲得很好,感兴趣可以去购买后半段课程。有部分练习代码没放上来。直接复制代码的话,操作过程中可能可能可能有tab问题,手动调整即可。

作者

LxxCandy

发布于

2025-07-16

更新于

2025-08-12

许可协议

评论