对象方法中的闭包

这个说法应该不准确,甚至仅仅就闭包本身这个事情,就搞不清准确定义,上实例

>>> def inner(tmp):
    return tmp

>>> def f(a):
    return inner(a)

>>> f(1)
1
>>> def f(a):
    def inner(tmp):
        return tmp
    return inner(a)

>>> f(1)
1
>>> 

直到搞到selenium,发现个之前没见过的用法(例子没用unittest写,举了类似的)

>>> def run(self):
    print self.attr

>>> class Test:
    def __init__(self,attr):
        self.attr=attr
    def fun(self):
        run(self)

>>> Test(1).fun()
1

run被fun调用,fun是实例方法,run还能操作实例变量attr(self的作用,怎么搞的不知道);

#想起了实例方法的 from types impor Methodtype 后绑定.,写完方法定义后再绑

时间: 2024-11-03 17:33:48

对象方法中的闭包的相关文章

[oc第四天]【掌握】03-self用在对象方法中

[掌握]03-self用在对象方法中 self 指代的是调用当前对象方法的那个对象 过一遍代码就懂来 [掌握]04-self用在类方法中 [p class]返回的实质就是当前类(类对象) [self run] [了解] 05-self修饰变量 self->speed = speed; 如果同名,局部变量会暂时屏蔽全局变量的作用域 int a = 10; a = a; self->speed访问的是实例变量 加上self后表示访问的就是类的实例变量 不加self访问的局部变量 [掌握]08-继承

self在类方法和对象方法中的应用

谁调用当前方法,self就代表谁 * self在对象方法中,self代表当前对象 * self在类方法中个,self代表类 > self在对象方法中 可以利用self->属性名称的方式访问成员变量 > [self 方法名称]; 调用其它方法(类方法/对象方法)

Object-c 类、对象方法

// //  main.m //  firestMethod2 // //  Created by AleuxQ on 16/3/14. //  Copyright © 2016年 AleuxQ. All rights reserved. // #import <Foundation/Foundation.h> /* 事物名称:iphone 属性:型号.cpu,尺寸,颜色 行为:打电话 发短信,上网 */ //1.编写类的申明 //###############################

对象方法的声明和实现

1.对象方法的声明 格式: 1 -(int)addNum1: (int)num1 andNum2: (int)num2; 2.特征 a:对象方法以-开头如 -(int)xx; b:对象方法只能由对象来调用 c:对象方法中可以访问当前对象的成员变量 d:调用格式 [对象名 对象方法名]; 3.示例 1 //声明没有返回值的对象方法 2 -(void)run; 3 //声明有返回值的对象方法 4 -(int)run; 5 //声明有返回值有参数的对象方法 6 -(int)run: (int)num;

OC基础笔记——类方法和对象方法和封装(广州黑马一期)

对象方法: 1.声明和实现方法时候,以 -开头 2.对象方法是隶属于对象,只能通过对象调用 3.对象方法中可以直接访问成员变量,因为对象方法和成员变量都是隶属于该对象的 4.对象方法中可以调用其他对象方法 5.对象方法中也可以调用类方法 类方法: 1.声明和实现的标识符都是 + 2.类方法它是属于类本身的 3.类方法是直接通类名调用的,不能通过对象调用 4.类方法不能访问成员变量,因为成员变量是对象的,不是类的 5.在类方法中不能直接调用对象方法,也就是说不能通过self来调用对象方法 如果你要

黑马程序员----对象方法和类方法

一.对象方法 1> 减号 - 开头 2> 只能由对象来调用 3> 对象方法中能访问当前对象的成员变量(实例变量) 二.类方法 1> 加号 + 开头2> 只能由类名来调用3> 类方法中不能访问成员变量(实例变量) 注:可以允许类方法和对象方法同名 三.类方法的好处及使用场合 1> 类方法不依赖于对象(不创建对象也可以调用),执行效率高 2> 能用类方法,尽量用类方法 3> 场合:当方法内部不需要使用成员变量时,就可以改为类方法 代码练习: 运行结果:

ios开发 oc 的类方法与对象方法

首先我们先来了解一下什么是类方法与对象方法. 对象方法: 对象是由"-"开头.比如:-(void)Runner: 对象方法顾名思义只能由对象来调用 比如说: @interface Person : NSObject (void)Runner://对象方法 @end: int main() { Person *p=[Person new];//Person是一个类,它创建一个对象p. [p Runner];//p调用Runner这个方法: return 0; { 在对象方法中可以直接访问

Objective-C学习笔记(十九)——对象方法和类方法的相互调用

事实上在OC的对象方法(减号方法)和类方法(加号方法)并非相互独立的,它们也能够发生千丝万缕的关系,今天我们来研究下它们两者相互调用的问题.该样例还是以People类为基础. (一)对象方法调用类方法: (1)先在People.h中分别声明两个方法: -(void)show; +(void)showw2; (2)然后在People.m中分别实现两个方法,并在对象方法中调用类方法,调用方式也是用  "类名 方法名"进行. -(void)show{ NSLog(@"我是一个对象方

05:对象方法的声明和实现

1.对象方法声明 格式 特征 对象方法以-开头如 -(void)xx; 对象方法只能由对象来调用 对象方法中可以访问当前对象的成员变量 调用格式 [对象名 对象方法名]; 示例 //声明没有返回值的方法 - (void)method; //声明有返回值的方法 - (int)method; //声明有返回值有参数的方法 - (int)method: (int)var; //声明有返回值有多个参数的方法 - (int)method: (int)var1 andVar2: (int)var2; 2.对