Pythone面向对象方法

本文深入讲解了面向对象编程的基本概念,包括类、对象、继承、封装等核心要素,并通过实例展示了不同类型的类方法(实例方法、类方法、静态方法)的具体应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

m面向对象

继承:多继承

对象

创建对象和调用函数一样。

方法:

#实例方法:只能通过实例调用,实例方法第一个定义的参数只能是实例本身的引用。
class Myclass :
def foo(self) :
print(id(self))
@classmethod
def foo1(cls):
print(cls)
@staticmethod
def foo2():
print(“hhh”)
a=Myclass()#创建实例方法
b=Myclass()#有创建一心的实例
c=Myclass()
print(id(a))
a.foo()
b.foo()
c.foo()

Myclass.foo()只是错误的,不可以被调用,不可以实例化.

print(id(Myclass))
Myclass.foo1()
Myclass.foo2()
#类方法:定义类方法要使用装饰器@classmethod,定义的第一一个参数只能对象的引用,可以通过类或实例直接调用
#静态方法:定义静态方法要是用@staticmethod,没有默认的参数必须的参数,

类方法

对象方法

够造方法

静态方法

类的定义与创建

class Person():
#name=”zs”#成员变量
#name=None
myname=None

def __init__(self,__myname__):          #  构造方法
    self.__myname__=__myname__

def show(self,s,b):  #等同于java中的this show(this){}
     print(self.__myname__,s,b)

P=Person(“jjjj”)

__myname=”lisi”

P.show(“hh”,”hh”)

print(P.name)

封装

class TestClassMethod(object):

METHOD = 'method hoho'

def __init__(self):
    self.name = 'leon'

def test1(self):
    print ('test1')
    print (self)

@classmethod
def test2(cls):
    print (cls)
    print ('test2')
    print (TestClassMethod.METHOD)
    print ('----------------')

@staticmethod
def test3():
    print (TestClassMethod.METHOD)
    print ('test3')

if name == ‘main‘:
a = TestClassMethod()
a.test1()
a.test2()
a.test3()
TestClassMethod.test3()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值