python如何实现类似php的引用赋值
2018-07-23 05:41:46来源:博客园 阅读 ()
直接放代码,有注释,就不解析了
1 # ############################ 2 # 改变一个变量的值,与之有关系的变量的值也会相等变化 3 # 类似php的引用赋值,宏观来看 4 # ############################ 5 6 relation = [] # relation是装在有关系的集合的列表 7 8 9 # 绑定有关系的变量 10 def bind(*arg): 11 if len(arg) < 2: 12 ''' 13 判断绑定变量的个数 14 ''' 15 print("error: 至少绑定两个变量") 16 exit() 17 global relation 18 for i in arg: 19 ''' 20 检查绑定的变量是否存在 21 ''' 22 if i not in globals().keys(): 23 print("error: 变量%s不存在"%(i)) 24 exit() 25 26 # 进行装载 27 flag = set(arg) 28 if len(relation): 29 i = 0 30 while i < len(relation): 31 if len(relation[i] & flag): 32 relation[i] = relation[i] | flag 33 break 34 i += 1 35 if i == len(relation): 36 relation.append(flag) 37 else: 38 relation.append(flag) 39 40 # 参数中,其余的变量的值等于以第一个变量参数的值 41 index = 1 42 while index < len(arg): 43 globals()[arg[index]] = globals()[arg[0]] 44 index += 1 45 46 47 # 给变量赋值 48 def assign(var, value): 49 global relation 50 if len(relation): 51 i = 0 52 while i < len(relation): 53 if var in relation[i]: 54 for item in relation[i]: 55 globals()[item] = value 56 break 57 i += 1 58 if i == len(relation): 59 print('error: 赋值的变量尚未绑定') 60 exit() 61 else: 62 print("error: 当前不存在有关系的集合") 63 exit() 64 65 66 a = 'sky' 67 b = 'land' 68 bind('a', 'b') # 绑定有关系变量 69 print(relation) # 打印当前有关系集合的列表 [{'a', 'b'}] 70 print(a, b) # 输出变量a和b的值 sky sky 71 assign('a', 'sea') # 改变变量的值 72 print(a, b) # 输出变量a和b的值 sea sea
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash