python——作用域 == is
来源:互联网 发布:程序员面试笔试宝典 编辑:程序博客网 时间:2024/05/22 12:25
作⽤域
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
- python——作用域
- Python——作用域
- Python 中 变量的 is 和 == 符号的作用
- python == is
- Python学习笔记——is与==
- Python高级编程——2.is和==
- Python——作用域基础
- Python填坑记——作用域
- day10——Python作用域
- Python学习笔记——作用域
- Python学习笔记(七)—Python中is和==(is not和!=)的区别
- Python:== 和 is
- python is 和==
- python ==和is
- python参数—星号作用
- python 中的is / is not / == / !=
- python学习笔记——‘is’和‘==’的区别
- 模板类和异常
- Android Arcgis(14)、FeatureLayer之范围查询
- MySQL正则表达式
- jQuery中模拟物流查询,跨域访问
- 深入理解数组指针与指针数组的区别
- python——作用域 == is
- git-子模块submodule
- Network Saboteur
- Rancher如何对接Ceph-RBD块存储
- [Java]进制转换代码实例·初级
- Python学习笔记(5)——A Day at the Supermarket
- HDU-2120 Ice_cream's world I
- 《互联网信贷风险与大数据》读书笔记(五)
- win7桌面变成黑色,右下角提示此window副本不是正版解决方案