python日常学习

本文围绕Python展开,介绍了字典这一唯一具有映射关系的类型,解析了range函数用法,说明了浮点数计算不精确的问题,还讲解了isinstance、issubclass函数,Python的四种命名方式,变量引用、浅拷贝和深拷贝,字典键值要求,脚本参数获取,以及协程的特点。

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

1、python中才在的唯一一个具有映射关系的类型为字典(dict):因为映射值一种关联式的映射关系,它存储了对象与对象之间的关系,而字典正好符合这一特征,字典存储了键和值的映射关系。
2、range函数的用法解析。
range(start,end[,step])
参数:
start:从start开始,如果没有的话,默认是从0开始。
end:到end结束,但是不包括end
step:是每次进行前进或者后退的步长大小,负数的话表示递减,正数的话表示递增。
这个函数具有明显的左闭后开的特征。
3、在python中经常看到print 1.2-1.0 = 0.2,打印出来是false,那是因为在python中浮点数的计算是不会精确倒某一位的,也就是浮点数的计算时小数点后一直循环的。
4、isinstance(object,classinfo):
object:表示实例对象
classinnfo:表示直接或者间接的类型,基本类型或者由他们组成的元组。
如果对象(object)的类型和参数2的类型相同,则返回true,否则返回false。
5、issubclass(class,classinfo):
表示第一个类是否是第二个类的子类。

6、python中主要存在的四种命名方式:
(1)object:公有方法

(2)_object 半保护,被看作是“protect”,意思是只有类对象和子类对象自己能访问到这些变量, 在模块或类外不可以使用,不能用’from module import ’导入。
(3)、__object:全私有,全保护 私有成员“private”,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据,不能用’from module import ’导入。
(4)、object :内建方法,用户一般不会这样定义

7、变量a、b:
(1)a = b 表示变量的引用,也就是说变量a是变量b的引用,所以b发生变化的话,a同样会发生变化。
(2)a = copy.copy(b) 表示a只是b的浅拷贝,只是拷贝了b(也就是父对象b),但是如果b含有子对象,却不会对子对象进行拷贝,也就是说还是和子对象公用一块内存,如果父对象改变,则a不会改变,但是如果b中的子对象发生改变后,a中的子对象就会跟着发生变化。
(3)a = copy.deepcopy(b) 表示深拷贝,也就是说a 和 b是完全不同的两块内存,b发生变化,a不会发生变化。
8、字典中的键值应该是不变的,所以不能使用用列表,因为列表是可以变化的。
9、python my.py v1 v2 命令运行脚本,通过 from sys import argv如何获得v2的参数值:argv[0]表示脚本的自身路径,而参数是从1开始存储的。
10、协程是一种用户态的轻量级的线程,协程的调度完全由用户决定,协程拥有自己的寄存器上下文和栈,在进行调度切换的时候,将寄存器上下文和栈寄存到别的地方,这样在切回来的时候,直接将之前保存的寄存器上下文和栈恢复就可以了,所以基本没有内核切换的开销,可以不加锁的访问全局变量,所以上下文的切换非常的快。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值