python学习笔记

本文深入解析Python中dict、list、set、tuple等数据结构的特性与使用技巧,如dict的key为何只能是不可变对象,如何创建set,以及tuple定义的特殊规则。同时,介绍了Python的动态类型特性,迭代器的概念,以及如何进行绝对值和平方根运算。

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

1、dict的key必须是不可变对象。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key,而list是可变的,就不能作为key。

2、list是有序的,指的是存在位置和显示位置是对应的,set是无序的。

3、要创建一个set,需要提供一个list作为输入集合:

s=set([1,2,3])

4、set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。

5、对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。

a='abc'
a.replace('a','A')
a

第二行和第三行分别输出:

'Abc'
'abc'

6、只有1个元素的tuple定义时必须加一个逗号。

t=(1,)
t

第二行输出:

(1,)

若定义时不加逗号:

t=(1)
t

第二行输出:

1

7、python中函数可以同时返回多个值,但其实就是一个tuple。

8、迭代器

(1)可以直接作用于for循环的对象统称为可迭代对象:Iterable。可以使用isinstance()判断一个对象是否是Iterable对象。(2)可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator。可以使用isinstance()判断一个对象是否是Iterator对象。

9、在python中计算绝对值,直接调用abs(),但计算平方根,需要math.sqrt()。

10、变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言,Python是动态语言。

11、Python对bytes类型的数据用带b前缀的单引号或双引号表示:

x=b'ABC'

要注意区分'ABC'b'ABC',前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用一个字节。

12、Python做“三元”表达式的一个例子:

i=5 if a>7 else 0

等价为:

if a>7:
   i=5
else:
   i=0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值