zoukankan      html  css  js  c++  java
  • python里面的==,is的区别

    python中对象的三个要素:id(身份标示),type(数据类型)、value(值)

    ==  比较操作符:用来比较两个对象是否相等。 
    is  同一性运算符:比较两个对象的id值是否相等,即是否是同一对象,是否指向同一个内存地址

    补充:当两个对象值相同时,只有其为数值型或字符串型,a is b才为True,当a和b是tuple,list,dict或set型时,a is b为False

    变数据类型:列表list和字典dict;可变数据类型,允许变量的值发生变化,即如果对变量进行append、+=等这种操作后,只是改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象。

    不可变数据类型:整型int、浮点型float、字符串型string和元组tuple。不可变数据类型,不允许变量的值发生变化,如果改变了变量的值,相当于是新建了一个对象,而对于相同的值的对象,在内存中则只有一个对象,内部会有一个引用计数来记录有多少个变量引用这个对象

    二、python里面set

    Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种。

    创建集合set、集合set添加、集合删除、交集、并集、差集的操作都是非常实用的方法。

    set 是一个无序的元素集合,支持并、交、差及对称差等数学运算, 但由于 set 不记录元素位置,因此不支持索引、分片等类序列的操作。

    tuple算是list和str的杂合(杂交的都有自己的优势,上一节的末后已经显示了),那么set则可以堪称是list和dict的杂合.

    set拥有类似dict的特点:可以用{}花括号来定义;其中的元素没有序列,也就是是非序列类型的数据;而且,set中的元素不可重复,这就类似dict的键.

    set也有一点list的特点:有一种集合可以原处修改.

  • 相关阅读:
    python socket练习
    python异常处理
    python类的反射
    类的特殊成员方法
    staticmethod classmethod property方法
    类的多态
    类的析构、继承
    python subprocess模块
    python面向对象
    discuz 使模板中的函数不解析 正常使用
  • 原文地址:https://www.cnblogs.com/1314520xh/p/12839468.html
Copyright © 2011-2022 走看看