当前位置: 首页 > 编程日记 > 正文

Python中如何使用构造方法定义类

每个类都有一个默认的__init__()方法,如果在定义类时显式地定义了__init__()方法,则创建对象时Python解释器会调用显式定义的__init__()方法;如果定义类时没有显式定义__init__()方法,那么Python解释器会调用默认的__init__()方法。

__init__()方法按照参数的有无(self除外)可分为有参构造方法和无参构造方法,无参构造方法中可以为属性设置初始值,此时使用该方法创建的所有对象都具有相同的初始值。若希望每次创建的对象都有不同的初始值,则可以使用有参构造方法实现。

例如,定义一个类Information,在该类中显式地定义一个带有3个参数的__init__()方法和info()方法,示例代码如下:

01

上述代码中首先定义了一个包含三个参数的Information类,然后通过参数name与sex为属性name和sex进行赋值,最后在info()方法中访问属性name和sex的值。

因为定义的构造方法中需要接收两个实际参数,所以在实例化Information类对象时需要传入两个参数,示例代码如下:

02

运行代码,结果如下所示:

03

注意:

前面在类中定义的属性是类属性,可以通过对象或类进行访问;在构造方法中定义的属性是实例属性,只能通过对象进行访问。

相关文章:

vs中将网站aspx.cs文件打包成一个dll

vs中将网站aspx.cs文件打包成一个dll 23小时前 vs中将网站asp.net cs文件打包成一个dll。 在vs2008以上的版本中可以建立web应用来开发网站,这样网站aspx.cs文件【生成网站】的时候就会自动生产单个dll,如果使用的是网站的话那就不能。那介绍一种微软提…

刻意练习:LeetCode实战 -- Task05. 最接近的三数之和

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法(Leetcode)刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式,即选择了五个知识点(数组、链表、字符串、树、贪心算法),每个知识点选择了…

ECMAScript6——Set数据结构

/*** 数据结构 Set*/// ----------------------------------------------------- /*** 集合的基本概念:集合是由一组无序且唯一(即不能重复)的项组成的。这个数据结构使用了与有限集合相同的数学概念,应用在计算机的数据结构中。*…

UI设计培训需要学哪些内容

想要学习UI设计并没有想象中那么简单的,UI设计需要学习的内容有很多,那么具体UI设计培训需要学哪些内容呢?来看看下面小编的详细介绍就知道了。 UI设计培训需要学哪些内容? 在ui设计中,需要的基础是一些简单的美术基础和平面设计基础&#…

4.html 头部随笔

1、html头部标记<base>&#xff1a;当前文档的URL全称&#xff08;基底地址&#xff09;<basefont>&#xff1a;设定基准的文字字体、字号和颜色<title>&#xff1a;网页标题<isindex>&#xff1a;表明文档是一个可用于检索的网管脚本&#xff0c;有服…

Python统计字符串中的中英文字符、数字空格,特殊字符

# -*- coding:utf8 -*-import stringfrom collections import namedtupledef str_count(s): 找出字符串中的中英文、空格、数字、标点符号个数 count_en count_dg count_sp count_zh count_pu 0 s_len len(s) for c in s: # 英文 if c in stri…

刻意练习:LeetCode实战 -- Task07. 合并两个有序链表

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

Java入门培训班怎么选择

想要学习java技术&#xff0c;小编一直给小伙伴推荐的是报班学习&#xff0c;目前市面上的java培训机构有很多&#xff0c;对于java培训班的选择很多小伙伴都比较迷茫&#xff0c;下面小编就为大家详细的介绍一下Java入门培训班怎么选择的问题。 Java入门培训班怎么选择?一般正…

开源图形库 FreeImage

