__init__魔术方法(构造方法)

触发时机:实例化对象,初始化的时候触发
功能:为对象添加成员
参数:参数不固定,至少一个self参数
返回值:无

基本用法,至少含有一个参数

class MyClass():
def __init__(self):
self.name = "Chris"
#实例化对象
obj = MyClass()
print(obj.name)

执行

[root@node10 python]# python3 test.py
Chris

多个参数的__init__ 构造方法

class MyClass():
def __init__(self,name):
self.name = name
#实例化对象
obj = MyClass("Ning")
print(obj.name)
obj = MyClass("Ning1")
print(obj.name)

执行

[root@node10 python]# python3 test.py
Ning
Ning1

综合实例

class Plane():
def __init__(self,name,funaction):
self.name = name
self.funaction = funaction
def fly(self):
print(self.name + "会飞")
def capitain(self):
print(self.name + "一般都会有一个驾驶员")
def addoil(self):
print (self.name + "都需要加油")
def plane_info(self):
print ("这种飞机是{},他的功能是{}".format(self.name,self.funaction))
# __init__构造方法,传递参数时,就在实例化类的括号中填写
obj = Plane("战斗机","打仗")
obj.fly()
obj.plane_info() obj1 = Plane("客机","载人")
obj1.capitain()
obj1.plane_info() obj2 = Plane("播种机","播种")
obj2.addoil()
obj2.plane_info()

执行

[root@node10 python]# python3 test.py
战斗机会飞
这种飞机是战斗机,他的功能是打仗
客机一般都会有一个驾驶员
这种飞机是客机,他的功能是载人
播种机都需要加油
这种飞机是播种机,他的功能是播种

类可以是一个,但对象可以实例化出多个,每个对象彼此都是独立的

027. Python面向对象的__init__方法的更多相关文章

  1. Python 类中__init__()方法中的形参与如何修改类中属性的值

    一.__init__()方法 如果__init__()方法为 class Cat(): def __init__(self,num) : self.num=num Python中类的__init__( ...

  2. 第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解

    第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解 一.    引言 上两节介绍了构造方法的语法及参数,说明了构造方法是Python的类创建实例后首先执行的方法,并说明如果类 ...

  3. python 面向对象、特殊方法与多范式、对象的属性及与其他语言的差异

    1.python 面向对象 文章内容摘自:http://www.cnblogs.com/vamei/archive/2012/06/02/2532018.html   1.__init__() 创建对 ...

  4. Python面向对象之魔术方法

    __str__ 改变对象的字符串显示.可以理解为使用print函数打印一个对象时,会自动调用对象的__str__方法 class Student: def __init__(self, name, a ...

  5. Python面向对象之内置方法

    1.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 issubclass(sub, s ...

  6. 详细解读Python中的__init__()方法

    init()方法意义重大的原因有两个.第一个原因是在对象生命周期中初始化是最重要的一步:每个对象必须正确初始化后才能正常工作.第二个原因是init()参数值可以有多种形式. 因为有很多种方式为init ...

  7. python面向对象之__new__方法

    众所周知,python中定义的类在创建实例对象的时候,会自动执行__init__()方法,但是在执行__init__()方法之前,会执行__new__()方法. __new__()的作用主要有两个. ...

  8. python中的__init__方法

    init()方法意义重大的原因有两个.第一个原因是在对象生命周期中初始化是最重要的一步:每个对象必须正确初始化后才能正常工作.第二个原因是init()参数值可以有多种形式. __init__方法使用 ...

  9. Python - 面向对象编程 - __init__() 构造方法

    什么是构造方法 在创建类时, 可手动添加一个   __init__() 方法,称为构造方法,这是一个实例方法 构造方法用于创建实例对象时使用,每当创建一个类的实例对象时,Python 解释器都会自动调 ...

随机推荐

  1. php添加excel更新数据表数据

    公司有个需求,是用excel更新数据的,把错误的行列放到一个数组返回出来,正常的数据则插入,且返回数量 1.先需要引入phpspreadsheet,这里使用composer 安装 composer r ...

  2. JavaScript深入理解-PWA渐进式应用

    WPA-渐进式 web 应用 PWA 是什么 渐进式 Web 应用,提升 web app 浏览体验. manifest 应用程序清单 基本介绍: web app manifest是 PWA 技术集合中 ...

  3. [shell脚本]在Linux终端可视化输出表格数据

    最终效果 1. 自定义表格样式 2. 自定义主题颜色 支持三系普通颜色 支持16色彩虹色 支持单颜色 回顾一下shell语法 1. shell传递参数 我们可以在执行shell脚本时实时传递参数从而指 ...

  4. 【笔记】《Redis设计与实现》chapter2 简单动态字符串

    ------------恢复内容开始------------ 2.1 SDS的定义 struct sdshdr{ // 记录buf数组中已使用字节的数量 // 等于SDS所保存字符串的长度(不含'\0 ...

  5. java多种文件复制方式以及效率比较

    1.背景 java复制文件的方式其实有很多种,可以分为 传统的字节流读写复制FileInputStream,FileOutputStream,BufferedInputStream,BufferedO ...

  6. linux-shell 识别当前所使用的shell

    echo $SHELL 或者 echo $0

  7. 创建逻辑卷,格式化为xfs格式化,在线扩容

    创建逻辑卷,并且格式化为xfs格式化好,然后在线扩容 删除逻辑卷组

  8. mooc人大单元测试3

    @font-face { font-family: Wingdings } @font-face { font-family: 宋体 } @font-face { font-family: " ...

  9. SpringCloud-微服务架构编码构建

    SpringCloud Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线).分布式系统的协调导致了样板模式, ...

  10. qta自动化

    qta框架采用PO(page object)模式,即页面结构层和逻辑对象层,如图的用例结构:我们将页面结构放到lib层,将执行用例层放到test层,区分开方便维护: