python第四十课——构造函数

1.动态给对象添加属性:

在对象创建完毕后,单独为其添加需要的属性;可以理解为:私人定制

【注意】:

添加的属性只有此对象能够使用,别的对象如果用了,直接报错;

2.构造函数/构造方法/构造器:

格式:__init__(self,...):

作用:

1).创建对象

2).为对象的属性赋值

【注意】:

1).构造函数也是函数,同样没有函数重载之说,

也就意味着,如果在一个类中出现多个同名的构造函数,最后一个覆盖之前所有的

2).如果人为不显示的定义构造函数,那么系统会默认提供给类一个空参数的构造,

如果显示的定义了(不管几个)、系统就不会提供了

演示构造函数的使用:作用:1).为创建对象做准备(创建对象一定会调用构造函数)2).为对象的属性赋值
class Person:
    #定义三个参数的构造函数:self不算在内
    def __init__(self,name,age,address):
        print(‘我是三个参数的构造...‘)
        self.name=name
        self.age=age
        self.address=address

    ‘‘‘
    回顾:
    在python中没有函数重载,如果在同一个作用域中定义了多个重名函数;
    最后一个会覆盖前面所有的,构造函数也是如此;
    ‘‘‘
    def ini__(self):
        print(‘我是空参数的构造...‘)

    def details(self):
        print(‘名字:‘+ self.name + ‘,年龄:‘ + str(self.age) + ‘,籍贯:‘+ self.address )

#创建Person对象
p1=Person(‘李白‘,30,‘上海‘)
p1.details()

p2=Person(‘杜甫‘,25,‘深圳‘)
p2.details()

p3=Person()
print(p3)

原文地址:https://www.cnblogs.com/hankleo/p/10454208.html

时间: 2024-10-11 12:23:28

python第四十课——构造函数的相关文章

Python进阶(四十九)-初识Flask Blueprint

Python进阶(四十九)-初识Flask Blueprint 前言   在进行Python Web开发时选择Flask框架.项目模块划分阶段,使用Blueprint(这里暂且称之为“蓝本”).Blueprint通过把实现不同功能的module分开,从而把一个大的application分割成各自实现不同功能的module.在一个Blueprint中可以调用另一个blueprint的view function, 但要加相应的blueprint名.   Blueprint还有其他好处,其本质上来说就

Python进阶(四十)-数据可视化の使用matplotlib进行绘图

Python进阶(四十)-数据可视化の使用matplotlib进行绘图 前言 ??matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包.我将在这篇文章中介绍matplotlib API的核心对象,并介绍如何使用这些对象来实现绘图.实际上,matplotlib的对象体系严谨而有趣,为使用者提供了巨大的发挥空间.用户在熟悉了核心对象之后,可以轻易的定制图像.matplotlib的对象体系也是计算机图形学的一个优秀范例.即使你不是Python程序员,你也可以从文中

python学习第十课 多路复用、ThreadingTCPServer、线程与进程

python 第十课 多路复用 I/O多路复用指:通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作 select    poll          epoll 网络操作.文件操作.终端操作等均属于IO操作,对于windows只支持Socket操作,其他系统支持其他IO操作,但是无法检测.如普通文件操作自动上次读取是否已经变化.所以主要用来网络操作 windows 和 mac的python 只提供select,linux上的python

python第四十五课——继承性之多继承

测试模块 演示多继承的结构和使用: 子类:Child 直接父类(多个):Father.Mother 注意: 由于有多个直接父类,多个父类都要自己给其属性赋值, 避免混淆,我们使用类名.__init__(...)这样格式的构造调用 from child import Child c = Child(100000000,'漂亮','python') print(c.money,c.faceValue,c.work) c.playing() c.shopping() c.smoking() 原文地址:

python第四十六课——函数重写

3.函数重写(override) 前提:必须有继承性 原因: 父类中的功能(函数),子类需要用,但是父类中函数的函数体内容和我现在要执行的逻辑还不相符 那么可以将函数名保留(功能还是此功能),但是将函数体重构: 注意: 子类重写父类的函数,除了函数体以外的部分,直接复制父类的即可 演示函数重写的使用以及格式: class Fu: def test(self): print('九阳神功...') class Zi(Fu): def test(self): print('九阳神功...') supe

python第四十九天--paramiko模块安装大作战

准备开始学习:paramiko模块,发现这个模块十分难搞 安装不上 搞了半天,win10 64下 pytyon 3.6 的 paramiko模块 死活安不上,在网上不断的找资料,可是没有用,没有用啊 无法,用虚拟机搞个centos7,安装,失败,再安装,再失败,上网找资料,终搞定,分享一下经验,免得大家再踩坑. 环境 centos 7 ,自带python 2.7,不用管它 安装新python3 第一步:下载python3.5安装包: wget --no-check-certificate htt

第四十课、前置操作符和后置操作符

一.i++和++i有没有区别? 1.现代编译器产品会对代码进行优化 2.优化使得最终二进制程序更加高效 3.优化后的二进制程序丢失了c/c++的原生语义 4.不可能从编译后的二进制程序还原c/c++程序 //由此可知,单行的i++和++i在汇编层的代码完全一样 int i = 0; 0123136E mov dword ptr [i],0 i++; 01231375 mov eax,dword ptr [i] 01231378 add eax,1 0123137B mov dword ptr [

python学习第十课续 :线程池

线程分步走 t=threading.Thread(target=fun,args=()) t.start() 执行流程:         threading.Thread(target=fun,args=()) à           self.__target = target          self.__name = str(name or _newname())          self.__args = args         t.start  à           _star

第四十课:CSS3 transition详解

W3C中对transition是这样描述的:允许css的属性值在一定的时间内平滑的过渡,也就是说,以动画的效果改变css的属性值. transition主要包含4个属性值:transition-property:样式名:transition-duration:持续时间:transition-timing-function:缓动公式:transition-delay:延迟多长时间才触发.接下来我们来详细讲下这四个属性值. transition-property transition-propert