小编Mat*_*oth的帖子

python - 指定具有多个基数的类型(输入 AND 运算符)

我理解(如这个问题文档中所解释的)X or 的类型提示Y可以表示为:

Union[X,Y]
Run Code Online (Sandbox Code Playgroud)

但是如何表达X and Y的类型提示呢?当表达相关对象必须是 和 的子类时,这将很有XY

只要所有继承这两者XY事先已知的类,以下示例就可以工作:

class X: pass
class Y: pass
class A(X,Y): pass
class B(X,Y): pass

def some_function(arg: Union[A,B]): 
    pass
    # do stuff with arg that only depends on inherited members from X and Y
Run Code Online (Sandbox Code Playgroud)

但是如果另一个依赖于上面代码的包定义了:

class C(X,Y): pass
Run Code Online (Sandbox Code Playgroud)

Csome_function也将按设计工作。我正在寻找更好的类型提示来使用,而不是Union[X,Y]包含任何可能的子类XY

我理解解决方法可能是定义:

class XY(X,Y): pass
Run Code Online (Sandbox Code Playgroud)

然后将其用作基类和类型提示:

class A(XY): pass
class B(XY): …
Run Code Online (Sandbox Code Playgroud)

python python-typing

11
推荐指数
1
解决办法
2912
查看次数

在applescript中,什么是“应用程序过程”?

我从其他问题中了解到应用程序和流程之间的区别。但我希望我能对这段代码中发生的事情得到一些澄清。

(application processes whose visible is true)
Run Code Online (Sandbox Code Playgroud)

“应用程序进程”是指由应用程序启动的所有进程吗?这是否意味着有些进程不是由应用程序启动的?或者我可以将其切换到“进程”并取出“应用程序”吗?

syntax applescript

2
推荐指数
1
解决办法
1366
查看次数

找不到符号listModel.addElement

我正在尝试创建我的第一个列表,并且我遇到了错误.

这是我用于列表模型的模板:

    private ListModel getListModel() {

    String[] arrayOfStrings = new String[3];
    arrayOfStrings[0] = "one";
    arrayOfStrings[1] = "two";
    arrayOfStrings[2] = "three";

    ListModel listModel = new DefaultListModel();

    for (int i=0;i<arrayOfStrings.length;i++) {
        listModel.addElement(arrayOfStrings[i]);            
    }   
}    
Run Code Online (Sandbox Code Playgroud)

错误:

error: cannot find symbol
            listModel.addElement(arrayOfStrings[i]);            

symbol:   method addElement(String)

  location: variable listModel of type ListModel
Run Code Online (Sandbox Code Playgroud)

我仍然是使用接口和列表的新手.我下载了一个用于制作列表的示例代码,它们的代码非常相似.我错过了什么?我导入了示例代码导入的每一件事.

java swing interface jlist

1
推荐指数
2
解决办法
774
查看次数

标签 统计

applescript ×1

interface ×1

java ×1

jlist ×1

python ×1

python-typing ×1

swing ×1

syntax ×1