python面向对象类_python面向对象-类和对象
一. 类的定义
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面向对象-类和对象相关推荐
- python如何定义类_Python 面向对象
Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触过 ...
- python不完全支持面向对象程序设计_Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】...
本文实例讲述了Python面向对象程序设计OOP.分享给大家供大家参考,具体如下: 类是Python所提供的最有用的的工具之一.合理使用时,类可以大量减少开发的时间.类也在流行的Python工具中使用 ...
- python编程语言继承_Python面向对象程序设计类的封装与继承用法示例
本文实例讲述了Python面向对象程序设计类的封装与继承用法.分享给大家供大家参考,具体如下: 访问限制(封装) 1.概念 面向对象语言的三大特征:封装, 继承, 多态. 广义的封装: 类和函数的定义 ...
- python如何设计工具类_Python面向对象 --- 类的设计和常见的内置方法
面向对象:一种基于面向过程的新的编程思想.也就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节:这种思想是将数据作为第一位,而方法或者说是算法作为其次,这是对数据一种 ...
- python面向对象类_python:面向对象(类)
#!usr/bin/env python # -*- coding:utf-8 -*- __author__ = "Samson" ###类变量与实例变量 class Role: ...
- python object类_Python中一切皆对象,这个对象究竟是什么?
点击上方蓝字CGRnDStudio关注我们" CG TD编程技术相关领域自媒体 " 作者:古明地盆 https://www.cnblogs.com/traditional/p/13 ...
- python封装举例_Python面向对象封装操作案例详解
本文实例讲述了Python面向对象封装操作.分享给大家供大家参考,具体如下: 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 -- 将 属性 和 ...
- python面向对象继承_Python 面向对象 --- 继承
目标 单继承 多继承 面向对象三大特性 1,封装 根据 职责 将 属性 和 方法 封装 到以抽象的 类 中 2,继承 实现代码的重用,相同的代码不需要重复的缩写 3,多态 不同的对象调用相同的方法,产 ...
- python完全支持面向对象编程_python面向对象编程----009
本篇内容: 1.反射 2.面向对象编程 3.面向对象三大特性 4.类成员 5.类成员修饰符 6.类的特殊成员 7.单例模式 反射 python中的反射功能是由以下四个内置函数提供:hasattr.ge ...
- python self理解_Python面向对象总结,让你快速掌握面向对象常用的用法
python等面向对象的提出是为了更好的处理和管理同属一个类别的事情,这样就可以省去多余重复的基础代码,让程序变得更加简洁和强大.对于学习编程的朋友来说,熟悉掌握面向对象是非常重要的. 下面开始讲讲关 ...
最新文章
- 大学python选择题题库及答案_大学慕课用Python玩转数据题库及答案
- 一个奇怪的异常,帮忙看一下
- asp.net 设置分页
- api地理编码_通过地理编码API使您的数据更有意义
- 让你python代码更快的3个小技巧
- linux NAND驱动之三:6410平台上的NAND驱动加载
- 计算机专业最低院校门槛,2021年全国各省高考高校录取最低位次排名查询系统...
- Web前端三大主流框架是什么?Web前端前景与就业形势
- windows server 2012 usb redirection with remoteFX
- 载入java VM时出错216_Android6.0中oat文件的加载过程
- 华为服务器找不到阵列卡_DELL R730服务器配置RAID及安装服务器系统
- 哪个软件能做英语测试,英语考试软件哪个好用 英语考试软件神器推荐
- 谷歌浏览器帮助用户在安装前识别不受信任的扩展
- 网站刷关键词_B2B关键词调研:如何精准地定位B端客户?(下)
- ai的布尔运算在哪_在AI中如何进行布尔运算
- git reflog 恢复已删除分支
- 方寸微 T620 存储安全芯片 安全存储 USB3.0 U盘/移动硬盘
- 面板行业从“渐冻”中复苏,TCL科技大尺寸面板龙头站上C位
- Linux上杀毒软件有哪些?
- WR | 西湖大学鞠峰组揭示微塑料污染对人工湿地菌群与脱氮功能的影响
热门文章
- Refusing to install package with name “vue-i18n“ under a package
- Jquery 日期组件
- java实现遍历文件夹下的文件及文件夹
- 当自己犹豫时,坐下来读一读
- 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
- (解决)can't connect to redis-server
- win10 下安装、配置、启动mysql5.7
- 递归(特别重要,小计算用)
- java 杭州专卖店_杭州JAVA哪家有名气
- ip访问次数统计 nginx_PHP实现IP访问限制及提交次数的方法详解