我是Python新手。我正在阅读Python中的建筑技能( Lott )并尝试一些示例。我看到-(void)scenario2{
PGView *viewA = [PGView new];
viewA.backgroundColor = [UIColor yellowColor];
[self.view addSubview:viewA];
PGView *viewB = [PGView new];
viewB.backgroundColor = [UIColor blackColor];
[self.view addSubview:viewB];
viewA.translatesAutoresizingMaskIntoConstraints = NO;
viewB.translatesAutoresizingMaskIntoConstraints = NO;
NSLayoutConstraint *constraint;
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[viewB(==100)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(viewB)]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[viewB(==100)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(viewB)]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[viewA(==200)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(viewA)]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[viewA(==200)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(viewA)]];
NSLog(@"%d",viewA.hasAmbiguousLayout);
NSLog(@"%d",viewB.hasAmbiguousLayout);
NSLog(@"%@",viewA);
NSLog(@"%@",viewB);
}
函数创建了一个可变集和一个不可变的冻结集。我怎么知道我是在创建一个集合还是一个冷冻集?
答案 0 :(得分:3)
这简直是错误的。 set()
内置函数返回一个集合,而不是冻结集合。 frozenset()
返回一个冻结集。集合和冻结集都是set types,但它们是不同的集类型。
The Python docs总是可以用来澄清这样的事情,整个list of built-in functions。
摘自OP在评论中提到的建筑技能(Lott),强调我的。功能
使用
set()
或frozenset()
工厂创建值集 功能。这些可以应用于任何可迭代容器,其中包括任何序列,dict的键, 甚至是文件。
这里的作者正在使用"设定值"描述set type 的值,因此不表示set()
和frozenset()
做同样的事情 - 它们产生不同集合类型的值,即集合和frozensets。