标签: default-value

Python 运行时错误(SyntaxErrorException):必须在此处指定默认值

我有以下代码

class PV_gen(object):

def __init__(self,_name,surfacename_,performance_type = "PhotovoltaicPerformance:Simple",performance_name,_integrationmode,No_parallel,No_series):

    self.name = _name
    self.surfacename = surfacename_
    self.performancetype = performance_type
    self.performancename =  performance_name
    self.integrationmode = _integrationmode
    self.NOparallel = No_parallel
    self.NOseries = No_series

    self.PV_performance()

def PV_performance(self,_namenamePVperform = "test",SA_solarcells = 0.5 ,cell_efficiencyinputmode = "Fixed",cell_n = 0.12, schedule_ = "always on"):

    self.name = _namenamePVperform
    self.surfaceareacells = SA_solarcells
    self.cellefficiencyinputmode = cell_efficiencyinputmode
    self.efficiency = cell_n
    self.schedule = schedule_
Run Code Online (Sandbox Code Playgroud)

每当我尝试在init 中指定默认值时,我都会收到类似这样的运行时错误

运行时错误(SyntaxErrorException):此处必须指定默认值 File "", line 5 def init (self, name,surfacename ,performance_type = "PhotovoltaicPerformance:Simple",performance_name,_integrationmode,No_parallel,No_series):

语法错误:必须在此处指定默认值

我只是无法弄清楚这里出了什么问题我想指定 performance_type 具有字符串“PhotovoltaicPerformance:Simple”的默认值。有人可以给我一些指点吗?

python syntax-error default-value

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

带有默认键的 Python 字典

我正在运行 Python 2.7.10。

我想让字典返回存储在特定键中的值,以防丢失项目。例如,这样的事情:

myD = dict(...)
return myD[key] if key in myD else myD[defaultKey]
Run Code Online (Sandbox Code Playgroud)

只是为了确保清楚,我想调用myD[key]并返回正确的值,而不需要if...else在我的代码中添加额外的值...

这不完全是什么defaultdict(因为它需要一个函数作为默认调用),也不完全是什么dict.setdefault()myD.get(key, ???)似乎也没有帮助。我可能应该继承dictordefaultdict和重载__init__()missing()方法,但我想不出一个好的方法来做到这一点。

python dictionary default default-value python-2.7

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

C# 如何确定对象中包装的值是 null 还是默认值?

我目前正在编写自定义所需的验证属性,并且我想在值为 null 或默认值时恢复错误。对于默认值,我的意思是“”代表字符串,0代表整数,0.0代表双精度,空代表对象。

为了实现这一目标,我调用以下函数,该函数适用于任何类型

    protected bool IsNullOrDefault<T>(T value)
    {
        return object.Equals(value, default(T));
    }
Run Code Online (Sandbox Code Playgroud)

以下是测试:

    object obj = null;
    bool flag = IsNullOrDefault(obj));
Run Code Online (Sandbox Code Playgroud)

标志=真

    int i = 0;
    bool flag = IsNullOrDefault(i);
Run Code Online (Sandbox Code Playgroud)

标志=真

    double d = 0.0;
    Console.WriteLine(IsNullOrDefault(d));
Run Code Online (Sandbox Code Playgroud)

标志=真

    object value = 0;
    Console.WriteLine(IsNullOrDefault(value));
Run Code Online (Sandbox Code Playgroud)

标志=假

这里对象内部又包含了int,但它仍然认为它是一个对象,其默认值为null,当前值为0。所以它返回False

问题是,我要重写的框架方法为我提供了对象值,因此它将始终与上面提到的最后一个场景相匹配。

    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    { ....
    }
Run Code Online (Sandbox Code Playgroud)

根据值,我们如何将对象转换为实际类型(在本例中为int )?因此,即使对于上面的最后一个场景,我也会收到True 。

c# null object default-value validationattribute

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

如何为maven pom中缺少的环境变量设置默认值

是否可以让 Maven 为缺少的环境变量提供默认值?如果是这样,怎么办?


语境:

我有带有环境变量占位符的属性文件,如下所示:my.property=${env:ENVIRONMENT_PROPERTY}

mvn ... -DENVIRONMENT_PROPERTY=some_value如果在操作系统中设置了环境变量,则运行 maven (编辑:不是这样)会使其解析具有给定值的属性占位符。但如果环境变量不存在,则该值为空。

问题:

我希望环境变量有一个默认值。如果环境变量不存在,则应为其指定一个默认值,该值将在 pom 或某些属性文件或其他文件中指定。

重要的:

属性占位符必须指向环境变量。

setter environment-variables default-value maven

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

更改现有表的列名称

我在 MATLAB 中有下表:

A= 

    86   84
    45   65
     2   42
    44   29
