我正在开始使用套接字编程,我一直在看这个AF_INET
.
然而,我从来没有见过任何其他用途.我的讲师不是那么有用,只是说"你只需要它".
所以我的问题:
AF_INET
什么?我的主git repo中有一个git子模块.据我了解,主repo存储一个SHA值(某处......),指向它"链接到"的子模块的特定提交.
我进入了我的子模块并输入了git checkout some_other_branch
.我不知道我来自哪个承诺.
我想恢复该指针,以便主repo和子模块再次同步.
我的第一个(可能是天真的)本能就是说git reset --hard
- 这似乎适用于其他一切.令我惊讶的是,它不适合这种情况.
所以我发现我可以输入git diff
,注意子模块指针曾经拥有的SHA ID,然后进入子模块并且git checkout [SHA ID]
...但是肯定必须有一个更简单的方法吗?
由于我还在学习git子模块,如果有关于我不知道的概念的话,请随时更正我的术语.
所以,我在回答这个问题时正在玩Python ,我发现这是无效的:
o = object()
o.attr = 'hello'
Run Code Online (Sandbox Code Playgroud)
由于AttributeError: 'object' object has no attribute 'attr'
.但是,对于从object继承的任何类,它是有效的:
class Sub(object):
pass
s = Sub()
s.attr = 'hello'
Run Code Online (Sandbox Code Playgroud)
打印s.attr
按预期显示"你好".为什么会这样?Python语言规范中的内容指定您不能将属性分配给vanilla对象?
我想从Python中的常量列表中创建一个lambda对象列表; 例如:
listOfNumbers = [1,2,3,4,5]
square = lambda x: x * x
listOfLambdas = [lambda: square(i) for i in listOfNumbers]
Run Code Online (Sandbox Code Playgroud)
这将创建一个lambda对象列表,但是,当我运行它们时:
for f in listOfLambdas:
print f(),
Run Code Online (Sandbox Code Playgroud)
我希望它会打印出来
1 4 9 16 25
Run Code Online (Sandbox Code Playgroud)
相反,它打印:
25 25 25 25 25
Run Code Online (Sandbox Code Playgroud)
似乎lambdas都被赋予了错误的参数.我做错了什么,有没有办法解决它?我认为我在Python 2.4中.
编辑:更多的尝试事情,并提出了这样的想法:
listOfLambdas = []
for num in listOfNumbers:
action = lambda: square(num)
listOfLambdas.append(action)
print action()
Run Code Online (Sandbox Code Playgroud)
将预期的正方形从1打印到25,然后使用之前的print语句:
for f in listOfLambdas:
print f(),
Run Code Online (Sandbox Code Playgroud)
仍然给了我所有25
的.现有的lambda对象在这两个打印调用之间是如何变化的?
相关问题:为什么map()和列表理解的结果不同?
如果我发送两条TCP消息,我是否需要处理后者到达之前的情况?还是保证按我发送的订单到达?我假设这不是Twisted特定的例子,因为它应该符合TCP标准,但是如果熟悉Twisted的人可以为我自己的安心提供特定于Twisted的答案,那将不胜感激:-)
我想完全包装一个对象,以便所有属性和方法请求转发到它包装的对象,但也覆盖我想要的任何方法或变量,以及提供我自己的一些方法.这个包装类应该作为现有类100%出现(isinstance
必须表现得好像它实际上是类),但是子类化本身并不会削减它,因为我想包装一个现有的对象.Python中是否有一些解决方案可以做到这一点?我正在思考以下问题:
class ObjectWrapper(BaseClass):
def __init__(self, baseObject):
self.baseObject = baseObject
def overriddenMethod(self):
...
def myOwnMethod1(self):
...
...
def __getattr__(self, attr):
if attr in ['overriddenMethod', 'myOwnMethod1', 'myOwnMethod2', ...]
# return the requested method
else:
return getattr(self.baseObject, attr)
Run Code Online (Sandbox Code Playgroud)
但我不是那个熟悉的覆盖__getattr__
,__setattr__
并且__hasattr__
,所以我不知道如何获得这一权利.
在C#正则表达式中,是否有一种简单的方法可以匹配除句点和下划线之外的所有标点符号?希望这样做而不必枚举每一个标点符号.
我刚刚在MS Access中玩游戏,设计了一个大型数据库.现在我对设计感到满意,我需要能够从代码中生成相同的数据库(表,关系等).
我不想手写SQL CREATE语句(这将是漫长,乏味和容易出错的过程),而是想知道是否有快捷方式.我似乎记得,由于我对MySql的有限接触,我能够将整个数据库导出为SQL语句,然后可以运行该语句以重新生成该数据库.
您是否知道在MS Access中通过GUI或以编程方式执行此操作的方法?
如何创建无模式MessageBox?我是否必须创建自己的Windows窗体类并使用它?如果是这样,是否有一种简单的方法可以添加警告图标(而不是插入我自己的图像)并根据文本量调整大小?