Questions tagged «variables»

这是模棱两可的;只要适用,请使用特定的语言标记。变量是内存中的命名数据存储位置。使用变量,计算机程序可以存储数字,文本,二进制数据或任何这些数据类型的组合。它们可以在程序中传递。

11
优雅的方法来检查字典中是否存在嵌套键?
是否有更可读的方法来检查是否存在嵌入字典的键而无需独立检查每个级别? 可以说我需要在埋藏的对象中获取此值(示例取自Wikidata): x = s['mainsnak']['datavalue']['value']['numeric-id'] 为了确保不会以运行时错误结束,有必要检查每个级别,如下所示: if 'mainsnak' in s and 'datavalue' in s['mainsnak'] and 'value' in s['mainsnak']['datavalue'] and 'nurmeric-id' in s['mainsnak']['datavalue']['value']: x = s['mainsnak']['datavalue']['value']['numeric-id'] 我可以想到的另一种解决方法是将其包装到一个try catch结构中,对于这样一个简单的任务,我也觉得很尴尬。 我正在寻找类似的东西: x = exists(s['mainsnak']['datavalue']['value']['numeric-id']) True如果所有级别都存在,则返回。

11
仅在满足条件的情况下添加到dict
我正在使用urllib.urlencode构建Web POST参数,但是,如果None它们不存在其他值,我只想添加一些值。 apple = 'green' orange = 'orange' params = urllib.urlencode({ 'apple': apple, 'orange': orange }) 效果很好,但是如果我将orange变量设置为可选,如何防止将其添加到参数中?这样的东西(伪代码): apple = 'green' orange = None params = urllib.urlencode({ 'apple': apple, if orange: 'orange': orange }) 我希望这已经足够清楚了,有人知道如何解决吗?


3
将变量从一个PHP包含文件传递到另一个:全局与非
我正在尝试将变量从一个包含文件传递到另一个。除非我在第二个包含文件中将变量声明为全局变量,否则此方法不起作用。但是,我不需要在调用第一个include的文件中将其声明为全局文件。例如: front.inc: $name = 'james'; index.php: include('front.inc'); echo $name; include('end.inc'); 输出:詹姆斯 end.inc: echo $name; 输出:无 如果我在end.inc中回显$ name之前声明了全局$ name,那么它将正常工作。该帖子的可接受答案说明这取决于您的服务器配置:将PHP中的变量从一个文件传递到另一个文件 我正在使用Apache服务器。我将如何配置它,以便不必声明$ name为全局名称?一个相对于另一个有优点/缺点吗?

3
默认情况下,php函数返回什么?
如果我没有明确返回任何内容,那么php函数到底返回什么? function foo() {} 什么类型的 它有什么价值? 如何使用===进行准确测试? 这是否从php4更改为php5? 有没有之间的差异function foo() {}和function foo() { return; } (我不是在问如何测试它if (foo() !=0) ...)

