Python(二)各种知识点

99 阅读1分钟

可变和不可变类型:

可变数据类型:list(列表)、dict(字典)、set(集合,不常用) 不可变数据类型:数值类型(int、float、bool)、string(字符串)、tuple(元组)

局部和全局变量:

全局变量:所有函数之外定义的变量 局部变量:函数内部定义的变量 或者代码块里的变量

is 和 == 区别:

is: 比较的是两个对象的id值是否相等,也就是比较俩对象是否为同一个实例对象,是否指向同一个内存地址。 ==: 比较的是两个对象的内容是否相等,默认会调用对象的__eq__()方法。

Python星号(*)和双星号(**)的用法

*:该位置接受任意多个非关键字(non-keyword)参数,在函数中将其转化为元组(1,2,3,4) **: 该位置接受任意多个关键字(keyword)参数,在函数位置上转化为词典 [key:value, key:value]

classmethod和staticmethod的区别:

声明时:

classmethod的第一个参数为类本身(cls),正如实例方法的第一个参数为对象本身(self); staticmethod第一个参数不需要传入cls或self,故staticmethod中是无法访问类和对象的数据的。

调用时:

都可用类名直接调用。 也可用实例对象调用(不推荐,没必要)