我目前已使用以下bash脚本配置了git,以显示我所在的分支(以及用于显示我所在目录的命令行):
export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\] \[\033[33;1m\]\w\[\033[m\] (\$(git branch 2>/dev/null | grep '^*' | colrm 1 2)) \$ \n$ "
export PS2="$ "
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一种方法可以显示“正在合并”状态,以便在合并时merging
在命令行中也显示该信息(在哪个分支上)。我已经在其他地方看到过这个,所以我很确定有可能,但是不知道如何。
这个问题的答案看起来有两种方法可以bytes
在 Python 3 中将整数转换为对象。它们显示
s = str(n).encode()
和
n = 5
bytes( [n] )
Run Code Online (Sandbox Code Playgroud)
是一样的。然而,测试显示返回的值是不同的:
print(str(8).encode())
#Prints b'8'
Run Code Online (Sandbox Code Playgroud)
但
print(bytes([8])) #prints b'\x08'
Run Code Online (Sandbox Code Playgroud)
我知道第一个方法将 更改为十六进制值为 56 的int 8
字符串(我相信),但是第二个方法打印什么?utf-8
这只是 8 的十六进制值吗?(utf-8
退格键的值?)
同样,这两个大小都是一字节吗?看起来第二个有两个字符==两个字节,但我可能错了......
简单地说,我明白为什么我不能使用这样的for
循环设置属性**kwargs
:
class Person():
def __init__(self, onevar, *args, **kwargs):
self.onevar = onevar
for k in kwargs:
self.k = kwargs[k]
print(k, self.k)
def run():
ryan = Person('test', 4, 5, 6, name='ryan', age='fifty')
print(ryan.name)
def main():
run()
if __name__=="__main__":
main()
Run Code Online (Sandbox Code Playgroud)
这将返回以下内容:
AttributeError: 'Person' object has no attribute 'name'
Run Code Online (Sandbox Code Playgroud)
谁知道为什么?
该MDN给出了继承的javascipt的这种解释(与展示的原型链中的注释):
var a = {a: 1};
// a ---> Object.prototype ---> null
var b = Object.create(a);
// b ---> a ---> Object.prototype ---> null
console.log(b.a); // 1 (inherited)
var c = Object.create(b);
// c ---> b ---> a ---> Object.prototype ---> null
var d = Object.create(null);
// d ---> null
console.log(d.hasOwnProperty);
// undefined, because d doesn't inherit from Object.prototype
Run Code Online (Sandbox Code Playgroud)
在这里,我认为c
从多个类继承.这怎么不是多重继承?
我有一个json字符串,我想知道它的最大深度是多少.深度我的意思是嵌入密钥的数量.因此,如果一个键作为7个"孩子"而且知道其他键有那么多,则深度为8.
由于可以嵌入其他对象的唯一类型(我相信)是数组和其他所有需要检查的字典.有没有办法检查这个?
我希望在没有外部模块的情况下实现这一点,但如果不是,我的目标是python3.
注意:这就是我所说的"深度"
以下字典:
{
"path": "/0001_Anthem",
"name": "0001_Anthem",
"isMovie": true,
"runtime": 3600,
"thumbnailLocation": "/thubs/test.png",
"id": 1,
"media": [
{
"path": "/0001_Anthem/louvers.mp4",
"name": "louvers.mp4"
}
]
}
Run Code Online (Sandbox Code Playgroud)
将具有"深度"或长度,3
因为最远的嵌入项是media
数组(级别2)中的键/值对(级别3 ),在主dictionary
(级别1)中.我不确定其他人使用的术语,这只是我认为有意义的术语.
谢谢
我正在尝试在 WebGL 2 中进行实例化。我想使用内置变量gl_InstanceID
来索引到统一的浮点数组中。
我收到以下错误:
glDrawElementsInstancedANGLE: attempt to draw with all attributes having non-zero divisors
WebGL 2 实例化中唯一允许使用顶点属性的实例化(实例化数组)吗?
另外,规范是了解这些功能的唯一明确的地方吗?
我有一个类方法,它接受一个列表并根据函数确定该列表是否有效。
我想在存储为静态变量的三个列表上测试它,因为它们稍后在代码中的其他单元测试中使用。
def test__validate(self):
decoder = Validator()
slow_valid = Validator.validate(TestValidator.list_slow)
med_valid = Validator.validate(TestValidator.list_med)
fast_valid = Validator.validate(TestValidator.list_fast)
assert slow_valid == True
assert med_valid == False
assert fast_valid == False
Run Code Online (Sandbox Code Playgroud)
删除多个断言语句的正确方法是什么?
我是否定义了多个版本,test__validate
或者从最佳实践的角度来看,多个断言语句是否可以?
信不信由你,我到处寻找这个答案.如何将大于255的值转换为bytes
Python 3中的对象.我认为这需要一个字节字符串,但我不确定.
例:
n = 257
print(n) #Prints 257
n = bytes([n])
print(n) #ValueError: bytes must be in range(0, 256)
Run Code Online (Sandbox Code Playgroud) 我有以下 JSON
{
"clips": {
"0": {
"name": "Please",
"id": 1,
},
"1": {
"name": "Print",
"id": 2
},
"10": {
"name": "me",
"id": 3
},
"2": {
"name": "in order",
"id": 4
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是这样制作的:
print(json.dumps(data, sort_keys=True, indent=4))
这很棒,因为它按字母数字顺序打印键。但是,我需要按实际数字顺序打印这些内容,因此在 key"2"
之前的 key "10"
。
我知道 python 通常不会对字典中的键进行排序,但我需要这样做,因为 json 实际上会被人类读取并且排序会很棒。谢谢你。
我在尝试构建我的C++项目时遇到错误.
我正在尝试构建一个涉及套接字的跨平台项目.在Windows上我需要closesocket
在套接字关闭时调用,而在linux上我只需要调用close.
因此,为了制作跨平台解决方案,我在我的基类中定义了以下内容:
#define closesocket close
Run Code Online (Sandbox Code Playgroud)
在我的课程代码中,我有:
class TCPClient {
void TCPClient::close()
{
closesocket(m_socket);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试构建时,我现在收到以下错误:
projects/cpp_sockets/src/project/tcp_client.cpp: In member function ‘void TCPClient::close()’:
/home/optonox/Documents/projects/cpp_sockets/src/project/tcp_client.cpp:44:22: error: no matching function for call to
‘TCPClient::close(SOCKET&)’
closesocket(m_socket);
^ /home/optonox/Documents/projects/cpp_sockets/src/project/tcp_client.cpp:42:6: note: candidate: void TCPClient::close()
void TCPClient::close()
^~~~~~~~~
/home/optonox/Documents/projects/cpp_sockets/src/project/tcp_client.cpp:42:6: note: candidate expects 0 arguments, 1
provided
src/project/CMakeFiles/cpp_sockets.dir/build.make:110: recipe for target 'src/project/CMakeFiles/cpp_sockets.dir/tcp_c
Run Code Online (Sandbox Code Playgroud)
我猜发生了什么事是,closesocket
在typedef
d为1 close
,因此试图调用TCPclient
成员函数?
答:那是怎么回事?和B.我怎么能阻止这个?
如果我注释掉那个电话,项目编译就好了closesocket
.
python ×6
byte ×2
json ×2
python-3.x ×2
bash ×1
bytestring ×1
c++ ×1
command-line ×1
dictionary ×1
git ×1
inheritance ×1
javascript ×1
pytest ×1
utf-8 ×1
webgl2 ×1