5
在if语句的条件部分中定义变量?
我很震惊,这是允许的: if( int* x = new int( 20 ) ) { std::cout << *x << "!\n"; // delete x; } else { std::cout << *x << "!!!\n"; // delete x; } // std:cout << *x; // error - x is not defined in this scope 那么,这是标准允许的还是仅仅是编译器扩展? 附言:由于对此有很多评论,请忽略此示例“不好”或危险。我知道 例如,这只是我想到的第一件事。

6
从Python中的函数返回多个值的最佳方法是什么?
我有一个函数,需要对字符串进行处理。我需要该函数返回一个布尔值,该布尔值指示操作是否成功,并且还需要返回修改后的字符串。 在C#中,我将为字符串使用out参数,但是Python中没有等效的参数。我对Python还是很陌生,我唯一想到的就是用布尔值和修改后的字符串返回一个元组。 相关问题:函数返回多个值是否为pythonic?

6
如何通过Jinja2将列表从Python传递到JavaScript
假设我有一个Python变量: list_of_items = ['1','2','3','4','5'] 然后通过呈现HTML将其传递给Jinja,并且我在JavaScript中还有一个名为的函数somefunction(variable)。我正在尝试通过的每个项目list_of_items。我尝试过这样的事情: {% for item in list_of_items %} <span onclick="somefunction({{item}})">{{item}}</span><br> {% endfor %} 是否可以将列表从Python传递到JavaScript,还是应该逐个循环传递列表中的每个项目?我怎样才能做到这一点?

16
将变量名转换为字符串?
我想将python变量名称转换为等效的字符串,如图所示。有什么想法吗? var = {} print ??? # Would like to see 'var' something_else = 3 print ??? # Would print 'something_else'

2
在MATLAB中,变量默认是否真的是双精度的?
这个问题是我进一步调查后发现的奇怪问题。 我一直都理解默认情况下MATLAB变量是双精度的。因此,如果我要进行一些操作,例如声明一个小数点后20位数字的变量: >> num = 2.71828182845904553488; >> class(num) % Display the variable type ans = double 我希望最后4位数字被忽略,因为浮点相对精度约为10 -16: >> eps(num) ans = 4.440892098500626e-016 如果我尝试显示小数点后的数字超过16位(使用fprintf或sprintf),那么我会看到: >> fprintf('%0.20f\n', num) 2.71828182845904550000 >> sprintf('%0.20f', num) ans = 2.71828182845904550000 换句话说,数字17到20均为0。 但是当我在Symbolic Toolbox中传递num给变量精度算术函数时,事情变得很奇怪,告诉它使用21位精度表示数字: >> vpa(num, 21) ans = 2.71828182845904553488 什么?!那些后四位数字又出现了!当我输入的原始数字存储为双精度变量时,它们不应该丢失num吗?由于num传递给时是一个双精度变量vpa,如何vpa知道它们是什么? 我对发生的事情的最佳猜测是,MATLAB内部表示的num精度比双精度要高,因为我将其初始化为比双精度变量可以处理的小数点后数字还多的数字。这真的是发生了什么,还是发生了其他事情? 奖励:如果您还没有上述偏头痛的话,这是另外一个困惑的来源... >> num = 2.71828182845904553488; …

16
用Java复制对象
我了解到,当您在Java中修改变量时,它不会更改它所基于的变量 int a = new Integer(5); int b = a; b = b + b; System.out.println(a); // 5 as expected System.out.println(b); // 10 as expected 我为对象假设了类似的事情。考虑这个课程。 public class SomeObject { public String text; public SomeObject(String text) { this.setText(text); } public String getText() { return text; } public void setText(String text) …


1
如果不检查{{object.field}}是否存在则出错
我有一个关于检查对象中是否存在某些字段的问题。 我想打印用户拥有的所有类别,因此我正在执行以下操作: <ul *ngIf="user.categories.length > 0" *ngFor="#category of user.categories"> <li> {{category.name}} </li> </ul> 原因?所有数据均已正确打印,但在Web控制台中出现如下错误: Cannot read property 'name' of null 但是当我做类似的事情时: <ul *ngIf="user.categories.length > 0" *ngFor="#category of user.categories"> <li *ngIf="category"> {{category.name}} </li> </ul> 那一切都好。 我是在做错什么,还是每次都要检查一下?您曾经遇到过这样的问题吗?

9
如何获取注册表项的值,并且仅使用Powershell获得值
谁能帮助我提取注册表项的值并将其放入PowerShell中的变量中?到目前为止,我已经使用了Get-ItemProperty,reg query尽管两者都会提取值,但是两者都还会添加额外的文本。我只需要注册表项中的字符串文本,而只需要注册表项中的字符串文本。我确定我可以创建一个函数来删除多余的文本,但是如果某些更改(即reg键名)可能会影响到此功能。

1
Windows批处理命令忽略变量中的区分大小写
我有一组变量,允许一些与我一起工作的人进行编辑。这些都是真的(T)和False( F)值,但我有一些人坚持把t和f分别,而不是大写值。 我使用以下变通办法代码正确设置大写值: IF '%dotnet35%'=='f' set dotnet35=F IF '%dotnet35%'=='t' set dotnet35=T IF '%dotnet40%'=='f' set dotnet40=F IF '%dotnet40%'=='t' set dotnet40=T IF '%regedit%'=='f' set regedit=F IF '%regedit%'=='t' set regedit=T IF '%SSL%'=='f' set SSL=F IF '%SSL%'=='t' set SSL=T 但是,这是非常庞大的,并且在眼中并不容易...是否有其他方法可以在不使用VBS或任何其他编程语言的情况下进行此操作?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.