嗨我正在学习Python,因为语法非常简洁,习语与我的心智模型很匹配.
然而,我也有兴趣了解操作系统内部和逆向工程软件,这最终意味着以相当全面的能力了解C语言.
当我最初选择一种语言时,我做了大量的阅读和比较,而且似乎抛出了很多数字,用Python编写简短的惯用语句需要相当于几百行的C(我想是代码为内存管理,编写字典代码,列表等,我们认为这是Python语言中内置的.
1)对于一个普通的C程序员,每个Python习惯用的100-200行代码是否接近准确?
因为C不是内置的类似Python的结构,如字典/列表(所有他们的好方法等):
2)C程序员是否倾向于从头开始构建这些构造,然后在项目之间重用它们以大大减少其项目的实际手动编码量?
我假设再次使用像boost :: stuff这样的库,减少了一些样板手动编码...
3)但是,使用流行的库并重新使用之前在C语言中为基本构造/等编写的公共代码,与使用发烧友大小的代码库的Python中的代码相比,修改用C编写的代码行有多少?
我知道具体的数字是不可能的,但是有可能使用库,代码重用等,使用C的开发时间接近Python的开发时间而不是Linus Torvalds风格的编码机吗?
谢谢!
我正在解决一个我能够解决的问题,除了最后一块之外 - 我不知道如何使用按位运算符进行乘法运算:
0*8 = 0
1*8 = 8
2*8 = 16
3*8 = 24
4*8 = 32
Run Code Online (Sandbox Code Playgroud)
能否请您推荐一种方法来解决这个问题?
以下是我想用Razor表达的内容:
<b>@parameterMapping.Title</b> (Category: @parameterMapping.Category.Title, Regexp: @parameterMapping.Regexp)
Run Code Online (Sandbox Code Playgroud)
但为了使其可解析,我必须这样写:
<b>@parameterMapping.Title</b> <text>(Category: </text> @parameterMapping.Category.Title <text>, Regexp:</text> @parameterMapping.Regexp <text>)</text>
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来解决这个问题?
这可能是我完全倒退的事情,但我想更多地了解我做错了什么......
我已经声明一个类只是一个通用列表的直接继承(完成简化命名),如下所示:
public class FooList : List<Foo> {}
Run Code Online (Sandbox Code Playgroud)
现在在另一个完全独立于这个类的方法中,我试图返回这个类的实例,但是我想根据一个标准过滤类,所以我使用了一个lambda表达式:
var list = new FooList(); // imagine this fills it with different items
var filtered = list.FindAll(c => c.Something == "filter criteria");
Run Code Online (Sandbox Code Playgroud)
现在根据FindAll方法,这应该返回一个List [Foo].但是,我想将此对象作为FooList返回,而不是List [Foo].我是否必须创建一个新的FooList实例并从List [Foo]中复制这些项目?
如果是这样,为什么?为什么我不能直接将List转换为FooList,因为它们是同一个对象?
如果可以这样做,我该怎么办?
非常感谢!
根据维基百科:函数式编程是一种编程范式,它将计算视为数学函数的评估,并避免状态和可变数据.(强调我的).
这是真的吗?我个人的理解是,它使状态更明确,因为编程实质上是将函数(变换)应用于给定状态以获得转换状态.特别是像monad这样的结构允许你通过函数显式地携带状态.我也不认为任何编程范式都可以完全避免状态.
那么,维基百科的定义是对还是错?如果它是错误的,那么定义函数式编程的更好方法是什么?
编辑:我想这个问题的核心是什么是国家?您是否了解状态是变量或对象属性(可变数据)还是不可变数据也是状态?举个例子(在F#中):
let x = 3
let double n = 2 * n
let y = double x
printfn "%A" y
Run Code Online (Sandbox Code Playgroud)
你会说这个片段是否包含状态?
编辑2:感谢大家的参与.我现在明白这个问题更多的是语言上的差异,使用了state一个社区与另一个社区不同的词,正如布莱恩在评论中提到的那样.特别是,功能编程社区中的许多人(主要是Haskellers)解释state为携带一些动态状态,如随时间变化的信号.state诸如有限状态机,Representational State Transfer和无状态网络协议之类的其他用途可能意味着不同的东西.
我有Vim文档,其中包含使用"语法包含"区域的代码块区域,以便从主文档中突出显示不同的语法.例如,我在输入Python代码时使用了一个名为'pyregion'的语法区域.然后使用Python的语法文件中的设置突出显示文档的pyregion区域,而区域外的区域使用主文档的语法文件.
我想让Python区域中的整个背景以不同的颜色着色,以区别于文档的非Python区域.我可以通过输入整个python区域的背景来获得部分路径:
:highlight pyregion guibg=#555555
Run Code Online (Sandbox Code Playgroud)
但是上面的命令只更改了背景上有文本字符的区域的背景,而不是区域的整个背景,这似乎仍然像"正常"组定义的背景颜色一样被控制为文档的其余部分.这没关系 - 它确实引起了对该区域的注意,但它有一个斑点的外观,因为只有代码字符本身具有不同的背景,而不是整个屏幕区域的整个区域.
有没有办法在整个区域内获得不同背景颜色的统一乐队,而不仅仅是有角色的区域的一部分?
在以下链接中有相关的问题和答案,但据我所知,答案也只在有文本的地方改变背景: 用Vim突出显示代码块背景
谢谢你的帮助.
我正在寻找一个宽松的HTML解析器来抓取HTML并在Ruby中提取数据.我已经成功使用BeautifulSoup了 - 红宝石相当于什么?
我甚至不确定这是否可行,但我需要通过用户点击的链接将POST数据发送到页面.可以这样做吗?
要清楚,我不希望数据返回到当前页面; 目标页面应该在浏览器中加载,就像用户提交了表单一样,但我需要在没有表单的情况下发送帖子数据,如果可能的话
我想知道是否有可能用NumPy精确地重现MATLAB的randn()的整个序列.我使用Python/Numpy编写了我自己的例程,并且它给了我一些与其他人所做的MATLAB代码不同的结果,并且由于不同的随机抽取,我很难找到它的来源.
我找到了numpy random.seed值,它为第一次绘制产生了相同的数字,但是从第二次绘制开始,它完全不同.我正在绘制多变量法则达20,000次,所以我不想只保存matlab绘制并用Python读取它.如果有任何其他方式,我想我必须这样做.请告诉我.
-Joon
我正在阅读django的权威指南,我在第4章中介绍了模板继承.似乎我没有做一些尽可能优雅的事情,因为我必须复制一些代码,以便在调用子视图时显示上下文.这是views.py中的代码:
def homepage(request):
current_date = datetime.datetime.now()
current_section = 'Temporary Home Page'
return render_to_response("base.html", locals())
def contact(request):
current_date = datetime.datetime.now()
current_section = 'Contact page'
return render_to_response("contact.html", locals())
Run Code Online (Sandbox Code Playgroud)
在每个函数中包含current_date行似乎是多余的.
这是主页调用的基本html文件:
<html lang= "en">
<head>
<title>{% block title %}Home Page{% endblock %}</title>
</head>
<body>
<h1>The Site</h1>
{% block content %}
<p> The Current section is {{ current_section }}.</p>
{% endblock %}
{% block footer %}
<p>The current time is {{ current_date }}</p>
{% endblock %}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
和一个子模板文件:
{% extends "base.html" %}
{% …Run Code Online (Sandbox Code Playgroud) python ×3
c# ×2
.net ×1
asp.net ×1
asp.net-mvc ×1
c ×1
comparison ×1
django ×1
f# ×1
generic-list ×1
inheritance ×1
javascript ×1
jquery ×1
matlab ×1
numpy ×1
razor ×1
ruby ×1
scipy ×1
vim ×1