python运算符中is和==有什么区别
python运算符中is和==有什么区别?这篇文章运用了实例代码展示,代码非常详细,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。
一.前言在讲解is和==区别直接先讲解一下内置函数id(),其实在文章python可变数据类型和不可变数据类型中也对内置函数id()有过讲解,主要用于获取变量的内存地址!关于内存现在不做过多讲解,你可以把内存地址当作一串数字符号,内存地址就好比每个人都有一个身份证号码一样!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解忧
@Blog(个人博客地址): shuopython.com
@WeChat Official Account(微信公众号):猿说python
@Github:www.github.com
@File:python_is.py
@Time:2019/10/26:25
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
"""
a = 5
b = False
c = "hello"
print("a内存地址:{}".format(id(a)))
print("b内存地址:{}".format(id(b)))
print("c内存地址:{}".format(id(c)))
输出结果:
1
2
3
a内存地址:1784504608
b内存地址:1784012992
c内存地址:2126520897696
二.python运算符 ==如果两个变量的值相等,那么运算符 == 成立,返回True;反之返回False;示例代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
a = 3
b = 3
print(a==b)
# 整数与浮点数的比较
a = 3
b = 3.0
print(a==b)
a = 3
b = 2.9999
print(a==b)
# 字符串比较
a = "hello world"
b = "HELLO WORLD"
c = "hello "
d = "hello world"
print(a==b,a==c,b==c,a==d)
输出结果:
1
2
3
4
True
True
False
False False False True
三.python运算符 is1.两个变量的值相等;
2.变量地址也相同(可以通过内置函数id获取变量内存地址);
如果同时满足以上两个条件,运算符 is 才成立,返回True;反之,不满足其中任何一个条件都会返回False;示例代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
a = 333333
b = 333333.0
print(id(a))
print(id(b))
print(a is b)
print("***"*20)
a = 3
b = 3
print(id(a))
print(id(b))
print(a is b)
print("***"*20)
a = "hello world"
b = "HELLO WORLD"
c = "hello "
d = "hello world"
print(id(a))
print(id(b))
print(id(c))
print(id(d))
print(a is b,a is c,b is c,a is d)
输出结果:
1
2
3
4
5
6
7
8
9
10
11
12
13
2039213240016
2039234381168
False
************************************************************
1784504544
1784504544
True
************************************************************
2039217328240
2039217328176
2039217247376
2039217328240
False False False True
看完上述内容,你们对python运算符is和==的区别大概了解了吗?如果想了解更多相关文章内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。