美文网首页Python入门到精通
Python基础004--赋值、is和==的区别

Python基础004--赋值、is和==的区别

作者: 不一样的丶我们 | 来源:发表于2018-02-25 08:31 被阅读0次

变量赋值、多元赋值,is和==的区别

  • 变量赋值
    • 命名规则:变量名的第一个在字符不能是数字、变量名只能是数字,字母下划线的组合
    • 变量赋值只能是=号,不能是==号;双等号是比较左右两边数据指向的地址是否一样的
  • 变量赋值的解释
    • a=10 / 首先我们现在内存中创建一个值,然后再创建一个标记a,然后再用这个标记a指向这个值
a = 10 
b = a
a = 20 
# 当a=20的时候在内存中又创建了一个值,然后标记a指向新的值,标记b指向原来a指向的值10
  • python中的垃圾回收机制
    • python中内存引用的基石是引用计数的,当一个对象的引用被反复创建或者复制时,对象的引用计数加1;当一个对象的应用被销毁时,对象的引用计数被减1,如果对象的引用计数被减为0,将对象所占用的内存释放;
  • 多元赋值
    • 多元赋值中 = 两边的对象都是元组并且元组的小括号是可选的
# 通常的格式是
x,y,z = 1,2,"a string"  # 等价于(x,y,z) = (1,2,"a string")

x,y = y,x

# 与断言assert结合
(x,y) = (1,2)
assert x==1
assert y==2
  • is和==号的区别
    • is是判断两者是否指向同一块内存空间 # 返回值是True/False
    • ==是判断两者指向的空间里面的内容是否是一致的
    • 可以用id来查看变量指定的内存空间
  • 总结结果
    • 只要各对象的值是一样的,则x==y的值一定是True
    • 如果对象的类型为整数或字符串且值一样,则x==y和x is y的值都是True
    • 在浮点数中各对象的值一样,x==y的值为True;但是两者指向不同的内存空间,x is y的值为False
    • 在list、tuple、dict、set中两者的值一样x==y的值为True,但两者指向不同的空间,x is y的值为False
    • x == y 与 x != y的值相反、 x is y 与 x is not y的值相反

相关文章

  • Python基础004--赋值、is和==的区别

    变量赋值、多元赋值,is和==的区别 变量赋值命名规则:变量名的第一个在字符不能是数字、变量名只能是数字,字母下划...

  • python的进修之路

    python基础篇(一)【变量,赋值,输入,输出和导入,运算符,数据类型,文件基本操作】 python基础篇(二)...

  • 有备无患

    基础问题 = 和 == 和 === 的区别?= : 用于赋值== : 用于判断=== : 用于判断,必须类型和值同...

  • HTML5面试题总结

    1.基础问题 1. = 和 == 和 === 的区别? = : 用于赋值== : 用于判断=== : 用于判断,必...

  • 2组语法,1个函数,教你用Python做数据分析

    1.必须知道的两组Python基础术语 A.变量和赋值 Python可以直接定义变量名字并进行赋值的,例如我们写出...

  • python基础

    主要介绍python的基础语法及编程风格。 1. 语句和语法 基本规则和特殊字符 2. 变量赋值 赋值操作符:= ...

  • 面试总结

    HTML5面试题总结1.基础问题 = 和 == 和 === 的区别?= : 用于赋值 == : 用于判断 === ...

  • Python底层|赋值 浅拷贝 深拷贝

    参考 python中的深拷贝和浅拷贝问题python的复制,深拷贝和浅拷贝的区别 结论 总体来说,赋值只是增加了一...

  • Python对象的引用,深拷贝和浅拷贝

    前言 在Python中,Python对象的赋值,深浅拷贝之间是有差异的,今天就来总结一下三者之间的区别. 对象赋值...

  • 无标题文章

    Python基础 在 Python 中,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建 等号(=)用来给...

网友评论

    本文标题:Python基础004--赋值、is和==的区别

    本文链接:https://www.haomeiwen.com/subject/usakxftx.html