小编Jas*_*ker的帖子

你打算如何处理迁移到Python 3?

考虑到Python 3即将推出,我确信这是大多数python开发人员的主题.一些问题让我们朝着正确的方向前进:

  1. 你是否会同时维护python 2和python 3版本,或者你只需​​要一个python 3版本一旦完成?

    • 您是否已经开始或计划很快开始?或者你打算等到最终版本出来全面展开?

python migration python-2to3 python-3.x

52
推荐指数
3
解决办法
9867
查看次数

将datetime转换为POSIX时间

如何将日期时间或日期对象转换为python中的POSIX时间戳?有一些方法可以从时间戳中创建一个日期时间对象,但我似乎没有找到任何明显的方法以相反的方式进行操作.

python datetime posix

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

什么是泡沫排序适合?

泡泡种类有任何现实世界的用途吗?每当我看到一个提到的,它总是要么:

  1. 用于学习的排序算法.
  2. 使用排序算法的示例.

language-agnostic sorting algorithm bubble-sort

45
推荐指数
5
解决办法
4万
查看次数

2GB USB驱动器上的版本控制

对于我的学校工作,我做了很多切换计算机(从实验室到笔记本电脑到图书馆).我有点想把这个代码置于某种版本控制之下.当然问题是我不能总是在我使用的计算机上安装其他软件.我可以在拇指驱动器上保留任何类型的版本控制系统吗?我有一个2GB的驱动器,但我可以在必要时获得更大的驱动器.

我正在做的项目并不是特别大.

编辑: 这需要在Windows下工作.

编辑II: Bazaar最终成为我选择的.如果你选择TortoiseBzr,那就更好了.

windows version-control usb-drive

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

我可以介绍一下我的.zshrc/.zshenv吗?

这似乎是我的壳正在采取的方式太长启动.有什么方法可以对它进行分析,这样我就可以弄清楚是什么让它减慢了这么多?

profiling zsh

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

类/结构成员总是按照它们被声明的顺序在内存中创建吗?

这是Rob Walker 在这里回答的问题.

假设我声明一个类/结构,如下所示:

struct
{ 
    char A;
    int B;
    char C;
    int D;
};
Run Code Online (Sandbox Code Playgroud)

是否可以安全地假设这些成员将在内存中以完全相同的顺序声明,或者这是否依赖于编译器?我问,因为我一直认为编译器可以随心所欲地做任何事情.

这导致了我的下一个问题.如果上面的例子导致内存对齐问题,为什么编译器不能只是隐式地将它变成这样的东西:

struct
{ 
    char A;
    char C;
    int B;
    int D;
};
Run Code Online (Sandbox Code Playgroud)

(我主要是询问C++,但我也有兴趣听到C答案)

相关话题

c++ memory memory-alignment

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

在定义元类时,有没有理由选择__new__而不是__init__?

我总是设置类似这样的元类:

class SomeMetaClass(type):
    def __new__(cls, name, bases, dict):
        #do stuff here
Run Code Online (Sandbox Code Playgroud)

但我刚刚遇到了一个定义如下的元类:

class SomeMetaClass(type):
    def __init__(self, name, bases, dict):
        #do stuff here
Run Code Online (Sandbox Code Playgroud)

有什么理由比较喜欢一个吗?

更新:请记住,我正在询问有关使用__new____init__在元类中的问题.我已经理解了另一个班级中他们之间的区别.但是在元类中,我不能__new__用来实现缓存,因为__new__只在元类中创建类时调用它.

python constructor metaclass init new-operator

40
推荐指数
3
解决办法
9498
查看次数

帮助我理解Oracle中CLOB和BLOB之间的区别

这主要只是一个"检查我的理解"类型的问题.以下是我对Oracle中的CLOB和BLOB的理解:

  • CLOB用于XML,JSON等文本.您不应该假设数据库将其存储为什么编码(至少在应用程序中),因为它将转换为数据库配置使用的任何编码.
  • BLOB用于二进制数据.您可以合理地确信它们将被存储在您发送它们的方式中,并且您将使用与它们发送的数据完全相同的数据来获取它们.

换句话说,我说有一些二进制数据(在这种情况下是一个pickled python对象).我需要确定的是,当我发送它时,它将完全按照我发送的方式存储,当我收回它时它将完全相同.BLOB是我想要的,对吗?

为此使用CLOB真的可行吗?或者字符编码会导致足够的问题,这是不值得的吗?

python oracle

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

操作可能会破坏运行时的稳定性?

我在理解这里的问题时遇到了一些麻烦.我有一些代码使用LINQ从数据库中提取记录,并将它们放入一个被转换为接口的对象中.看起来有点像这样:

public IEnumerable<ISomeObject> query()
{
    return from a in dc.SomeTable
           select new SomeObject
           {
             //Assign various members here
           } as ISomeObject;
}
Run Code Online (Sandbox Code Playgroud)

当我测试它时,我将返回的IEnumerable放入一个名为results的变量中并运行以下行:

Assert.AreEqual(EXPECTED_COUNT, results.Count());
Run Code Online (Sandbox Code Playgroud)

运行它时,我得到一个System.Security.VerificationException:"操作可能会破坏运行时的稳定性."

我在这里找到了解决方案,这是:

var results = from a in dc.SomeTable
              select new SomeObject
              {
                //Assign various members here
              } as ISomeTable;
return results.OfType<ISomeObject>();
Run Code Online (Sandbox Code Playgroud)

这有效,但我无法理解这里发生的事情.为什么我首先得到异常,上面的代码行是如何解决的?MSDN文档似乎表明这是类型安全的问题,但我没有看到以前的代码类型不安全的地方.

更新 我发现的更多信息.如果我返回类型IQueryable,第一个示例有效.这揭示了一点点光什么是走错了,但我仍然感到困惑的原因.为什么编译器不强迫我将IEnumerable转换为IQueryable?

.net c# linq .net-3.5 linq-to-sql

37
推荐指数
3
解决办法
4万
查看次数

让vs def in clojure

我想Scanner在clojure程序中创建一个Java 类的本地实例.为什么这不起作用:

; gives me:  count not supported on this type: Symbol 
(let s (new Scanner "a b c"))
Run Code Online (Sandbox Code Playgroud)

但它会让我创建一个像这样的全局实例:

(def s (new Scanner "a b c"))
Run Code Online (Sandbox Code Playgroud)

我的印象是唯一的区别是范围,但显然不是.let和之间有什么区别def

lisp function clojure let

36
推荐指数
5
解决办法
9463
查看次数