首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js中的“‘this”和python中的“self”

在JS中,关键字this表示当前执行上下文中的对象,它的值取决于函数调用的方式。this在不同情况下会指向不同的对象:

  1. 全局环境:在全局环境中(函数外部),this指向全局对象,如浏览器中的window对象。
  2. 函数中:在函数中,this的值取决于函数的调用方式。如果函数作为对象的方法被调用,this指向调用该方法的对象。如果函数作为普通函数被调用,this指向全局对象。
  3. 构造函数中:当使用new关键字调用构造函数创建对象时,this指向新创建的对象。
  4. 显示绑定:可以使用callapplybind等函数来显式地绑定this的值,指定函数执行时的上下文对象。

在Python中,关键字self是约定俗成的表示实例对象自身的参数名,它出现在类的方法定义中的第一个参数位置。self在类的方法中用来访问对象的属性和调用其他方法。

通过将self作为方法的第一个参数传递,Python可以自动将方法调用的实例对象传递给self,从而使得方法可以访问和修改实例对象的属性。

举例说明:

代码语言:txt
复制
class Person:
    def __init__(self, name):
        self.name = name

    def say_hello(self):
        print("Hello, my name is", self.name)

person = Person("John")
person.say_hello()

在上述代码中,self表示实例对象本身,在__init__方法中用来初始化实例对象的属性,在say_hello方法中用来访问实例对象的属性。

总结:

