为什么我们在Python 3中有不同的面向字节的字符串表示?单个表示而不是多个表示是否足够?
对于ASCII范围编号打印,字符串显示以下列开头的序列\x:
In [56]: chr(128)
Out[56]: '\x80'
Run Code Online (Sandbox Code Playgroud)
在不同的数字范围内,Python使用以.开头的序列 \u
In [57]: chr(57344)
Out[57]: '\ue000'
Run Code Online (Sandbox Code Playgroud)
但是在最高范围内的数字,即截至目前的最大Unicode数,它使用了一个领先的\U:
In [58]: chr(1114111)
Out[58]: '\U0010ffff'
Run Code Online (Sandbox Code Playgroud) 是否可以通过$this->set('variable_name', 'some_value')
控制器的方法本身跟踪所有设置变量.实际上我有一个方法调用其他几个方法,每个子方法设置值来查看.现在我无法跟踪主方法中是否有相同的键设置两次.
例
function beforeFilter()
{
$this->set('key1', 'viable value');
}
function reqMethod()
{
$this->extendMethod1();
$this->extendMethod2();
$this->extendMethod3();
$this->extendMethod4();
$this->extendMethod5();
$this->extendMethod6();
// Want to track all set variable (key) here.
}
private function extendMethod1()
{
$this->set('key1', 'unknow value');
}
Run Code Online (Sandbox Code Playgroud)
这里有可能将key1(错误地)设置为另一种方法.任何帮助真的很感激.
我不知道这是否是getattrbuild_in方法的预期行为.
getattr即使实际参数(2nd)满足条件,也会执行默认(第3个)参数.例:
def func():
print('In Function')
class A:
def __init__(self):
self.param = 12
a = A()
Run Code Online (Sandbox Code Playgroud)
当我运行getattr(a, 'param', func())它时给出这个结果:
In Function
12
Run Code Online (Sandbox Code Playgroud)
注意In Function我不想要的.
但是当我执行getattr(a, 'param1', func())ie输出时它完全正常
In Function
Run Code Online (Sandbox Code Playgroud)
但我只想要结果12好像满足了条件.请让我知道为什么getattr会有这样的行为,我们可以阻止他们这样做(如果有第二个参数,那就不是执行第三个arg),如果以Pythonic方式共享另一种方式,我将不胜感激.首先要记住的一件事是检查是否param1存在使用hasattr然后做必要的事情.
我是编程新手,我在网页上搜索了这个问题的答案,并尝试了很多可能性但没有成功。我目前已设法将电位计连接到我的树莓派并在控制台上获取值,但我不知道如何将这些值保存到文本文件中。这是我的代码:
#!/usr/bin/python
import spidev
import time
#Define Variables
delay = 0.5
ldr_channel = 0
#Create SPI
spi = spidev.SpiDev()
spi.open(0, 0)
def readadc(adcnum):
# read SPI data from the MCP3008, 8 channels in total
if adcnum > 7 or adcnum < 0:
return -1
r = spi.xfer2([1, 8 + adcnum << 4, 0])
data = ((r[1] & 3) << 8) + r[2]
return data
while True:
ldr_value = readadc(ldr_channel)
print ('---------------------------------------')
print("LDR Value: %d" % ldr_value)
time.sleep(delay)
file = open('data.txt','w') …Run Code Online (Sandbox Code Playgroud)