python——作用域 == is
作?域
test.py???
| num??? =??? 200 def??? print_num(): print("----print_num??? func,??? num=%d----"%num) |
main.py???
| from??? test??? import??? * num??? =??? 100 def??? print_num2(): ????????????????print("----print_num2??? func,??? num=%d----"%num) print_num()#調(diào)?test命名空間中的print_num函數(shù),它會(huì)使?test命名空間中的全局變量 print_num2()#調(diào)?當(dāng)前命名空間中print_num2函數(shù),它會(huì)使?當(dāng)前命名空間中的全局變量 |
運(yùn)?python3??? main.py???結(jié)果如下:
----print_num??? func,???num=200----
----print_num2??? func,???num=100----
作?域
globals、locals
globals函數(shù)能夠查詢(xún)?nèi)肿兞?#xff0c;返回一個(gè)字典數(shù)據(jù)。
locals函數(shù)能夠查詢(xún)局部變量,返回一個(gè)字典數(shù)據(jù)。
| ? | ? |
| ? | ? |
==、is
| >>>??? a??? =??? 1000 >>>??? b??? =??? 1000 >>>??? a??? ==??? b True >>>??? a??? is??? b False |
?
總結(jié):is是?較兩個(gè)引?是否指向了同?個(gè)對(duì)象(引??較)。
????????????? ==??? 是?較兩個(gè)對(duì)象的值是否相等。
?
?
?
?
?
| ? | ? |
| ? | 對(duì)象值?較(==)的定義 |
class???Person(object):???????????????
?def??? __init__(self,??? name):
self.name??? =???name
?
| p1??? =??? Person("王胖胖") p2??? =??? Person("王胖胖") print("p1??? ==??? p2:??? %s"??? %??? (p1??? ==??? p2))??????? #??? False print("p1??? is??? p2:??? %s"??? %??? (p1??? is??? p2))??????? #??? False #??? 定義__eq__?法,重新實(shí)現(xiàn)==?較?法 class??? NewPerson(object):??????????????? ?def??? __init__(self,??? name): ???????????????????????????????? self.name??? =??? name def??? __eq__(self,??? person_obj): ??????????"""執(zhí)?==時(shí)調(diào)?的?法""" return??? self.name??? ==??? person_obj.name np1??? =??? NewPerson("王胖胖") np2??? =??? NewPerson("王胖胖") print("np1??? ==??? np2:??? %s"??? %??? (np1??? ==??? np2))??????? #??? True print("np1??? is??? np2:??? %s"??? %??? (np1??? is??? np2))??????? #??? False |
總結(jié)
以上是生活随笔為你收集整理的python——作用域 == is的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Linux 文件基本属性以及操作技巧
- 下一篇: python中的互斥锁