Python笔记(更新中...)

学习Python的粗略笔记,同时也是用于学习使用Markdown

2026-05-16 scanf ◷ 阅读约 2 分钟 Markdown Python 程序 笔记 阅读 0

一、注释

“#” (井号)为单行注释

“““xxx””” (三引号)为多行注释

二、字符串

字符串的定义

a='python'  
b="python"  
c="""python"""

以上三种方式都可以定义字符串

第三种定义方式如果没有变量接收那就是多行注释,并且和多行注释一样支持换行

如何在字符串中包含单双引号

在字符串内 包含双引号:
name = '"python"'

在字符串内 包含单引号:
name = "'python'"

使用转义字符 “" 解除引号的效用:
name = "\"python\""
name = '\'python\''

字符串的长度

len(str):返回字符串的长度
后面学容器依旧可以使用这个长度函数

字符串拼接

字符串的拼接和cpp相同,使用加号即可

字符串的格式化

方法一

name = "python"  
message = "我要学%s" % name  
print(message)  

% 表示:我要占位
s 表示:将变量变成字符串放入占位的地方

需要加入非字符串的变量一样可以
python中,常见的数据类型占位有三种

符号 作用
%s 将内容转换成字符串,放入占位位置
%d 将内容转换成整数,放入占位位置
%f 将内容转换成浮点型,放入占位位置

例如:

name = "python"  
day = 3  
comp = 0.5  
message = "学习%s%d天,已完成%f" % (name,day,comp)

方法二:

print(f"学习{name}{day}天,已完成{comp}")
但是这种格式化方式无法做精度控制
并且以上两种方式可以不用变量名,直接使用表达式也可以
如:message = “学习%s%d天,已完成%f” % (“python”,1+2,0.2+0.3)

三、分支语句

if-else:

if 条件表达式1:
    语句块1
elif 条件表达式2:
    语句块2
elif 条件表达式3:
    语句块3
...
else:
    语句块n 

与c/c++类似,自行对比

match-case:

match 变量/表达式:
    case 模式1:
        语句块1
    case 模式2:
        语句块2
    ...
    case _:
        语句块n  

与c/c++中的switch-case类似,自行对比

四、循环语句

while循环:

while 条件表达式:
    循环体语句块

与c/c++的while用法相同

for循环:

此循环方式与c/c++略有不同,不宜跳过

for 变量 in 可迭代对象:
    循环体语句块

可迭代对象包括:字符串、列表、元组、字典、集合、range()、文件等。
每次迭代将当前元素赋值给变量,自动遍历直到结束。

常用配合函数/方法

不宜跳过,too

range()函数 —— 生成数值序列

for i in range(5):      # 0,1,2,3,4
for i in range(2, 8):   # 2,3,4,5,6,7
for i in range(0, 10, 2): # 0,2,4,6,8

enumerate()函数 —— 同时获取索引和值

fruits = ['apple', 'banana', 'cherry']
for idx, fruit in enumerate(fruits):
    print(idx, fruit)

该函数配合字典时使用较多

循环控制语句

语句 作用
break 立即终止整个循环,跳出循环体
continue 跳过本次循环剩余代码,进入下一次迭代
pass 空操作,占位符(语法上需要语句但什么都不做)

五、函数

基本格式:

def 函数名(传入参数):
    函数体
    return 返回值

与c/c++的不同:
1.不需要写是否有返回值,更不需要写返回值的类型
2.传入参数只需要变量接收即可,不需要写参数的数据类型,其类型由调用函数时的实参决定

六、数据容器

本章共包含五个容器:列表(list) 元组(tuple) 字符串(str) 集合(set) 字典(dict)

列表(list)

特点:列表可以一次存储多个数据,并且可以为不同的数据类型,并支持嵌套

字面量

[a1, a2, ……]

定义变量

变量名称 = [a1, a2, ……]

定义空列表

变量名称 = []
变量名称 = list()

列表的索引

正向索引:与数组类似
反向索引:最后一个元素索引为-1,倒数第二个为-2,以此类推
嵌套列表的索引也和数组的索引类似

index()函数:

list.index(obj):在list列表中找到第一个值为obj的元素,并返回下标索引

修改元素:

list[pos] = obj:将下标为pos的元素更改为obj

插入元素:

list.insert(pos,obj):在list的下标为pos的位置插入元素obj

追加元素:

list.append(obj):在list列表的末尾加入元素obj
list.extend(container):在list列表的末尾加入容器container

删除元素:

del list[pos]:将list列表下标为pos的元素删掉
list.pop(pos):将list列表下标为pos的元素删掉,并返回别删除的元素
list.remove(obj):将list列表中第一个为obj的元素移出列表

清空列表:

list.clear():清空list列表

统计数量

list.count(obj):统计值为obj的元素数量,并返回数量的值

元组(tuple)

特点:元组一旦定义完成,就不可被修改
支持嵌套,可以嵌套其他数据容器
所以,当我们需要在程序中封装数据,又不希望数据别篡改,就适合使用元组

字面量

(a1, a2, ……)

定义变量

变量名称 = (a1, a2, ……)

注意:元组只有一个数据的情况下,这个数据的后面要添加逗号
eg:t = ("hello",)
如果我写t = ("hello"),则t的类型为str

定义空元组

变量名称 = ()
变量名称 = tuple()

元组的索引

元组的索引方式与列表完全一致

元组的基本操作

函数 作用
tuple.index(element) 查找数据element,返回数据对应的下标
tuple.count(element) 统计数据element在元组中出现的次数
len(tuple) 统计元组tuple内的元素个数

元组的特殊情况

虽然元组不能被修改,但如果元组内嵌套了list,则可以修改该list里面的内容
eg:

t1 = (1, 2, ["songline", "nihao"])
t1[2][1] = "niubi"
print(t1)    # 输出:(1, 2, ["songline", "niubi"])

字符串(str)

字符串是老朋友了,和c/c++类似的操作就不介绍了
但是注意:字符串也不支持修改内容,这是和c/c++不同的地方

字符串的替换

str.replace(str1,str) :将字符串str里面的str1字符串替换为str2。

但是,这个函数不是修改字符串本身,而是得到一个新的字符串

字符串的分割

str.split(str1) :str1作为分割字符串,将字符串划分为多个字符串,存入列表对象中 注意:字符串本身不变,而是得到了一个列表对象

eg:

mystr = "hello songline nihao"
mystr_list = mystr.split(" ")
print(mystr_list,type(mystr_list))   #输出:['hello', 'songline', 'nihao'] <class 'list'>

字符串的规整操作

去前后空格

str.strip() :将str前后的空格去除,返回新的字符串

eg:

mystr = "  hello songline nihao  "
mystr = mystr.strip()
print(mystr)   #输出:hello songline nihao

去前后字符串

str.strip(str1) :将str前后出现在str1中的字符去掉,返回新的字符串

eg:

mystr = "132hello songline nihao231"
mystr = mystr.strip("123")
print(mystr)   #输出:hello songline nihao

字符串出现的次数

str.count(str1) :返回str1在str中出现的次数

eg:

mystr = "hello songline nihao"
a = mystr.count("i")
print(a)   #输出:2

字符串都学过,没什么好记的

预告:下一个内容:序列

Markdown 源文件

喜欢离线保存的话,可以把这篇文章下载为 Markdown 文件。

上一篇(二)第一场游戏
2026-05-16
下一篇(三)名为傲慢
2026-05-16

相关文章