温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python is 和 == 区别

发布时间:2020-07-30 04:45:10 来源:网络 阅读:379 作者:qq5d6f345f0205e 栏目:编程语言

在python中is和==都说常用的运算符之一,主要用于检测两个变量是否相等,返回True或者False,具体区别在哪呢?

一.前言

在讲解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运算符 is

1.两个变量的值相等;

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

 

 

猜你喜欢:

1.python可变数据类型和不可变数据类型

2.python全局变量和局部变量

3.python字符串/列表/元组/字典之间的相互转换

 

转载请注明:猿说Python » python is和==区别


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI