python知识点总结

本文详细总结了Python的基础知识,包括数据类型如数字、字符串和布尔类型,运算符如算术、比较和逻辑运算符,流程控制语句如选择语句和循环语句,以及组合数据类型如列表、元组、集合和字典。此外,还涵盖了字符串操作、函数、异常处理、文件操作等核心概念,并提供了多项练习题来巩固学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python知识点总结


数据类型

数字
  • 浮点数:有小数点的数字
  • 整数:没有小数点的数字
字符串(字符序列)
布尔类型
  • False(0)
  • True(1)

运算符

算数运算符
运算符说明实例结果
/7/23.5
%求余7%21
/ /取整除7//23
比较运算符
  • 等于号是“==”
  • 不等于是“!=”
逻辑运算符
  • and 有假的就输出假的,没有假的就输出最后一个真的
  • or 和and相反
  • not(结合方向是从右到左)

流程控制语句

选择语句

1.if…elae语句的简写

a = -9
if a > 0:
	b = a
else:
	b = -a
print(b)

可简写为

a = -9
b = a if a>0 elae -a
print(b)

2.在多个if…elif…else语句中,elif和else都是从属前面第一个if

"""
    用单个while配合if条件,循环九次打印下列矩阵:
        11 12 13
        14 15 16
        17 18 19
    
"""
#错误解法一:
i = 10
while True:
    if i > 18:
        break
    else:
        i += 1
        if i==13:
            print(i,'\n')
        if i==16:
            print(i,'\n')
        if i==19:           #下面的else从属这个if语句
            print(i,'\n')
        else:
            print(i,end=' ')#当else前有多个if语句时,else默认从属于它上面离他最近的if

将第二、第三个if改为elif即可

循环语句
continue、break、pass语句

这仨一般都是结合if语句搭配使用

  • continue:跳过当前循环的剩余语句块,进入下轮循环
  • break:跳出循环
  • pass:表示空语句,什么都不做
  • 假设你在400m田径场跑步
    • continue:跑了一下,发现忘记计时了——重新回起点重新跑一圈
    • break:跑了一下,舍友叫你去喝奶茶——算了不跑了,胖死我吧
    • pass: 跑着跑着,突然摔了个狗吃屎——爬起来发现没人看见,拍拍灰尘继续跑

组合数据类型

概述:

  • 索引
    • 正数索引:从0开始(左边)
    • 负数索引:从-1开始(右边)
  • 切片
verse[start:end:step]
1.列表
2.元组(有顺序,创建后不能修改)
3.集合(没有顺序的不可以重复的数据)
4.字典(用户可以自己定义索引的序列,字典类型是映射的体现)

字符串

字符串与列表很相似,正如前面提到的,字符串是字符序列

字符串编码转化
  • encode()编码
  • decode()解码
字符串常用操作
  • 拼接与截取

    • 拼接直接用”+”
    • 截取类似列表的切片:string[start:end:step]
  • 分割与合并

    • str.split(sep,maxsplit)
    • newstr = string.join(iterable)
  • 计算长度

    • len()
  • 检索

    • count()
    • find()
    • index()
  • 字母大小写转换

    • lower()
    • upper()
  • 格式化

    • 使用%操作符(不推荐)
    • format()

函数

创建函数:
def functionname([parameterlist]):
	[fuctionbody]

functionname:函数名
parameterlist:可选参数,用于指定向函数中传递的参数。如果有多个参数,那么参数之间用逗号隔开
functionbody:用于指定函数体

异常处理


异常描述
IOError输入输出错误(如要读取的文件不存在)
AttributeError尝试访问位置的对象属性引发的错误
IndetationError缩进错误
MemoryError内存不足
ZeroDivisionError除数为0

语法:

try:
	[语句块1]
except (xxError):#except后面不指定异常名称,则表示捕获全部异常
	[语句块2]#try语句块中出粗,执行except语句块
else:
	[语句块3]#try语句块没有出错则执行else的语句块
finally:
	[语句块4]#无论是否引发了异常,finally的子句都会执行

except xxError as x语句:

try:
	[语句块]
except (ValueError,ZeroDivisionError) as e:
	print('出错了!错误是:',e)
	

