iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python面向对象之类和对象
  • 277
分享到

Python面向对象之类和对象

2024-04-02 19:04:59 277人浏览 独家记忆

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 正在学习...

类方法


格式:
@claSSMethod
def 方法名(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

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: Python面向对象之类和对象

本文链接: https://www.lsjlt.com/news/159798.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python面向对象之类和对象
    目录类定义类定义类和属性类中方法对象方法(普通方法)类方法静态方法魔术方法对象创建对象对象属性总结 类 定义类 所有类名首字母要求大写,多个单词时遵循驼峰命名法 所...
    99+
    2022-11-12
  • Python面向对象之入门类和对象
    目录什么是面向对象编程?定义类,从具体代码来感受吧!多个类和对象的观察补充一下类的属性(数据部分)总结什么是面向对象编程? 我们是不是听过面向过程,拿来放在一起对比就比较好理解了。 ...
    99+
    2022-11-12
  • python 面向对象、类、对象
    class 类 object 对象 object-oriented programming 面向对象,简称OOP attribute 属性 method 方法 inheritance 继承 python中通过类和对象来实现 ...
    99+
    2023-01-31
    面向对象 对象 python
  • python面相对象之类和对象
      类和对象是python面相对象中两个重要的概念,类是客观世界中事物的抽象,而对象是类实例后的变量,比如汽车模型可以造出各种各样的汽车,汽车模型就是类,汽车就是汽车模型抽象出来的实例,这里有必要还有说一下方法,函数在类中叫方法,比如汽车...
    99+
    2023-01-31
    对象 面相 python
  • Python入门之面向对象和类
    目录一、两大编程思想二、类与对象三、定义Python中的类四、对象创建五、类属性、类方法、静态方法六、动态绑定属性和方法七、面向对象的三大特征八、方法重写总结一、两大编程思想 二、...
    99+
    2022-11-12
  • python面向对象之类成员
    一、概述       上篇《python面向对象OOP》介绍了python面向对象的基础初级入门部分,提到了类的定义,使用,类的三大特性;经典类,新式类在查找时的区别等,有了前面的基础,本文接着描述面向对象中类成员;先整体描述下,类中的成员...
    99+
    2023-01-31
    面向对象 成员 python
  • python 面向对象之类方法
    类方法通过@classmethod装饰器实现,类方法和普通方法的区别是, 类方法只能访问类变量,不能访问实例变量举个例子class Dog(object):     def __i...
    99+
    2023-01-30
    面向对象 方法 python
  • python面向对象,类
    1:类和对象    是面向对象中的俩个重要概念,类是对事物的抽象,比如人类,球类。对象是事物的实例,比如足球,篮球。球类可以对球的特征和行为进行抽象,然后可以实例化一个真实的球体出来。2:类的定义    类把需要的变量和函数组合成一起,这种...
    99+
    2023-01-31
    面向对象 python
  • Python面向对象之面向对象基本概念
    面向过程和面向对象概念 过程和函数:过程类似于函数,只能执行,但是没有返回结果;函数不仅能执行,还能返回结果。 面向过程和面向对象 基本概念 面向过程-怎么做 把完成某一个需求的所有步骤从头到尾逐步实现; 根据开发需求,将某些功能独立的...
    99+
    2023-01-31
    面向对象 基本概念 Python
  • Java 面向对象 之 抽象类 abstract
    转载于 : http://www.verejava.com/id=16992804621647 public class TestAbstract {public static&n...
    99+
    2023-06-02
  • python 面向对象之类的继承
    python中什么是继承:新类不必从头编写新类从现有的类继承,就自动拥有了现有类的所有功能新类只需要编写现有类缺少的新功能继承的好处:复用已有代码自动拥有了现有类的所有功能只需要编写缺少的新功能继承的特点:子类和父类是is关系python继...
    99+
    2023-01-30
    面向对象 python
  • Python面向对象的类和对象怎么使用
    这篇文章主要介绍“Python面向对象的类和对象怎么使用”,在日常操作中,相信很多人在Python面向对象的类和对象怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python面向对象的类和对象怎么使用...
    99+
    2023-06-22
  • Python面向对象之为何要用类
      对于非程序员科班出身的技术人员,理解很多开发思想领域里面的事情,其实是一件挺痛苦的事情,直到接触到了Python当中的类,我才明白了什么是面向对象,更多的理解还是要通过实际的代码操练才能够慢慢的掌握。今天记录一下什么是面向对象,在Pyt...
    99+
    2023-01-31
    要用 面向对象 Python
  • Python面向对象中类和对象的示例分析
    这篇文章主要介绍了Python面向对象中类和对象的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是面向对象编程?我们是不是听过面向过程,拿来放在一起对比就比较好理...
    99+
    2023-06-22
  • python中面向对象_类_对象的概念与
    1. 面向对象的概念,面向对象是一种编程思想。 是对现实世界中一类事物的抽象,在编程中可以理解为是一种建立现实世界事物的模型     2.  面向对象和面向过程的区别: 面向过程关注的是完成工作的步骤。 面向对象关注的是谁能完成工作。 面...
    99+
    2023-01-30
    面向对象 对象 概念
  • python之路day06 面向对象
    面向对象(你就是上帝): 世间万物,皆可分类 世界万物,皆为对象 https://www.cnblogs.com/alex3714/articles/5188179.html 面向对象编程 OOP编程是利用“类”和“对象”来创建各种模型来...
    99+
    2023-01-30
    之路 面向对象 python
  • python之初始面向对象
    1. 初识面向对象   面向过程:     一切以事务的发展流程为中心.   面向对象:     一切以对象为中心. 一切皆为对象. 具体的某一个事务就是对象 2. 类. 对象 ...
    99+
    2023-01-30
    面向对象 python
  • python 面向对象之变量
    类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。实例变量:定义在方法中的变量,只作用于当前实例的类。类变量的用途?大家公共的属性,节省开销看下面一段代码class Role...
    99+
    2023-01-30
    变量 面向对象 python
  • python 面向对象之多态
    多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。那么,多态的...
    99+
    2023-01-30
    面向对象 多态 python
  • python之成员(面向对象)
    1. 成员   在类中你能写的所有内容都是类的成员    class Person: def __init__(self, name, gender): self.name = name # 成员...
    99+
    2023-01-30
    面向对象 成员 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作