一. 类的定义

class类名():

代码

#定义类

classWasher():defwash(self):print("洗衣服")

注意:类名要满足标识符命名规则,同时遵循大驼峰命名习惯。

二. 创建对象

对象名 = 类名()

#创建对象

w =Washer()#调用方法

w.wash() #洗衣服

三. self

self指的是调用该函数的对象。相当于java中的this

四. 给对象添加属性

1.在类外面添加属性

对象名.属性名 = 值

#创建对象

w =Washer()#添加和设置属性

w.width = 100w.heigth= 500

#获取属性的值

print(w.heigth) #500

print(w.width) #100

在类外面设置的属性可在类方法上通过self获取到:

#定义类

classWasher():defwash(self):print(self.height) #500

#创建对象

w =Washer()#添加和设置属性

w.width = 100w.height= 500

#获取属性的值

print(w.height) #500

print(w.width) #100

w.wash()

五. 魔法方法

在Python中,`__xx__()`的函数(双下划线开头和结尾的函数)叫做魔法方法,指的是具有特殊功能的函数。

1. __init__() 初始化方法

1.1 __init__() 方法的作用

__init__()方法,在创建一个对象时默认被调用,不需要手动调用。`__init__(self)`中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递过去。

#定义类

classWasher():def __init__(self):

self.width= 100self.height= 500

#创建对象

w =Washer()#获取属性的值

print(w.height) #500

print(w.width) #100

1.2 带参数的`__init__()`

`__init__()`可以传递参数,在创建对象时候传入,如 `__init__(self, width, height)`

#定义类

classWasher():def __init__(self, width, height):

self.width=width

self.height=height#创建对象

w = Washer(100, 500)#获取属性的值

print(w.height) #500

print(w.width) #100

说明

1. w = Washer(100, 500)中的100 和500 分别对应 __init__(self, width, height) 中的width 和height, 创建Washer对象时,自动调用__init__()并将这两个值传入完成对象初始化

2. 第一个参数默认为self,由解释器自动传入,创建对象时不传

3. 通过self在类中可以定义需要的属性, 如self.width = width 即是定义了一个width属性

2 __str__() 方法

当使用print输出对象的时候,默认打印对象的内存地址。如果类定义了`__str__`方法,那么就会打印从在这个方法中 return 的数据。

#定义类

classWasher():def __init__(self, width, height):

self.width=width

self.height=heightdef __str__(self):return f"这是一台洗衣机。。。长{self.height}, 宽{self.width}"

#创建对象

w = Washer(100, 500)print(w) #这是一台洗衣机。。。长500, 宽100

3 __del__() 方法的作用

当删除对象时,python解释器会默认调用`__del__()`方法。

#定义类

classWasher():def __init__(self, width, height):

self.width=width

self.height=heightdef __del__(self):print("这台洗衣机要被删除了") #删除对象时执行

#创建对象

w = Washer(100, 500)#删除对象

del w #这台洗衣机要被删除了

python面向对象类_python面向对象-类和对象相关推荐

  1. python如何定义类_Python 面向对象

    Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触过 ...

  2. python不完全支持面向对象程序设计_Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】...

    本文实例讲述了Python面向对象程序设计OOP.分享给大家供大家参考,具体如下: 类是Python所提供的最有用的的工具之一.合理使用时,类可以大量减少开发的时间.类也在流行的Python工具中使用 ...

  3. python编程语言继承_Python面向对象程序设计类的封装与继承用法示例

    本文实例讲述了Python面向对象程序设计类的封装与继承用法.分享给大家供大家参考,具体如下: 访问限制(封装) 1.概念 面向对象语言的三大特征:封装, 继承, 多态. 广义的封装: 类和函数的定义 ...

  4. python如何设计工具类_Python面向对象 --- 类的设计和常见的内置方法

    面向对象:一种基于面向过程的新的编程思想.也就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节:这种思想是将数据作为第一位,而方法或者说是算法作为其次,这是对数据一种 ...

  5. python面向对象类_python:面向对象(类)

    #!usr/bin/env python # -*- coding:utf-8 -*- __author__ = "Samson" ###类变量与实例变量 class Role: ...

  6. python object类_Python中一切皆对象,这个对象究竟是什么?

    点击上方蓝字CGRnDStudio关注我们" CG TD编程技术相关领域自媒体 " 作者:古明地盆 https://www.cnblogs.com/traditional/p/13 ...

  7. python封装举例_Python面向对象封装操作案例详解

    本文实例讲述了Python面向对象封装操作.分享给大家供大家参考,具体如下: 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 -- 将 属性 和 ...

  8. python面向对象继承_Python 面向对象 --- 继承

    目标 单继承 多继承 面向对象三大特性 1,封装 根据 职责 将 属性 和 方法 封装 到以抽象的 类 中 2,继承 实现代码的重用,相同的代码不需要重复的缩写 3,多态 不同的对象调用相同的方法,产 ...

  9. python完全支持面向对象编程_python面向对象编程----009

    本篇内容: 1.反射 2.面向对象编程 3.面向对象三大特性 4.类成员 5.类成员修饰符 6.类的特殊成员 7.单例模式 反射 python中的反射功能是由以下四个内置函数提供:hasattr.ge ...

  10. python self理解_Python面向对象总结,让你快速掌握面向对象常用的用法

    python等面向对象的提出是为了更好的处理和管理同属一个类别的事情,这样就可以省去多余重复的基础代码,让程序变得更加简洁和强大.对于学习编程的朋友来说,熟悉掌握面向对象是非常重要的. 下面开始讲讲关 ...

最新文章

  1. 大学python选择题题库及答案_大学慕课用Python玩转数据题库及答案
  2. 一个奇怪的异常,帮忙看一下
  3. asp.net 设置分页
  4. api地理编码_通过地理编码API使您的数据更有意义
  5. 让你python代码更快的3个小技巧
  6. linux NAND驱动之三:6410平台上的NAND驱动加载
  7. 计算机专业最低院校门槛,2021年全国各省高考高校录取最低位次排名查询系统...
  8. Web前端三大主流框架是什么?Web前端前景与就业形势
  9. windows server 2012 usb redirection with remoteFX
  10. 载入java VM时出错216_Android6.0中oat文件的加载过程
  11. 华为服务器找不到阵列卡_DELL R730服务器配置RAID及安装服务器系统
  12. 哪个软件能做英语测试,英语考试软件哪个好用 英语考试软件神器推荐
  13. 谷歌浏览器帮助用户在安装前识别不受信任的扩展
  14. 网站刷关键词_B2B关键词调研:如何精准地定位B端客户?(下)
  15. ai的布尔运算在哪_在AI中如何进行布尔运算
  16. git reflog 恢复已删除分支
  17. 方寸微 T620 存储安全芯片 安全存储 USB3.0 U盘/移动硬盘
  18. 面板行业从“渐冻”中复苏,TCL科技大尺寸面板龙头站上C位
  19. Linux上杀毒软件有哪些?
  20. WR | 西湖大学鞠峰组揭示微塑料污染对人工湿地菌群与脱氮功能的影响

热门文章

  1. Refusing to install package with name “vue-i18n“ under a package
  2. Jquery 日期组件
  3. java实现遍历文件夹下的文件及文件夹
  4. 当自己犹豫时,坐下来读一读
  5. 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
  6. (解决)can't connect to redis-server
  7. win10 下安装、配置、启动mysql5.7
  8. 递归(特别重要,小计算用)
  9. java 杭州专卖店_杭州JAVA哪家有名气
  10. ip访问次数统计 nginx_PHP实现IP访问限制及提交次数的方法详解