标签: if-statement

在if语句中依赖条件评估顺序是否安全?

my_var可以是None 时使用以下格式是不好的做法吗?

if my_var and 'something' in my_var:
    #do something
Run Code Online (Sandbox Code Playgroud)

问题是'something' in my_var如果my_var为None ,则抛出TypeError.

或者我应该使用:

if my_var:
    if 'something' in my_var:
        #do something
Run Code Online (Sandbox Code Playgroud)

要么

try:
    if 'something' in my_var:
        #do something
except TypeError:
    pass
Run Code Online (Sandbox Code Playgroud)

要重新解释这个问题,上面哪一项是Python中的最佳实践(如果有的话)?

欢迎替代方案!

python if-statement

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

MySQL IF ELSEIF在select查询中

我正在尝试根据用户选择的数量选择不同的产品价格.这是我正在处理的查询(它有语法错误):

 select id, 
    (SELECT 
    IF(qty_1<='23',price,1)
    ELSEIF(('23'>qty_1 && qty_2<='23'),price_2,1)
    ELSEIF(('23'>qty_2 && qty_3<='23'),price_3,1)
    ELSEIF('23'>qty_3,price_4,1)
    END IF) as total 
 from product;
Run Code Online (Sandbox Code Playgroud)

mysql if-statement

66
推荐指数
4
解决办法
24万
查看次数

使用pandas比较两列

以此为出发点:

a = [['10', '1.2', '4.2'], ['15', '70', '0.03'], ['8', '5', '0']]
df = pd.DataFrame(a, columns=['one', 'two', 'three'])

Out[8]: 
  one  two three
0   10  1.2   4.2
1   15  70   0.03
2    8   5     0
Run Code Online (Sandbox Code Playgroud)

我想if在熊猫中使用类似声明的东西.

if df['one'] >= df['two'] and df['one'] <= df['three']:
    df['que'] = df['one']
Run Code Online (Sandbox Code Playgroud)

基本上,通过if语句检查每一行,创建新列.

文档说要使用,.all但没有例子......

python if-statement dataframe pandas

66
推荐指数
6
解决办法
19万
查看次数

如何查看在Android上运行的应用?

我是Android开发人员,我想if在我的应用程序中编写一个语句.在此声明中,我想检查默认浏览器(Android OS中的浏览器)是否正在运行.我该如何以编程方式执行此操作?

java browser android if-statement

65
推荐指数
2
解决办法
7万
查看次数

不区分大小写的字符串比较

我想比较两个变量,看它们是否相同,但我希望这个比较不区分大小写.

例如,这将区分大小写:

if($var1 == $var2){
   ...
}
Run Code Online (Sandbox Code Playgroud)

但是我希望这个不区分大小写,我该如何处理呢?

php if-statement case-insensitive

65
推荐指数
3
解决办法
7万
查看次数

PHP有短路评估吗?

给出以下代码:

if (is_valid($string) && up_to_length($string) && file_exists($file)) 
{
    ......
}
Run Code Online (Sandbox Code Playgroud)

如果is_valid($string)返回false,那么php解释器是否仍会检查后面的条件,如false?如果是这样,那么为什么它不需要做额外的工作呢?

php if-statement short-circuiting

65
推荐指数
4
解决办法
2万
查看次数

IF的表现比IF-ELSE好吗?

这些代码块中哪一个表现更好,哪一个更易读?我猜这个增益可以忽略不计,特别是在第二个区块.我只是好奇.

块#1

string height;
string width;
if (myFlag == 1)
{
    height = "60%";
    width = "60%";
}
else
{
    height = "80%";
    width = "80%";
}
Run Code Online (Sandbox Code Playgroud)

块#2

string height = "80%";
string width = "80%";
if (myFlag == 1)
{
    height = "60%";
    width = "60%";
}
Run Code Online (Sandbox Code Playgroud)

更新

我测试上述代码时的结果是两个块执行相同的操作

块#1

myFlag = 1:   3 Milliseconds
myFlag = 0:   3 Milliseconds
Run Code Online (Sandbox Code Playgroud)

块#2

myFlag = 1:   3 Milliseconds
myFlag = 0:   3 Milliseconds
Run Code Online (Sandbox Code Playgroud)

但是我在这里注意到的一件重要的事情(感谢Matthew Steeples在这里回答)是因为我测试的代码块没有使用变量高度和宽度,除了if-else中的赋值和if代码块1的块和编译器分别通过完全删除问题中的if和if-else块来优化IL代码,从而在此处显示我们测试的无效结果. …

c# performance if-statement

65
推荐指数
5
解决办法
3150
查看次数

哪个更快更好,Switch Case还是其他如果?

哪种方法更好更快:if还是switch?

if(x==1){
  echo "hi";
} else if (x==2){
  echo "bye";
}

switch(x){
  case 1
    ...
  break;
  default;
} 
Run Code Online (Sandbox Code Playgroud)

php performance if-statement switch-statement

65
推荐指数
3
解决办法
6万
查看次数

分号在'if'语句结束时

今天,经过半小时的搜索bug,我发现可以在if语句后面加一个分号而不是代码,如下所示:

if(a == b);
// Do stuff
Run Code Online (Sandbox Code Playgroud)

这基本上意味着无论a是否等于b都会完成,if语句没有任何意义.为什么Java没有给我一个错误?有什么情况可以使用吗?

java if-statement

65
推荐指数
7
解决办法
3万
查看次数

为什么'if'陈述被认为是邪恶的?

我刚刚参加了简单设计和测试会议.在其中一个会话中,我们讨论的是编程语言中的邪恶关键词. 科瑞海恩斯,谁提出的问题,确信if说法是绝对的邪恶.他的另一种选择是用谓词创建函数.你能告诉我为什么if是邪恶的.

我知道你可以编写非常难看的代码滥用if.但我不相信它那么糟糕.

programming-languages if-statement

64
推荐指数
10
解决办法
3万
查看次数