Python面向对象编程 self的含义

Python面向对象编程 self的含义,第1张

self
  • self
  • 方法的分类

code:_2self_study.py

# *********************************************************************
"""
self:self在方法中只是一个形参,并不是关键字,可以使用别的词替换但是不推荐。
    self在方法中代表的是当前这个对象自己,可以去 *** 作成员,可以使用self在对象的内部访问成员。
    self就相当于C++中的this,谁调用了这个方法,self就代表谁。
    不含self(也可以是其他名字)形参的方法不能使用对象调用。
方法的分类
    绑定类方法:不含self参数或者不能接收对象作为参数的方法,绑定类方法只能被类调用,而不能被对象调用。
    非绑定类方法:含有self或者可以接收对象作为参数的方法。
"""


class Person:
    name = "name"
    age = "age"
    sex = "sex"

    def sing(self):
        print("唱*******************")

    def dance(self):
        print("跳*******************")

    def rap(self):
        print("rap******************")

    def func(self):
        print(f"self = {self}")
        print(f"self.name = {self.name}")
        self.dance()

    def func2():
        print("我是没有self的方法!只有类能调用我!")


Jasmine = Person()
Jasmine.name = "Jasmine"
print(f"Jasmine = {Jasmine}")
Jasmine.func()
Person.func2()

运行结果:

E:\Programs_Way\Python\python.exe D:/Prj/_PythonSelf/Object_oriented_programming/_2self_study.py
Jasmine = <__main__.Person object at 0x0000017EE1ECAFD0>
self = <__main__.Person object at 0x0000017EE1ECAFD0>
self.name = Jasmine
跳*******************
我是没有self的方法!只有类能调用我!

Process finished with exit code 0

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/718629.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存