Python 8 类和对象

本文详细介绍了Python中类和对象的基本概念,包括类的定义、实例化、成员方法及属性的使用,探讨了公有与私有的区别,并通过示例展示了继承与组合的应用方式。此外还介绍了类的内置函数如super()的使用方法。

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

类的基本定义

class 关键字 :
        成员方法

注:关键字首字母要大写

实例化对象:
      class  Car():
               def glaring(self):
                      print("my name is Olive Queen")
      a=Car()
      a.glaring()
      my name is Olive Queen

公有和私有
________________________________________
>>> class Person:            
    name="666"
>>> a=Person()
>>> a.name                    #公有成员直接访问
'666'
________________________________________
>>> class Person:
    __name="666"
    def getname(self):
        return self.__name
>>> a=Person()
>>> a.getname()       #私有成员内部访问(内部函数)
'666'
________________________________________
>>> class Person:
    __name="666"
>>> a=Person
>>> a._Person__name       #私有成员通过“_类名__对象名”访问
'666'



继承
import random as r

class Fish:               #基类
    def __init__(self):
        self.x = r.randint(0,10)
        self.y = r.randint(0,10)
    def move(self):
        self.x =self.x -1
        print("我的位置是:",self.x,self.y)

class Goldfish(Fish):        #子类
    pass

class Carp(Fish):               #子类
    pass

class Salmon(Fish):             #子类
    pass

class Shark(Fish):               #子类
    def __init__(self):
        super().__init__()           #super()函数直接继承基类的函数
        self.hungry=True

def eat(self):
if self.hungry:
            print("no eat")

类组合
class Turtle:
    def __init__(self, x):
        self.num = x

class Fish:
    def __init__(self, x):
        self.num = x

class Pool:
    def __init__(self, x, y):
        self.turtle = Turtle(x)
        self.fish = Fish(y)

    def print_num(self):
        print("水池里总共有乌龟 %d 只,小鱼 %d 条!" % (self.turtle.num, self.fish.num))


BIF...

1,判断是否为子类   issubclass(子类,基类)

>>> class B():
    pass

>>> class A(B):
    pass

>>> issubclass(A,B)
True
>>>


2.isinstance(实例对象,类)判断对象是否属于类

>>> class A:
    pass

>>> a=A()
>>> isinstance(a,A)
True
>>>

3.property()便于后期维护

>>> class A():
    def __init__(self,size=100):
        self.size=size
    def myname(self):
        return self.size
    def hername(self):
        return self.size
    def hisname(self):
        return self.size
    x=property(myname,hername,hisname)

>>> a=A()
>>> a.myname()
100
>>> a.x
100




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值