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 #这台洗衣机要被删除了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532049.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vant部署_vant ui rem配置流程

参考地址 https://www.cnblogs.com/WQLong/p/7798822.html1.下载lib-flexible使用的是vue-cliwebpack,通过npm来安装的npm i lib-flexible --save2.引入lib-flexible在main.js中引入lib-flexibleimport ‘lib-flexible/flexible‘3.设置meta标签通过meta标签&#…

terminal services 找不到_电脑局域网中查看不到其他计算机或无法连接的解决办法...

在办公环境中,电脑经常需要打开网络,进行一些文件共享的操作,但是有时会出现很多无法共享的情况,之前有一篇文章讲过解决办法,今天再来将一下具体无法共享的错误提示和相对应的处理方法,主要有以下几种情况…

如何避免mysql回表查询_mysql如何避免回表查询

《迅猛定位低效SQL?》留了一个尾巴:select id,name where name‘shenjian‘select id,name,sexwhere name‘shenjian‘多查询了一个属性,为何检索过程完全不同?什么是回表查询?什么是索引覆盖?如何实现索引…

python爬虫开发数据库设计入门经典_Python3实现的爬虫爬取数据并存入mysql数据库操作示例...

本文实例讲述了Python3实现的爬虫爬取数据并存入mysql数据库操作。分享给大家供大家参考,具体如下:爬一个电脑客户端的订单。罗总推荐,抓包工具用的是HttpAnalyzerStdV7,与chrome自带的F12类似。客户端有接单大厅,罗列…

python中multiply函数_python中numpy库内multiply()、dot()和 * 三种乘法运算的区别小计...

首先,导入函数包:import numpy as np1.np.multiply()函数:数组:(点对点)对应位置元素相乘矩阵:对应位置元素相乘示例:A np.array([[1,2],[3,4]])B np.array([[1,3],[2,4]])A_mat np.mat(A)B_mat np.mat(B)A_B_mult…

安装python3.6.1_如何安装python3.6.1/

如何在win7下安装Python及配置1、首先,从搜索python官载适合自己电脑python版本。2标右击桌面“计算机”择打开菜单栏中的性”。3、WindowsXP时,在新弹出的属性窗口,选择“高级”->“环境变量”。Windows7是,在新弹出的属性窗口…

编程入门python java和c语言_学习编程适不适合从Python入门?哪种语言更适合入门?...

本文对比了C语言和Python语言,分析它们作为编程入门语言各自的利弊,并给出了我推荐的编程学习道路。我本身已经入门了Python脚本语言,在进阶C语言和JAVA语言后,Python重学就轻松很多,几个小时就拾起了忘记的语法&#…

mysql 备份 一张表_mysql 备份表的一个方法

#--- start# 新建表create table sp2_match_comment_tmp like sp2_match_comment; # 这种方式 外键索引,触发器不会在新表中有,要自己添加LOCK TABLES sp2_match_comment write, sp2_match_comment AS smc2 read, sp2_match_comment_tmp write;# 导出最新…

springmvc的工作原理_SpringMVC工作原理

1 简介SpringMVC框架是以请求为驱动,围绕Servlet设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。其中核心类是DispatcherServlet,它是一个Servlet,顶层是实现的Servlet接口。2 运行原理…

java逻辑运算符_Java逻辑运算符

Java逻辑运算符Java逻辑运算符包含下面6中符号:&& 与 ;&& 与 前后两个操作数必须都是true才返回true,否则返回false& 不短路与 ; & 不短路与 表达式都会执行到|| 或; || 或 只要两个操作数中有一个是tru…

跨站点请求伪造_十大常见web漏洞——跨站点请求伪造(CSRF)

CSRF介绍什么是CSRF呢?我们直接看例子。https://mp.toutiao.com/profile_v3/graphic/preview?dodelete&pgc_id6829574701128352260这个URL是头条删除pgc_id为6829574701128352260的一篇文章的连接,通过执行这个URL用户就可以删除这篇文章。首先攻击…

java多线程队列_java多线程消费者生产者模式(BlockingQueue 通过阻塞队列实现)

import java.util.concurrent.BlockingQueue;import java.util.concurrent.LinkedBlockingQueue;/*** Created with IntelliJ IDEA.* User: csx* Date: 4/24/14* Time: 9:56 AM* To change this template use File | Settings | File Templates.** 生产者与消费者模型中&#x…

unique函数_C++核心准则C.35:基类的析构函数必须满足的条件

C.35: A base class destructor should be either public and virtual, or protected and nonvirtual基类的析构函数要么是公开的虚函数,要么是保护的非虚函数Reason(原因)To prevent undefined behavior. If the destructor is public, then calling code can atte…

java jta 例子_Java事务处理全解析(八)——分布式事务入门例子(Spring+JTA+Atomikos+Hibernate+JMS)...

在本系列先前的文章中,我们主要讲解了JDBC对本地事务的处理,本篇文章将讲到一个分布式事务的例子。请通过以下方式下载github源代码:本地事务和分布式事务的区别在于:本地事务只用于处理单一数据源事务(比如单个数据库)&#xff0…

python连接redis哨兵_Python redis.sentinel方法代码示例

本文整理汇总了Python中redis.sentinel方法的典型用法代码示例。如果您正苦于以下问题:Python redis.sentinel方法的具体用法?Python redis.sentinel怎么用?Python redis.sentinel使用的例子?那么恭喜您, 这里精选的方法代码示例或…

交换两个数组 差最小 java_如何交换两个等长整形数组使其数组和的差最小(C和java实现)...

1 importjava.util.Arrays;23 /**4 *5 *authorAdministrator6 *7 */8 public classTestUtil {9 private int[] arrysMin null;1011 private int[] arrysMax null;1213 private int matchNum 0;1415 private boolean hasMatched false;1617 /**18 * 返回数组的所有元素的总和…

python 判断子序列_Leetcode练习(Python):第392题:判断子序列:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。...

题目&#xff1a;判断子序列&#xff1a;给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~ 500,000)&#xff0c;而 s 是个短字符串(长度 <100)。字符串的一个子序列是原始字符串删除一些(也可…

垂直串联六关节机器人调试手册_工业机器人有哪些应用你知道吗?

目前&#xff0c;工业机器人大部分集中于传统的焊接、喷涂等领域&#xff0c;我国工业机器人的核心部件和整机市场仍被国外垄断&#xff0c;工业机器人要面向整个智能制造市场&#xff0c;还需要具备应对整个智能制造过程中大多数工艺的能力&#xff0c;而工业互联网则是实现智…

flume avro java 发送数据_flume将数据发送到kafka、hdfs、hive、http、netcat等模式的使用总结...

1、source为http模式&#xff0c;sink为logger模式&#xff0c;将数据在控制台打印出来。conf配置文件如下&#xff1a;# Name the components on this agenta1.sources r1a1.sinks k1a1.channels c1# Describe/configure the sourcea1.sources.r1.type http #该设置表示接…

python三角函数拟合_使用python进行数据拟合最小化函数

这是我对这个问题的理解。首先&#xff0c;我通过以下代码生成一些数据import numpy as npfrom scipy.integrate import quadfrom random import randomdef boxmuller(x0,sigma):u1random()u2random()llnp.sqrt(-2*np.log(u1))z0ll*np.cos(2*np.pi*u2)z1ll*np.cos(2*np.pi*u2)r…