Python在块/数组中存储操作/方法

2024-10-02 12:33:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python的初学者,我正在尝试用objective-c编写类似的东西。在objective-c中,每个方法都可以存储在块中,以后可以再次调用这些方法。我试着在网上找,但我不知道python中的关键字。我可以用python这样写吗?或者有类似的流程吗?我该怎么办?你知道吗

void (^successBlock)() = ^{
    NSLog(@"Test");
};

NSMutableArray *muArr = [NSMutableArray array];
[muArr addObject:successBlock];

for (void (^successBlock)() in muArr) {
    successBlock();
}

Tags: 方法intestfor关键字流程array初学者
3条回答

函数是Python的一级成员。除了函数定义之外,不需要额外的语法。使用标准库函数和lambda函数(大致类似于块)检查这个示例。你知道吗

functions = [round, int, str, lambda x: x + 2]

for fn in functions:
    print(fn(3.1415))
# 3
# 3
# 3.1415
# 5.141500000000001

Python中的函数是第一类公民,因此可以存储在变量中。你知道吗

Assigning a function to a variable

def successBlock():
    NSLog("Test")

muArr = [successBlock]

for sb in muArr: 
    sb()

试试这个代码,它应该可以工作

void (^successblock)() = ^^{
    NSLog(@"Test");
};

NSMutableArray *mUArr = [NsMutableArray array];
[muArr addObject:successBlock];

for (void (^successBlock)() in muArr) {
    successBlock()
}

相关问题 更多 >

    热门问题