thisself在JavaScript和Python中分别用于表示当前执行上下文中的对象和实例对象自身。它们在不同的语言中有不同的使用方式和含义,但都是为了方便访问对象的属性和方法。在实际开发中,需要根据具体语言的语法和规范来正确使用thisself

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 深入浅析python selfcls区别

    python selfcls 一句话描述:self是类(Class)实例化对象,cls就是类(或子类)本身,取决于调用是那个类。...将实参实例化对象或者类名称传入self对象,取到不同属性方法。...@classmethod也不需要self参数,但第一个参数需要是表示自身类cls参数。 如果在@staticmethod要调用到这个类一些属性方法,只能直接类名.属性名或类名.方法名。...selfcls区别 1、self表示一个具体实例本身。...总结 到此这篇关于深入浅析python selfcls区别的文章就介绍到这了,更多相关python selfcls内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持

    7K21

    说说Pythonself参数?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试同学,提供一点点帮助!...小猿会从最基础面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己意见讨论,大家是要一起学习 。...废话不多说,开始今天题目: 问:说说Pythonself参数? 答:在Python规定,函数第一个参数是实例对象本身,并且约定俗成名字写为self。...等价于C++self指针Java、C#this参数。表示当前类对象,可以调用当前类属性方法。 首先明确self只有在类方法才会有,独立函数或方法是不必带有self。...在类代码(函数),需要访问当前实例变量函数,即,访问Instance对应变量(property): Instance.ProperyNam,去读取之前写入新值。

    94640

    全面理解pythonself用法

    self可以不写吗在Python解释器内部,当我们调用t.prt()时,实际上Python解释成Test.prt(t),也就是说把self替换成类实例。...,所以在描述符类存在第二个参数ins,用来表示调用它类实例,所以t.x时可以看到第三行运行结果第二项为。...从OO本质理解pythonself 假设要对用户数据进行操作,用户数据包含nameage。如果用面向过程的话,实现出来是下面这样子。...如果用面向对象的话,就不用每次把user参数传来传去,把相关数据操作绑定在一个地方,在这个类各个地方,可以方便获取数据。...之所以可以在类各个地方访问数据,本质就是绑定了self这个东西,它方法第一个参数,可以不叫self,叫其它名字,self只不过是个约定。 下面是面向对象实现,可以看到,结构化多了,清晰可读。

    11.6K10

    【说站】python变量self添加

    python变量self添加 说明 1、前缀带self变量,就是在整个类代码块里面类似是作为全局变量。...2、如果变量前面加了self,那么在任何实例方法(非staticmethodcalssmethod)就都可以访问这个变量了。如果没有加self,只有在当前函数内部才能访问这个变量。... = self.session.get(self.url)          self.text = self.resp.text          self.status = self.resp.statuscode...但这样很明显没有意义,url/resp/text/status这些变量都是局部,别的方法里面不需要访问这些变量,只存在于test_login函数,别的用例也不需要使用这些变量,因此除了session...以上就是python变量self添加,希望对大家有所帮助。更多Python学习指路:python基础教程 本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    73720

    JS ?. ??

    .) ---- 可选链操作符 允许读取位于连接对象链深处属性值,而不必明确验证链每个引用是否有效 ?. 可选链操作符功能类似于 ....链式操作符,不同之处在于引用为空情况下不会引起错误,该表达式短路返回值 下面代码运行有错误,原因很简单, user.age 值是 undefined,从 undefined 读取 num 属性当然会报错...---- 在实际开发,?? 遇到次数也不是太多,但还是非常有必要知道这个东西用法 空值合并操作符(??)...也就是说,如果使用 || 来为某些变量设置默认值,可能会遇到意料之外问题,比如遇到假值 ''、0、false 通过以下代码可验证区别,当 user 对象没有 sex 属性时默认值为 2(0 女 1... 可选链操作符 (?.) 配合使用就非常美妙 console.log(user.age?.num ?? 18);

    2.6K20

    Python方法要加self理由

    Pythonself到底是干啥首先明确self只有在类方法才会有,独立函数或方法是不必带有selfself在定义类方法时是必须有的,虽然在调用时不必传入相应参数。...self名称不是必须,在pythonself不是关键词,你可以定义成a或b或其它名字都可以,但是约定成俗(为了其他编程语言统一,减少理解难度),不要搞另类,大家会不明白。...name is:',self.namep=Person('Bill')print p在上述例子self指向Person实例p。...,self指向哪一个呢?...总结self在定义时需要定义,但是在调用时会自动传入。self名字并不是规定死,但是最好还是按照约定是用selfself总是指调用时实例。

    1.8K20

    Pythonself是什么你知道嘛?

    Python规定,函数第一个参数是实例对象本身,并且约定俗成,把其名字写为self。其作用相当于javathis,表示当前类对象,可以调用当前类属性方法。...11.3 self介绍 这个self是自定义,完全可以换成别的变量名 self对象指向同一个内存地址,可以认为self就是对象引用。...self就是这个类实例对象 self就相当于Javathis 所谓self,可以理解为对象自己,某个对象自己,某个对象调用其方法时,Python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递...11.4.3 _ new_ _ _init__方法区别 new函数是类实例化方法,必须返回该实例,否则创建不成功 new至少存在一个参数cls,这个参数就是代表要实例化类,此参数在实例化时由...python解释器自动提供 init用做数据属性初始化工作,相当于Java构造函数 new函数执行要早于init函数

    1.7K00

    解开Pythonself四个秘密

    当您通过一些示例学习它时,您将注意到在Python定义许多函数都将self作为它们第一个参数。...在这篇文章,我们将与学习者分享一些Pythonself奥秘。 ? 1. 它代表什么? ? 在开始处理这个谜题之前,我们需要理解两个基本相关概念:类实例。...创建Python类就是声明一种新对象类型,它提供了一种将数据功能捆绑在一起机制。在上面的示例,我们创建了一个名为Student类,并使用它创建了一个名为Student学生类型对象。...在这个调用设置了selfname参数,这与student调用初始函数时忽略self参数不同。 两个函数调用都产生了相同输出。它们本质上用是同一个函数。...似乎在所有这些已定义函数,我们都使用self作为它们第一个参数。有些人可能错误地认为selfPython为这些用例保留关键字。然而,事实并非如此。

    73910

    jswindow.parent,window.top、window.self

    在应用有frameset或者iframe页面时,parent 是父窗口,top是最顶级父窗口(有的窗口中嵌套了好几层frameset或者iframe),self是当前窗口,opener是用open方法打开当前窗口...window.self 功能:是对当前窗口自身引用,它window是等价 语法:window.self 注:window、self、window.self是等价 window.top 功能:返回顶层窗口...语法:window.top 注:如果窗口本身就是顶层窗口,top属性返回是对自身引用。 window.parent 功能:返回父窗口。...语法:window.parent 注:如果窗口本身是顶层窗口,parent属性返回是对自身引用。 在框架网页,一般父窗口就是顶层窗口,但如果框架还有框架,父窗口顶层窗口就不一定相同了。...你应当将框架视为窗口中不同区域,框架是浏览器窗口中特定部分。一个浏览器窗口可以根据你需要分成任意多框架,单个框架也可以分成其它多个框架,即所谓嵌套框架。

    2.6K30

    Python Return Self 到底是个啥?

    Python 类型注释通常不会影响代码功能,但是许多静态类型检查器 IDE 可以识别它们。...在 3.11 及以后版本Self 类型可以直接从 Python 类型模块中导入。对于小于 3.11 Python 版本,Self 类型可以在 typing_extensions 中使用。...因为 typing 是标准库一部分,它只能在 Python 本身定期版本更新,而 typing_extensions 是将新特性反向移植到旧 Python 版本。...结论 在 Python 中使用类型提示注释可以使你代码更具可读性可维护性,尤其是当代码大小复杂性增加时。...通过从 typing 模块导入 Self 类型,或者在 Python 3.10 及更早版本从 typing_extensions 中导入,你可以注释返回类实例方法,使你代码更易于维护阅读。

    19911

    PHPthis,self,parent区别

    {一}PHPthis,self,parent区别之一this篇 面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人员一项基本技能。...PHPthis,self,parent区别之二self篇 此篇我们就self用法进行讲解 首先我们要明确一点,self是指向类本身,也就是self是不指向任何已经实例化对象,一般self使用来指向类静态变量...> 这里要注意两个地方语句①语句②。我们在语句①定义了一个静态变量firstCount,那么在语句②时候使用了self调用这个值,那么这时候我们调用就是类自己定义静态变量frestCount。...{三}PHPthis,self,parent区别之三parent篇 此篇我们就parent用法进行讲解。...总结:this是指向对象实例一个指针,在实例化时候来确定指向;self是对类本身一个引用,一般用来指向类静态变量;parent是对父类引用,一般使用parent来调用父类构造函数。

    2.2K20
    领券