千家信息网

Python面向对象的类和对象怎么使用

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍"Python面向对象的类和对象怎么使用",在日常操作中,相信很多人在Python面向对象的类和对象怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2025年01月20日Python面向对象的类和对象怎么使用

这篇文章主要介绍"Python面向对象的类和对象怎么使用",在日常操作中,相信很多人在Python面向对象的类和对象怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python面向对象的类和对象怎么使用"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    定义类

    • 所有类名首字母要求大写,多个单词时遵循驼峰命名法

    • 所有未定义父类的类都继承object

    格式:class 类名[(父类)]:

    #两种方式意思相同class Person:    pass class Person(object):    pass

    定义类和属性

    name、age、subject就是类属性

    class Student:    #类属性    name = ''    age = 0    subject = []

    类中方法

    对象方法(普通方法)
    格式:def 方法名(self[,parm1,parm2...]):    pass

    self就是对象本身

    class Student:    # 类属性    name = 'student'    age = 0    subject = []   # 普通方法    def study(self):        print(self.name, '正在学习...') xiaoming = Student()xiaoming.name = 'xiaoming'xiaoming.study()

    ------------
    输出:
    xiaoming 正在学习...

    class Student:    # 类属性    name = 'student'    age = 0    subject = []   # 普通方法    def study(self, name):        print(name, '正在学习...') s1 = Student()s1.study('xiaohong')

    ----------------
    输出:
    xiaohong 正在学习...

    类方法
    格式:@classmethoddef 方法名(cls):    pass
    • 类方法使用@classmethod装饰器

    • 对象方法传入的是self,类方法传入的是cls

    • 类方法可以直接用类调用,或者可以用类的实例(对象)调用

    class Dog:    dog_type = '阿拉斯加'   def __init__(self, nickname):        self.name = nickname   def dog_run(self):        print('{}在公园里跑.看起来是一只{}.'.format(self.name, self.dog_type))   @classmethod    def dog_sit(cls):        print(cls.dog_type, '很乖,坐下了') dog1 = Dog('肉丸')dog1.dog_type = '小泰迪'dog1.dog_run()Dog.dog_sit()

    --------------
    输出:
    肉丸在公园里跑.看起来是一只小泰迪.
    阿拉斯加 很乖,坐下了

    静态方法
    • 静态方法使用装饰器@staticmethod

    • 静态方法没有参数

    • 当方法跟类属性和对象属性都没有关系的时候,使用静态方法

    • 支持对象和类名直接调用

    class Dog:    def __init__(self, nickname):        self.name = nickname   @staticmethod    def dog_sit():        print('很乖,坐下了') dog1 = Dog('肉丸')dog1.dog_sit()Dog.dog_sit() ---------------------

    输出:
    很乖,坐下了
    很乖,坐下了

    魔术方法
    格式:def __方法名__(self):    pass

    __init__() 构造函数

    • 如果没有__init__。直接利用类向内存申请一个和类一样的空间,给到对象。

    • 如果有__init__。利用类向内存申请一个和类一样空间,内存空间(self)传递给__iniy__,执行__init__的函数。最后将内存空间给到对象。

    对象

    创建对象

    格式:对象名 = 类名()

    class Student:    #类属性    name = ''    age = 0    subject = [] xiaoming = Student()

    对象属性

    • 当创建了对象时,对象会继承类的属性。获取属性的时候,也是从类中获取属性。

    • 当对默认的类属性赋值后(对象名.属性 = xxxx),属性才会变成对象属性。

    class Student:    # 类属性    name = 'student'    age = 0    subject = [] xiaoming = Student()print('类属性:', xiaoming.name)  # 此时是从类中获取的类属性xiaoming.name = 'xiaoming'  # 因为赋值了,此时变成了对象属性print('对象属性:', xiaoming.name) -------------

    输出:
    类属性: student
    对象属性: xiaoming

    到此,关于"Python面向对象的类和对象怎么使用"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

    0