标签: keyword

将字典作为关键字参数传递给python中的函数

我想使用字典在python中调用一个函数.

这是一些代码:

d = dict(param='test')

def f(param):
    print(param)

f(d)
Run Code Online (Sandbox Code Playgroud)

这打印{'param': 'test'}但我想它只是打印test.

我希望它能以更多参数的方式工作:

d = dict(p1=1, p2=2)
def f2(p1, p2):
    print(p1, p2)
f2(d)
Run Code Online (Sandbox Code Playgroud)

这可能吗?

python parameters dictionary function keyword

318
推荐指数
4
解决办法
20万
查看次数

什么是"continue"关键字以及它如何在Java中运行?

我第一次看到这个关键字,我想知道是否有人可以向我解释它的作用.

  • 什么是continue关键字?
  • 它是如何工作的?
  • 什么时候使用?

java continue keyword

296
推荐指数
6
解决办法
48万
查看次数

理解Scala中的隐式

我正在通过Scala playframework教程,我遇到了这段令我困惑的代码片段:

def newTask = Action { implicit request =>
taskForm.bindFromRequest.fold(
        errors => BadRequest(views.html.index(Task.all(), errors)),
        label => {
          Task.create(label)
          Redirect(routes.Application.tasks())
        } 
  )
}
Run Code Online (Sandbox Code Playgroud)

所以我决定调查并发现这篇文章.

我还是不明白.

这有什么区别:

implicit def double2Int(d : Double) : Int = d.toInt
Run Code Online (Sandbox Code Playgroud)

def double2IntNonImplicit(d : Double) : Int = d.toInt
Run Code Online (Sandbox Code Playgroud)

除了明显的事实,他们有不同的方法名称.

implicit什么时候应该使用?为什么?

syntax scala keyword playframework

293
推荐指数
5
解决办法
11万
查看次数

正常参数与关键字参数

"关键字参数"与常规参数有何不同?不能传递所有参数name=value而不是使用位置语法?

python arguments keyword optional-parameters named-parameters

271
推荐指数
8
解决办法
23万
查看次数

C#:'is'关键字并检查Not

这是一个愚蠢的问题,但您可以使用此代码来检查某些内容是否属于特定类型...

if (child is IContainer) { //....
Run Code Online (Sandbox Code Playgroud)

是否有更优雅的方法来检查"NOT"实例?

if (!(child is IContainer)) { //A little ugly... silly, yes I know...

//these don't work :)
if (child !is IContainer) {
if (child isnt IContainer) { 
if (child aint IContainer) { 
if (child isnotafreaking IContainer) { 
Run Code Online (Sandbox Code Playgroud)

是的,是的......愚蠢的问题....

因为对代码的外观存在一些疑问,所以它只是在方法开始时的简单返回.

public void Update(DocumentPart part) {
    part.Update();
    if (!(DocumentPart is IContainer)) { return; }
    foreach(DocumentPart child in ((IContainer)part).Children) {
       //...etc...
Run Code Online (Sandbox Code Playgroud)

c# casting keyword

263
推荐指数
7
解决办法
8万
查看次数

我什么时候应该在C++中使用new关键字?

我一直在使用C++,我一直在想新的关键字.简单地说,我应该使用它吗?

1)使用关键字...

MyClass* myClass = new MyClass();
myClass->MyField = "Hello world!";
Run Code Online (Sandbox Code Playgroud)

2)没有新的关键字......

MyClass myClass;
myClass.MyField = "Hello world!";
Run Code Online (Sandbox Code Playgroud)

从实现的角度来看,它们看起来并没有什么不同(但我确定它们是......)但是,我的主要语言是C#,当然第一种方法就是我习惯的方法.

困难似乎是方法1更难用于std C++类.

我应该使用哪种方法?

更新1:

我最近使用new关键字作为内存(或免费存储)用于超出范围的大型数组(即从函数返回).在我使用堆栈之前,导致一半的元素在范围之外被破坏,切换到堆使用确保元素是完整的.好极了!

更新2:

我的一位朋友最近告诉我,使用new关键字有一个简单的规则; 每次打字new,输入delete.

Foobar *foobar = new Foobar();
delete foobar; // TODO: Move this to the right place.
Run Code Online (Sandbox Code Playgroud)

这有助于防止内存泄漏,因为您总是必须将删除放在某处(即,当您将其剪切并粘贴到析构函数或其他方式时).

c++ pointers reference keyword new-operator

261
推荐指数
6
解决办法
12万
查看次数

C中的"注册"关键字?

什么是register关键字在C语言吗?我已经读过它用于优化,但在任何标准中都没有明确定义.它是否仍然相关,如果是,你什么时候使用它?

c memory keyword

255
推荐指数
10
解决办法
11万
查看次数

Java中C#'var'关键字的等价物是什么?

在C#中使用var关键字是隐式类型声明.var的Java等价语法是什么?

java var keyword

254
推荐指数
10
解决办法
11万
查看次数

Java中是否有goto语句?

我对此感到困惑.我们大多数人都被告知Java中没有任何goto语句.

但我发现它是Java中的关键词之一.哪里可以使用?如果它不能使用,那么为什么它作为关键字包含在Java中呢?

java syntax goto keyword

252
推荐指数
13
解决办法
38万
查看次数

如何在Python中使用"raise"关键字

我已经阅读了"加注"的官方定义,但我仍然不太明白它的作用.

简单来说,什么是"提高"?

示例用法会有所帮助.

python raise keyword

245
推荐指数
6
解决办法
31万
查看次数