如果想捕获全部异常,那么将整个括号和括号内容换成Exception


文件操作

file = open(filename[,mode[,buffering]])
  • file:被创建的文件对象
  • filename:要创建或者打开文件的文件名称
  • mode:可选参数,指定文件的打开模式
说明注释
r以只读模式打开文件,文件的指针将会放在文件的开头文件必须存在
r+打开文件后,可以读取文件内容,也可以写入新的内容覆盖原有内容文件必须存在
w以只写模式打开文件文件存在,则将其覆盖,否则创建新文件
w+打开文件后,先清空原有内容,使其变为一个空的文件,对这个空文件有读写权限文件存在则将其覆盖,否则创建新文件
a以追加模式打开一个文件,如果该文件已经存在,文件指针将放在文件末尾,新内容卸载已有内容后面,否则创建新文件用于写入
a+以读写模式打开文件,如果该文件已存在,文件指针将放在文件末尾,否则创建新文件用于写入

写入文件后,一定要调用close()函数关闭文件,否则写入的内容不会保存到文件中。这是因为我们再写入文件内容时,操作系统不会立刻把数据写入磁盘,而是先缓存起来。 ps:也可以调用flush()函数,把缓冲区的内容写入文件。(这种方法不会关闭文件

建议用with语句打开文件,此语句执行完后会自动关闭文件:

with expression as target:
	[语句体]

题目

第一题
17 != 19 and 5

and的左边,17不等于19这个句子是对的,True的值是1
and一出现错的语句块就返回错的,全都是对的,就返回最后一个对的。
所以答案是5

第二题
7 or 18

or一出现对的语句块就返回对的,全都是错的,就返回最后一个错的

第三题
(not 3) + 5

not加一个对的东西就是错的

第四题
round(2.5)

round()函数会将括号内的数字四舍五入,变成相应小数位数的数字
例如round(1.111,2)
意思是将1.111保留两位小数,结果是1.11
当没有指定多少位数时,默认取整数
本来这题的答案应该是3的,但是由于二进制的问题,答案为2

第五题
int('22', 16)

题目意思是求16进制下的’22‘
答案是34

第六题
#下列哪个变量名称是非法的:
#input_, A!, a_b, Int

大小写字母,下划线,数字才能命名,而且数字不能放在首位
答案是"A!"

第七题
a = [8, 2, 8]
b = sum(a)
print(b)

sum()函数是可以将列表中的所有元素加起来
不过要求列表中的元素都可以相加
数字和布尔类型都可以,但是字符串不行

第八题
if True :
    print('Song', 111)
elif True:
    print('Jinlong', 222)
else:
    print('SongJinlong', 2582)

在循环中,if语句是分支,只经过一条路
if执行后,下面的elif和else不执行

第九题
a = [10, 17, 19, 10]
b = a[:0:-1]
print(b)

-1表示逆序,从右到左
结束位是0(不包括在内)
所以答案是[10,19,17]

第十题
a = [ ]
a.extend([27, 72])
print(a)

extend()函数将一个列表添加到另一个列表

第十一题
a = [86, 87, 59, 52]
b = a
a[0] = 11
print(b)

答案是[11,87,59,52]
我惊了
列表b等于列表a,列表a的元素改变时,列表b的对应元素也改变
666
但是,如果是b = a.copy()就不会改变

第十二题
x = '甲乙丙丁甲乙丙甲乙'
y = x.index('甲') + x.count('甲')
print( y )

x.index(‘甲’)返回值为列表中’甲‘第一次出现的索引


第十三题
def 舜滢(x):
    x[0] = 357
    return None
a = [4,5,6]
b = 舜滢(a)
print(a, b)

答案是[357,5,6]none
列表a进入函数后,第0项改成了357
return none所以返回值是none,但是列表a的第一个元素已经改变了


第十四题
def func(a, b, *p):
    print(p)
func(9, 0, 2, 4, 6)

答案是(2,4,6)
*p代表第三个到最后一个参数,返回的p是元组

第十五题
def func(x, y=22, **p):
    print(p)
func(1, y=12, name='Tony', age=23

"**p"将输入的p变成字典

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值