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()#調?test命名空間中的print_num函數,它會使?test命名空間中的全局變量 print_num2()#調?當前命名空間中print_num2函數,它會使?當前命名空間中的全局變量 |
運?python3??? main.py???結果如下:
----print_num??? func,???num=200----
----print_num2??? func,???num=100----
作?域
globals、locals
globals函數能夠查詢全局變量,返回一個字典數據。
locals函數能夠查詢局部變量,返回一個字典數據。
| ? | ? |
| ? | ? |
==、is
| >>>??? a??? =??? 1000 >>>??? b??? =??? 1000 >>>??? a??? ==??? b True >>>??? a??? is??? b False |
?
總結:is是?較兩個引?是否指向了同?個對象(引??較)。
????????????? ==??? 是?較兩個對象的值是否相等。
?
?
?
?
?
| ? | ? |
| ? | 對象值?較(==)的定義 |
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__?法,重新實現==?較?法 class??? NewPerson(object):??????????????? ?def??? __init__(self,??? name): ???????????????????????????????? self.name??? =??? name def??? __eq__(self,??? person_obj): ??????????"""執?==時調?的?法""" 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 |
總結
以上是生活随笔為你收集整理的python——作用域 == is的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 文件基本属性以及操作技巧
- 下一篇: python中的互斥锁