class A {
constructor(x) {
this.x = x;
// Not a super call, thus freeze the object
if (new.target === A) {
Object.freeze(this);
}
}
}
class B extends A {
constructor(x, y) {
super(x)
this.y = y
if (new.target === B) {
Object.freeze(this)
}
}
}
AttributEerror:'NoneType'对象没有属性'format'
答案 0 :(得分:1)
打印语句关闭后您正在格式化
private string imageBase64
public string ImageBase64
{
get { return imageBase64; }
set
{
imageBase64 = value;
OnPropertyChanged("ImageBase64");
OnPropertyChanged("Image");
}
}
private Xamarin.Forms.ImageSource image;
public Xamarin.Forms.ImageSource Image
{
get
{
if (image == null)
{
image = Xamarin.Forms.ImageSource.FromStream(
() => new MemoryStream(Convert.FromBase64String(ImageBase64)));
}
return image;
}
}
你需要的是:
print (x).format(something)
# ^ Move this parentheses to end
然而,在Python 2中,它不重要:
print ("Starting {0} concurrent workers".format(self.nr_workers))
# ^ here
答案 1 :(得分:0)
由于您使用的是Python 3,因此括号是print()
函数调用的一部分。如果您使用的是Python 2,他们只会将字符串分组(不必要地,我可能会添加)。我将用额外的括号来说明:
乍一看会发生什么,并且会在Python 2中发生:
print ( ("Starting {0} concurrent workers").format(self.nr_workers) )
当您使用Python 3时,实际发生了什么:
(print("Starting {0} concurrent workers")).format(self.nr_workers)
由于print()
调用返回None
,它会尝试在format()
上使用None
并失败。
要格式化实际字符串(使用样式上正确的括号),请将格式放在打印调用中。
print("Starting {0} concurrent workers".format(self.nr_workers))