求教vba怎么往字典里加自定义类的对象

求教vba怎么往字典里加自定义类的对象,第1张

字典可以保留对象,自定义类也可以,下面的语句保留WorkSheet、Range的例子:

Dim d as Object, w as WorkSheet, r as Range

Set d=CreateObject("Scripting.Dictionary")

set w=ActiveSheet

set r=Range("a1")

d.Add 'sheet', w

d.add 'range', r

1新建一个空白工作簿,在工作表界面按下组合快捷键Alt+F11或者右键单击任意一个工作表标签,在d出的右键快捷菜单单击“查看代码”进入VBA编辑环境,如下图所示:

2在“代码窗口“中复制粘贴以下代码:

Sub Dic()

'定义字典对象变量

Dim oDic As Object

'创建字典对象

Set oDic = CreateObject("Scripting.Dictionary")

Dim arrKey

Dim arrItem

With oDic

'添加键和项目(key,item),其中键不能重复

.Add 1, "a"

.Add 2, "b"

'判断是否存在某个键

MsgBox .Exists(2)

'把键2的项目修改为"d"

.Item(2) = "d"

'返回键的数组

arrKey = .keys

'返回项目的数组

arrItem = .items

'清空字典

.RemoveAll

End With

'释放字典对象,清空内存

Set oDic = Nothing

End Sub

3以上代码是在VBA中使用字典对象的通用代码,任何具体的案例都可以在这个代码的基础上进行修改,建议收藏保存,避免每次使用字典对象时需要重复输入以上代码。具体的字典对象的所有属性、方法可以参考MSDN中的在线帮助。

1、创建字典

dict={'d':1,'b':2,'c':3}

2、添加内容a

>>>dict['a']=500

>>>a

{'d':1,'b':2,'c':3,'a':500}‘

python的设计哲学是“优雅”、“明确”、“简单”。因此,Perl语言中“总是有多种方法来做同一件事”的理念在Python开发者中通常是难以忍受的。

Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确的没有或者很少有歧义的语法。

由于这种设计观念的差异,Python源代码通常被认为比Perl具备更好的可读性,并且能够支撑大规模的软件开发。这些准则被称为Python格言。在Python解释器内运行import this可以获得完整的列表。

扩展资料:

PYTHON的特点

Python开发人员尽量避开不成熟或者不重要的优化。一些针对非重要部位的加快运行速度的补丁通常不会被合并到Python内。

所以很多人认为Python很慢。不过,根据二八定律,大多数程序对速度要求不高。在某些对运行速度要求很高的情况,Python设计师倾向于使用JIT技术,或者用使用C/C++语言改写这部分程序。可用的JIT技术是PyPy。

Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。

Python支持重载运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。

虽然Python可能被粗略地分类为“脚本语言”(script language),但实际上一些大规模软件开发计划例如Zope、Mnet及BitTorrent,Google也广泛地使用它。

Python的支持者较喜欢称它为一种高级动态编程语言,原因是“脚本语言”泛指仅作简单程序设计任务的语言,如shellscript、VBScript等只能处理简单任务的编程语言,并不能与Python相提并论。

Python本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C++、Cython来编写扩充模块。Python编译器本身也可以被集成到其它需要脚本语言的程序内。

因此,很多人还把Python作为一种“胶水语言”(glue language)使用。使用Python将其他语言编写的程序进行集成和封装。在Google内部的很多项目,例如Google Engine使用C++编写性能要求极高的部分,然后用Python或Java/Go调用相应的模块。

《Python技术手册》的作者马特利(Alex Martelli)说:“这很难讲,不过,2004 年,Python 已在Google 内部使用,Google 召募许多 Python 高手,但在这之前就已决定使用Python,他们的目的是 Python where we can, C++ where we must,在 *** 控硬件的场合使用 C++,在快速开发时候使用 Python。”

参考资料:python-语言参考


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11946819.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存