小编Ism*_*awi的帖子

if __name__ =='__ main__'的样式指南是什么?

我理解它的目的,但是我想知道什么是最pythonic的使用方法if __name__ == '__main__'

我把我的所有代码放在一个main()函数中并将它调用为:

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

或者不打扰它,只是在那里编写所有顶级代码:

if __name__ == '__main__':
    # all top-level code...
Run Code Online (Sandbox Code Playgroud)

python coding-style python-2.7

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

有人可以解释一下java是如何通过值传递的

当我拿一个数组时,像这样:

int anArray[] = new int[5];
//initialize to 0

doStuff(anArray);

//inside doStuff
anArray[3] = 731;
//passes back to main

System.out.println(anArray[3]); // outputs 731
Run Code Online (Sandbox Code Playgroud)

这不是通过参考传递的吗?是什么赋予了?

java pass-by-reference pass-by-value

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

python中的随机列表选项

有没有办法将变量传递choice()给列表的函数.我有一堆列表,我想从一个列表中随机选择,然后使用返回的字符串从具有该字符串名称的列表中进行选择.

A = ['1','2','3']

print choice (A) - this gets me a random choice from the list
Run Code Online (Sandbox Code Playgroud)

但我想将选项存储为变量并使用它来调用另一个列表

A = ['1','2','3']
1 = ['A','B','C']

Var1 = choice (A)

print choice (Var1) *** this is my problem, how do I pass a variable to the choice function
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助!

python random variables list

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

javascript中eval内部的声明

考虑以下两个 JavaScript 片段:

var x = 2;
function f() {
    var y = x;
    eval('var x;');
    return y;
}
Run Code Online (Sandbox Code Playgroud)

对比

var x = 2;
function f() {
    var y = x;
    var x;
    return y;
}
Run Code Online (Sandbox Code Playgroud)

唯一的区别是我已经替换eval('var x;');var x;.

第一个返回2,但第二个返回undefined。为什么?

javascript scope eval

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

如何在python中避免使用过多的if - else块

我写了一个类,检查输入中的4个参数,并在输出中显示结果列表.只需要此参数中的一个,因此我有7个if - else嵌套块.我想指定所述条件正常工作.

如果有一个更聪明的方式来写这个,我在徘徊:

if cd['subject'] is None:
    if cd['school'] == '':
        if cd['price']:
            files = File.objects.filter(name__contains=cd['name'], price = '0.0')
        else:
            files = File.objects.filter(name__contains=cd['name'])
    else:
        if cd['price']:
            files = File.objects.filter(name__contains=cd['name'], school = cd['school'], price = '0.0')
        else:
            files = File.objects.filter(name__contains=cd['name'], school = cd['school'])
else:
    if cd['school'] == '':
        if cd['price']:
            files = File.objects.filter(name__contains=cd['name'], subject = cd['subject'], price = '0.0')
        else:
            files = File.objects.filter(name__contains=cd['name'], subject = cd['subject'])
    else:
        if cd['price']:
            files = File.objects.filter(name__contains=cd['name'], school = cd['school'], subject = cd['subject'], price = …
Run Code Online (Sandbox Code Playgroud)

python django

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

对一串位进行按位非运算

我有一个值为 的字符串0111000000。如何对该字符串执行按位非运算?

如果我将其转换为整数,使用~运算符并将其转换回二进制字符串,则生成的字符串具有额外的位。我希望输出准确无误1000111111

下面的代码可以正常工作,但这不是一个好方法。还有其他更好的方法吗?

   String bstr="";
   while(m!=str.length())
   {             
        char a=str.charAt(m);
        if(a=='1')
        {
             a='0';
             bstr=bstr+a;
             m++;   
        }
        else
        {
             a='1'; 
             bstr=bstr+a;
             m++;
         }
}
Run Code Online (Sandbox Code Playgroud)

java

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

对于Java中的循环不起作用

import java.util.Random;
public class RandomHomework
{
    public static void main(String[] args)
    {
        int i;
        Random generator = new Random();
        double randomDecimals = generator.nextDouble()-.04;
        int randomNumber = generator.nextInt(9)+10;
        for(i = 0; i > 100; i++)
        {
            if(randomNumber >= 10.00)
            {
                System.out.println(randomNumber + randomDecimals);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的for循环设置有问题,无法解决它...当我删除for循环时,它运行得非常好.

正如你所看到的,我曾尝试过声明我,但它没有任何区别.

java random for-loop

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

mmap 内存由其他内存支持吗?

我不确定这个问题是否有意义,但假设我有一个指向某些内存的指针:

char *mem;
size_t len;
Run Code Online (Sandbox Code Playgroud)

是否可以以某种方式将 的内容mem作为只读映射映射到另一个地址?即我想获得一个指针mem2,以便mem2 != mem进行mem2[i]实际读取mem[i](而不进行复制)。

我的最终目标是获取不连续的内存块,并通过将它们彼此相邻映射来使它们看起来是连续的。

我考虑的一种方法是使用fmemopenand then mmap,但是没有与 的结果关联的文件描述符fmemopen

c linux mmap virtual-memory

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