Run Code Online (Sandbox Code Playgroud)

MATLAB 自动为此表返回两列的列名称A1A2,其中A是表的集合名称。

如何手动更改每列的名称?

matlab rename default-value variable-names matlab-table

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

在 Thymeleaf 日期输入中设置 th:value?

我使用 Thymeleaf,我想在用户编辑之前向用户显示现有的日期值,而且如果他们不想编辑它,也可以保持原样。我一直在尝试设置日期输入值,但它不起作用。

我尝试过的:

艺术家:

private Date dateDebut;
Run Code Online (Sandbox Code Playgroud)

控制器:

String dateDebut = Artist.getDateDebut().toString();
model.addAttribute("dateDebut", dateDebut);
Run Code Online (Sandbox Code Playgroud)

看法:

<input type="date" class="form-control" name="dateDebut" th:value="${dateDebut}" />
Run Code Online (Sandbox Code Playgroud)

然而这不起作用。它仍然向我显示这样的日期输入: https: //i.stack.imgur.com/MdZIw.png,而不是我试图显示的设置值。

我尝试过使用 Bootstrap datepicker 但它也不起作用。请问有什么建议吗?

html datepicker default-value thymeleaf

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

Julia:为什么在函数中指定参数类型会导致(看似)不一致的行为?

我有一个函数,它接受 7 个(关键字)参数,每个参数都指定了其类型,最后一个具有默认值,如下所示:

function dummy(;truefalse1::S, somevar1::T, somevar2::T, somevar3::T, somevar4::T, 
                     scalarvar::Int64, truefalse2::D = falses(3, 3)) where {
    T <: Union{Array{Float64,2}, SubArray{Float64, 2}},
    S <: AbstractArray{Bool}, D <: AbstractArray{Bool}}

    ### 

end
Run Code Online (Sandbox Code Playgroud)

所述truefalse*参数可以是2维布尔阵列(BitArray {2})或它的视图(例如view(somearray, 2:4, 3:5))。所述somevar*参数可以是类型Float64或“的2维阵列view”的这样的阵列。

以上工作,但这个看似等效的版本不(见下面的测试输入):

function dummy(;truefalse1::S, somevar1::T, somevar2::T, somevar3::T, somevar4::T, 
                     scalarvar::Int64, truefalse2::S = falses(3, 3)) where {
    T <: Union{Array{Float64,2}, SubArray{Float64, 2}},
    S <: AbstractArray{Bool}}

    ### 

end
Run Code Online (Sandbox Code Playgroud)

(换句话说,该D类型已被删除,在S两次出现时都使用该类型。)

错误信息如下:

ERROR: MethodError: no method matching #dummy#823(::SubArray{Bool,2,BitArray{2},Tuple{UnitRange{Int64},UnitRange{Int64}},false}, ::SubArray{Float64,2,Array{Float64,2},Tuple{UnitRange{Int64},UnitRange{Int64}},false}, ::SubArray{Float64,2,Array{Float64,2},Tuple{UnitRange{Int64},UnitRange{Int64}},false}, ::SubArray{Float64,2,Array{Float64,2},Tuple{UnitRange{Int64},UnitRange{Int64}},false}, …
Run Code Online (Sandbox Code Playgroud)

default-value type-declaration julia

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

在 Kotlin 中,抽象函数的默认参数值是否被继承?

在 Kotlin 中,您可以定义一个带有默认值的抽象函数。

这个默认值是否会被传递到实现函数,而不需要在每个实现中指定相同的默认参数?

methods abstraction default-value kotlin

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

在参数和继承中定义参数值

我在使用某些Java时遇到问题,如何在Java中提供默认参数值?例如我在C ++中有这个

DVD(int i, string t, int y, string d="Unknown"): Items(i,t,y),director(d){} 在Java中,我尝试

public Dvd(int i, String t,int y, String d="Unknown"){
        super(i,t,y);
        director = d;
    }
Run Code Online (Sandbox Code Playgroud)

无法建立。那么我该如何提供默认值呢?

在我的主要测试课程中,我尝试给出3个参数,分别为4,但这也失败了。我如何解决这个问题?

java multiple-inheritance default-value

0
推荐指数
1
解决办法
272
查看次数

在C++中将特定类型的所有变量初始化为特定的默认值

在我的代码中我有ints,bools,pointers等等,我也有一些由我定义的类型,我typedef如何管理默认值初始化,就像它发生在带有控制器的对象中一样?

我想确定一下

T var;
Run Code Online (Sandbox Code Playgroud)

如果不接触,总是等于我的默认值,我喜欢这样做而不解析每行代码,并且手动更改默认值而不使用预处理器宏.

这可能吗?对于新typedef的可以定义默认值?

c++ default-value

0
推荐指数
1
解决办法
145
查看次数