如何用Python文字将整数表示为二进制数?
我很容易找到十六进制的答案:
>>> 0x12AF
4783
>>> 0x100
256
Run Code Online (Sandbox Code Playgroud)
和八进制:
>>> 01267
695
>>> 0100
64
Run Code Online (Sandbox Code Playgroud)
你如何使用文字在Python中表达二进制文件?
答案摘要
int('01010101111',2)
文字来表示二进制文件,但不能用文字表达.0b1100111
或0B1100111
.0o27
或0O27
(第二个字符是字母O)表示八进制.027
octals 的旧语法.原始问题
我目前正在教我的兄弟去编程.他是一个初学者,但非常聪明.(而他实际上想学习).我注意到我们的一些会议陷入了细微的困境,我不觉得自己组织得很好.(但这篇文章的答案有很多帮助.)
我能做些什么来有效地教他?是否有一个逻辑顺序,我可以使用概念按概念运行?是否有复杂性我应该避免到以后?
我们使用的语言是Python,但欢迎任何语言的建议.
如何帮助
如果您有好的,请在答案中添加以下内容:
请描述资源及其链接,以便我查看.我希望每个人都知道我一直在使用这些想法.您的提交内容将在此帖中汇总.
教学初学者的在线资源:
推荐用于教学初学者的打印书籍
我的团队正在开发一个带有Web前端的面向服务的新产品.在讨论我们将使用哪些技术时,我们决定运行JBoss应用程序服务器和Flex前端(可能使用Adobe AIR进行桌面部署),以及用于连接客户端和服务器的Web服务.
当涉及到我们的业务逻辑使用哪种服务器技术时,我们陷入了僵局.EJB3和Spring之间的争论很大,我们最关心的是可扩展性和性能,以及代码库的可维护性.
这是我的问题:
public class HelloWorld {
public static void main (String args[]){
System.out.println ("Hello ");
http://www.google.com
System.out.println ("World!");
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码只是编译和执行正常.为什么编译器没有报告任何错误?
我目前正在为我们的数据库创建一个主ddl.从历史上看,我们使用备份/恢复来对数据库进行版本控制,而不是维护任何ddl脚本.架构非常大.
我目前的想法:
将脚本分成几部分(可能在单独的脚本中):
每个脚本都会被主脚本调用.
还有其他建议吗?
编辑:此外,如果有人知道自动化部分过程的好工具,我们正在使用MS SQL 2000(旧的,我知道).
必须有一个简单的方法来做到这一点,但不知何故,我可以绕过它.我可以描述我想要的最好的方法是一个类的lambda函数.我有一个库,希望作为一个参数,使用一个未经实例化的类.然后它实例化类本身以继续工作.问题是我希望能够动态创建类的版本,传递给库,但我无法弄清楚如何做到这一点,因为库需要一个未实例化的版本.下面的代码描述了问题:
class Double:
def run(self,x):
return x*2
class Triple:
def run(self,x):
return x*3
class Multiply:
def __init__(self,mult):
self.mult = mult
def run(self,x):
return x*self.mult
class Library:
def __init__(self,c):
self.c = c()
def Op(self,val):
return self.c.run(val)
op1 = Double
op2 = Triple
#op3 = Multiply(5)
lib1 = Library(op1)
lib2 = Library(op2)
#lib3 = Library(op3)
print lib1.Op(2)
print lib2.Op(2)
#print lib3.Op(2)
Run Code Online (Sandbox Code Playgroud)
我不能使用通用的Multiply类,因为我必须首先实例化它,这会破坏库"AttributeError:Multiply instance has no call method".在不更改Library类的情况下,有没有办法可以做到这一点?
对于上下文,我是一个emacs新手.我没有使用它很长时间,但已经越来越多地使用它(我非常喜欢它).我也很熟悉lisp,但不熟悉elisp.
我需要做的是将正则表达式绑定到键盘组合,因为我经常使用这个特定的正则表达式.
我一直在做什么:
M-C-s ^.*Table\(\(.*\n\)*?GO\)
Run Code Online (Sandbox Code Playgroud)
注意,我上面使用了换行符,但是我发现isearch-forward-regexp
,你真的需要用\n
正则表达式替换正则表达式C-q Q-j.这会插入一个文字换行符(不结束命令),这样我就可以在表达式中添加换行符并跨行匹配.
如何将其绑定到组合键?
我隐约明白我需要创建一个isearch-forward-regexp
用表达式执行的elisp函数,但我对细节很模糊.我搜索了谷歌,发现大多数文档都有点令人困惑.
如何将正则表达式绑定到emacs中的键组合?
迈克斯通到目前为止得到了最好的答案 - 不完全是我想要的,但它适用于我需要的东西
编辑 - 这种方式有效,但在存储宏之后,当我以后再使用它时,我无法使用它C-x e.(即,如果我重新启动emacs然后键入M-x macro-name,然后C-x e,我在迷你缓冲区中收到一条消息,如'no last kbd macro'或类似的东西)
@Mike Stone - 感谢您提供的信息.我试过像这样创建一个宏:
C-x( M-C-s ^.*Table\(\(.*C-q C-J\)*?GO\) C-x)
Run Code Online (Sandbox Code Playgroud)
这创建了我的宏,但是当我执行我的宏时,我没有得到我使用时通常得到的相同突出显示isearch-forward-regexp
.相反,它只是跳到表达式的下一个匹配结束.所以这并不适用于我需要的东西.有任何想法吗?
编辑:看起来我可以使用宏来做我想要的事情,我只需要在框外思考isearch-forward-regexp
.我会尝试你的建议.
在软件开发的历史中已经开发了许多可用性评估技术.但在我看来,他们很少在实践中使用.
为什么实际使用的可用性评估工具和方法不多?
或者他们使用的次数超过了我被引导相信的程度?
最近我将我的Adobe AIR项目重组为maven项目,这样我就可以连接到我的持续集成服务器了.我发现的大部分信息来自各种博客,这似乎是关于灵活事物的唯一方法.
然而,当我决定从哪个超级pom继承时,我发现有一些不同的人正在使用的不同的flexmojos超级pom.
以下是我发现的一些(其中每一个都被野外的一些例子使用)
各种超级poms之间有什么区别,哪个是事实上的标准?
我们使用CheckStyle来强制执行我们的样式标准.我们选择包含的样式规则之一是NeedBraces模块.
NeedBraces指定每块类型声明(如if
,else
,for
)必须具有打开和关闭大括号.但是,据我所知,它没有完全正确地工作.
此示例将触发CheckStyle错误.
if (true)
{
System.out.println("20");
}
else
System.out.println("30");
Run Code Online (Sandbox Code Playgroud)
因为else案例没有大括号.但是,下一个示例无法触发CheckStyle错误.
if (true)
{
System.out.println("20");
}
else
if (true)
{
System.out.println("30");
}
Run Code Online (Sandbox Code Playgroud)
这应该是失败的,因为else案例中缺少大括号,但checkstyle让它通过.在仔细检查文档后,我找不到任何原因导致其无法正常工作.
那么...... CheckStyle模块"NeedBraces"可以使用嵌套的if/else块吗? 有任何想法吗?
这个问题的答案引出了另一个问题:是否有规则将上述不良代码标记为违规?
java ×3
python ×3
syntax ×2
air ×1
apache-flex ×1
binary ×1
checkstyle ×1
coding-style ×1
ddl ×1
ejb-3.0 ×1
emacs ×1
flexmojos ×1
integer ×1
lambda ×1
lisp ×1
literals ×1
maven-2 ×1
performance ×1
regex ×1
scalability ×1
schema ×1
spring ×1
sql ×1
sql-server ×1
testing ×1
usability ×1