python is 和 == 區別

在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和==區別


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章