Tag:

Python类成员初始化

我刚刚在Python中遇到了一个bug。 这是那些愚蠢的新手bug之一,但它让我想到了Python的机制(我是一个很长时间的C ++程序员,是Python的新手)。 我将列出错误的代码,并解释我做了什么来解决它,然后我有几个问题… 场景:我有一个名为A的类,它有一个字典数据成员,下面是它的代码(这当然是简化): class A: dict1={} def add_stuff_to_1(self, k, v): self.dict1[k]=v def print_stuff(self): print(self.dict1) 使用此代码的类是B类: class B: def do_something_with_a1(self): a_instance = A() a_instance.print_stuff() a_instance.add_stuff_to_1('a', 1) a_instance.add_stuff_to_1('b', 2) a_instance.print_stuff() def do_something_with_a2(self): a_instance = A() a_instance.print_stuff() a_instance.add_stuff_to_1('c', 1) a_instance.add_stuff_to_1('d', 2) a_instance.print_stuff() def do_something_with_a3(self): a_instance = A() a_instance.print_stuff() a_instance.add_stuff_to_1('e', 1) a_instance.add_stuff_to_1('f', 2) a_instance.print_stuff() def __init__(self): self.do_something_with_a1() […]

用JavaScript添加类

我正在写一些香草JavaScript来创build一个不错的导航菜单。 我坚持添加一个活跃的类。 我通过类名获取元素不是由id。 下面的代码工作,如果用id代替,但是,我需要它适用于多个元素。 HTML <img class="navButton" id="topArrow" src="images/arrows/top.png" /> <img class="navButton" id="rightArrow" src="images/arrows/right.png" /> JS var button = document.getElementsByClassName("navButton"); button.onmouseover = function() { button.setAttribute("class", "active"); button.setAttribute("src", "images/arrows/top_o.png"); } 请不要包含jQuery的答案。

Python类@property:使用setter但是避开getter?

在python类中,@property是一个很好的装饰器,避免使用显式的setter和getter函数。 然而,它的开销是“古典”类function的2-5倍。 就我而言,在设置属性的情况下,这相当不错,与设置时需要完成的处理相比,开销不重要。 但是,在取得物业时我不需要处理。 它总是只是“返回self.property”。 有没有一个优雅的方式来使用setter,但不使用getter,而不需要使用不同的内部variables? 为了说明,下面的类具有属性“var”,它指的是内部variables“_var”。 调用“var”比“_var”需要更长的时间,但如果开发人员和用户都可以使用“var”而不必跟踪“_var”,那将会很好。 class MyClass(object): def __init__(self): self._var = None # the property "var". First the getter, then the setter @property def var(self): return self._var @var.setter def var(self, newValue): self._var = newValue #… and a lot of other stuff here # Use "var" a lot! How to avoid the overhead […]

我怎样才能通过__dict__在Python中分配一个新的类属性?

我想通过一个string对象分配一个类属性 – 但是怎么样? 例: class test(object): pass a = test() test.value = 5 a.value # -> 5 test.__dict__['value'] # -> 5 # BUT: attr_name = 'next_value' test.__dict__[attr_name] = 10 # -> 'dictproxy' object does not support item assignment

类名称中的“助手”一词是否有代码味道?

我们似乎是从网页中抽象出许多逻辑方式,并创build“帮手”类。 可悲的是,这些class级听起来都是一样的,例如 ADHelper,(Active Directory)AuthenicationHelper,SharePointHelper 这个命名约定其他人有大量的类吗?

何时使用VBA中的类?

什么时候适合在Visual Basic for Applications(VBA)中使用类? 我假设加速开发和减less引入错误是大多数支持OOP的语言的一个共同的好处。 但是用VBA,有没有特定的标准?

C#中的列表中的多个参数。 如何创build没有类?

这可能是一个非常明显的问题,但我将如何创build一个具有多个参数的List而不创build类。 例: var list = new List<string, int>(); list.Add("hello", 1); 我通常会使用类如下: public class MyClass { public String myString {get; set;} public Int32 myInt32 {get; set;} } 然后创build我的列表, var list = new List<MyClass>(); list.Add(new MyClass { myString = "hello", myInt32 = 1 });

什么exception子类内置到PHP中?

我还没有findPHP中所有内置的Exception子类的列表。 在创build我自己的exception子类之前,我宁愿使用内build的。 例如,我知道InvalidArgumentException存在,但似乎没有什么比较Java的NullPointerException。 有没有人有或可以链接到PHP中可用的exception子类的列表?

目标C:给定一个类ID,我可以检查这个类是否实现了某个协议? 或者有一个确定的select器?

我想用这个对象工厂:给定一个string,创build一个类,如果这个类支持一个协议(与一个Create()方法)然后分配类,并调用创build。

在Java中,我们可以将一个类分成多个文件

任何使用Java将类分成多个物理文件的可能性?