一个自由、开源的图形库--FreeImage (支持位图构件―例 如调色板和数据位―的便易访问&#xff1b;将位图从一种位深度转换到另一种位深度&#xff1b;当有多幅位图页―例如TIFF―时访问位图的不同页&#xff1b;基本的位图处理&#xff0c;如旋转、翻 转&#xff08;flipping&…

刻意练习:LeetCode实战 -- Task08.删除排序链表中的重复元素

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

notepad++ 快捷键

2019独角兽企业重金招聘Python工程师标准>>> 1. 文件相关 快捷键动作定义Ctrl-O打开文件Ctrl-N新建文件Ctrl-S保存文件Ctrl-Alt-S文件另存为Ctrl-Shift-S保存所有打开文件Ctrl-P打印Alt-F4退出程序Ctrl-Tab文件标签跳转&#xff0c;跳至下一个打开文件Ctrl-Shift-Ta…

怎样使用Spring Boot项目的单元测试

在实际开发中&#xff0c;每当完成一个功能接口或业务方法的编写后&#xff0c;通常都会借助单元测试验证该功能是否正确。Spring Boot对项目的单元测试提供了很好的支持&#xff0c;在使用时&#xff0c;需要提前在项目的pom.xml文件中添加spring-boot-starter-test测试依赖启…

关于生成id的问题

表明表最大id 方法1&#xff1a; GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[getserial] serialname char(30) AS begin declare serialno int begin transaction select serialno SV_nSerial from SystemVariable with(TABLOCKX HOLDLOCK…

刻意练习:LeetCode实战 -- Task09. 环形链表

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

CentOS学习笔记 - 9. docker maven编译基于gofabric8的java应用镜像

2019独角兽企业重金招聘Python工程师标准>>> 续上一篇 1. 修改java工程的pom.xml &#xff0c; 加入docker编译插件 <plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.0.0</…

Java虚拟机中获得Runtime实例的方法是什么?

Runtime类用于表示Java虚拟机运行时的状态&#xff0c;它用于封装Java虚拟机进程。每次使用“java”命令启动Java虚拟机时都会对应一个Runtime实例&#xff0c;并且只有一个实例&#xff0c;应用程序会通过该实例与其运行时的环境相连。应用程序不能创建自己的Runtime实例&…

仿百度文库方案[openoffice.org 3+swftools+flexpaper](三) 之 使用JODConverter将office文档转换为pdf...

第三步&#xff0c;使用JODConverter将office文档转换为pdf JODConverter是一个java的OpenDucument文件转换器&#xff0c;可以进行许多文件格式的转换&#xff0c;它利用 OpenOffice来进行转换工作&#xff0c;它能进行以下的转换工作&#xff1a; 1.Microsoft Office格式转换…

刻意练习:LeetCode实战 -- Task10. 两数相加

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

Ether-channel 以太网通道

Ether-channel通常称之为以太网链路捆绑&#xff0c;或者叫链路汇聚&#xff0c;链路聚合。作用&#xff1a;将多个类似的接口&#xff0c;捆绑成一个逻辑接口&#xff0c;从而增加设备之间的传输带宽增加设备之间的连接可靠性不但可以在链路设备之间形成链路备份&#xff0c;还…

web前端开发培训有哪些学习阶段

​ web前端技术主要针对于移动互联网是比较多的&#xff0c;对于零基础的同学来说前期主要学习基本的静态布局&#xff0c;HTML CSS&#xff0c;下面是web前端开发培训有哪些学习阶段的具体内容。 ​ web前端开发培训有哪些学习阶段? 一、html5如何学习 1.HTML5 CSS3 JQ …

自己动手重新实现LINQ to Objects: 9 - SelectMany

本文翻译自Jon Skeet的系列博文“Edulinq”。 本篇原文地址&#xff1a; http://msmvps.com/blogs/jon_skeet/archive/2010/12/27/reimplementing-linq-to-objects-part-9-selectmany.aspx 我们接下来要实现的这个操作符是LINQ中最重要的操作符。大多数&#xff08;或者是全部…

1.8 centos7 的PATH、cp/mv/文档查看命令介绍

环境变量PATH什么是环境变量&#xff1f;环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数&#xff0c;如&#xff1a;临时文件夹位置和系统文件夹位置等。[rootcentos7 ~]# echo $PATH #查看PATH环境变量 /usr/local/sbin:/usr/local/bin:/usr/sbin…

刻意练习:LeetCode实战 -- Task11. 删除链表的倒数第N个节点

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

https和http有什么区别?看下面介绍就知道了!

https和http有什么区别?相信很多还在学习软测的同学们&#xff0c;都会有遇到这种问题&#xff0c;下面就是小编给大家介绍的http相关的知识 。 一、http和https基本概念 1. HTTP&#xff1a;是互联网上应用最为广泛的一种网络协议&#xff0c;是一个客户端和服务器端请求和应…

C#图片灰度处理(位深度24→位深度8),用灰度数组byte[]新建一个8位灰度图像Bitmap 。...

原文:C#图片灰度处理(位深度24→位深度8) #region 灰度处理/// <summary>/// 将源图像灰度化&#xff0c;并转化为8位灰度图像。/// </summary>/// <param name"original"> 源图像。 </param>/// <returns> 8位灰度图像。 </return…

日期NSDate的使用

日期类NSDate,存储的是世界标准时(UTC)&#xff0c;输出时需要根据时区转换为本地时间方法description字符串以GMT0展示日期如&#xff1a;2011-11-16 07:02:25 0000测试的北京时间&#xff1a;2011-11-16 15:02:25.324/))))((((/格式化日期类型&#xff0c;使用NSDateFormatte…

刻意练习:LeetCode实战 -- Task12. 合并K个排序链表

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

软测培训机构哪个比较好

软件测试这个岗位是软件开发过程中非常重要的一步&#xff0c;一个软件的开发是少不了软测工程师的&#xff0c;近几年&#xff0c;软测的发展前景越来越可观&#xff0c;很多人都想学习软测技术&#xff0c;那么市面上软测培训机构哪个比较好呢?来看看下面的详细介绍。 软测培…

刻意练习:LeetCode实战 -- Task13. 罗马数字转整数

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

[翻译]ASP.NET MVC 3 开发的20个秘诀(十二)[20 Recipes for Programming MVC 3]:缩放图片尺寸创建缩略图...

议题 用户上传到网站上的大多数的图片都是大尺寸的照片&#xff0c;通常在用户想看完整图片之前网站会展示出这些图片或照片的缩略图。 解决方案 使用以下的类来调整上传的图片文件的宽和高&#xff1a;FileStream&#xff0c;Image&#xff0c;Bitmap和Graphics。 讨论 在下面…