init
1、Python自带的内置函数,具有特殊的函数,使用双下划线包起来的魔术方法。
2、是一个初始化的方法,用来定义实例属性和初始化数据的,在创建对象时自动调用,不用手动调用
3、利用传参的机制可以让我们的定义功能更加强大并且更加的方便。

class People:def eat(self):'''吃的行为Returns-------None.'''print('喜欢吃榴莲')passxq=People() #创建对象
xq.name='小请'  #添加实例属性
xq.gender='女生'
xq.eat()#如果有n个这样的对象,就不需要添加很多次这样的属性。就可以使用init方法了class People1:def __init__(self): #初始化方法,实例化的时候会自动的调用。self.name='quanzhilong'self.age=30passxq=People1()
print(xq.name)  #直接输出的是默认值,想要改的话就在下面重新改。#init 传参,改进,不用把属性写死了。class People2:def __init__(self,name,age): #初始化方法,实例化的时候会自动的调用。self.name=nameself.age=agepassdef eat(self,food):print(self.name+'喜欢吃'+food)zh=People2("hhh",12)
print(zh.name)zh.eat('西瓜')class animal:def __init__(self,name,colour):self.name=nameself.colour=colourpasspassdog=animal('小花','白色')
print(dog.colour)

**

self

**
self和对象指向了同一个内存地址,可以认为self就是对象的引用。

魔法方法

是python中内置好的特定方法。

class Person:def __init__(self,name,food):self.name=nameself.food=foodprint('init --函数的执行')passdef __str__(self):'''打印对象 自定义对象 是内容格式的Returns-------TYPEDESCRIPTION.'''return '%s 喜欢吃 %s'%(self.name,self.food)passdef __new__(cls,*args,**kwargs):'''创建对象实例的方法 每调用一次 就会生成一个新的对象 cls就是class的缩写场景:可以控制创建对象的一些属性限定 经常用来做单例模式的时候来使用。Parameters----------cls : TYPEDESCRIPTION.*args : TYPEDESCRIPTION.**kwargs : TYPEDESCRIPTION.Returns-------None.'''print("--new 函数的执行")return object.__new__(cls) #这里是创建对象实例的xw=Person('wang', '西瓜')
print(xw) #直接就可以返回这个方法里面的内容,执行的时候自动的进行调用。

new 和 init 函数的区别

#——new——类的实例方法必须返回该实例,否则对象创建不成功。
#__init__用来做数据属性的初始化工作,也可认为是实例的构造方法,接收类的实例self并对其进行构造。
#new 至少有一个参数是cls代表要实例化的嘞,此参数在实例化是由python解释器自动提供。
#__new__函数执行要早于————init__函数。

Python(_init_方法、self方法、魔法方法)相关推荐

  1. python构造和析构_python魔法方法 构造和析构实例讲解

    目录: 一._ _init_ _(self[, ...]) 二._ _new_ _(cls[, ...]) 三._ _del_ _(self) 四.课时41课后习题及答案 说的那么厉害,那什么是魔法方 ...

  2. 零基础入门学Python(十二)—— 魔法方法(上)

    零基础入门学Python系列内容的学习目录→\rightarrow→零基础入门学Python系列内容汇总. 魔法方法(上) 1. 构造和析构 1.1 _ _ init _ _(self[, ...]) ...

  3. python 魔法方法常用_Python魔法方法指南

    有很多人说学习Python基础之后不知道干什么,不管你是从w3c还是从廖雪峰的教程学习的,这些教程都有一个特点:只能引你快速入门,但是有关于Python的很多基础内容这些教程中都没介绍,而这些你没学习 ...

  4. Python类属性访问的魔法方法

    Python类属性访问的魔法方法: 1. __getattr__(self, name) - 定义当用户试图获取一个不存在的属性时的行为 2. __getattribute__(self, name) ...

  5. 零基础入门学习Python(21):魔法方法(1)构造和析构

    零基础入门学习Python(21):魔法方法(1)构造和析构 从这节开始,我们介绍下Python的魔法方法:魔法方法总是被双下划线包围. 之前有提到过初始化的魔法方法__init__(),它返回Non ...

  6. 零基础入门学Python(十二)—— 魔法方法(下)

    零基础入门学Python系列内容的学习目录→\rightarrow→零基础入门学Python系列内容汇总. 魔法方法(下) 1. 构造和析构 2. 算术运算 3. 简单定制 4. 属性访问 5. 描述 ...

  7. python魔法方法_python,魔法方法指南

    1.简介 本指南归纳于我的几个月的博客,主题是 魔法方法 . 什么是魔法方法呢?它们在面向对象的Python的处处皆是.它们是一些可以让你对类添加"魔法"的特殊方法. 它们经常是两 ...

  8. python 魔法方法常用_魔法方法使用指南(python)

    1 什么是魔法方法? 它们在面向对象的Python的处处皆是 它们是一些可以让你对类添加"魔法"的特殊方法 它们经常是两个下划线包围来命名的(比如 __init__,__lt__) ...

  9. [Python]小甲鱼Python视频第048课(魔法方法:迭代器) )课后题及参考解答

    # -*- coding: utf-8 -*- """ Created on Sun Mar 24 20:24:02 2019@author: fengs "& ...

  10. python魔法方法str_8.9.魔法方法 - str()方法

    # \_\_str\_\_()方法 ~~~ class Car(object): """定义了一个车类,可以启动和炸街""" def __i ...

最新文章

  1. Unable to complete the scan for annotations for web application
  2. 原生态纯JavaScript 100大技巧大收集
  3. spring12:@Component衍生注解
  4. php实现下单成功提示语,推荐10款提示语源码(收藏)汇总
  5. ansys fluent udf manual 下载_FLUENT流固耦合柱体结构涡激振动仿真案例解析
  6. 摩根溪创始人:特斯拉资产负债表有8%是比特币
  7. 我是个初二学生,想考一中,现在该怎么努力?
  8. java中synized_ConcurrentHashMap和Collection s.SynizedMap(Map)
  9. Java基础系列—字符串
  10. nyoj(简单数学)Oh, my Paper!
  11. php swfobject,swfobject参数详细介绍
  12. android 4.4新功能介绍(Kitkat)
  13. python计算身份证最后一位数字代表什么_一个计算身份证号码校验位的Python小程序...
  14. 腾讯im及时登录注册
  15. 【硬十宝典目录】——1、电源类(更新中~)
  16. 案例 | 群硕助力凯德打造智慧楼宇,引领地产领域运营创新之路
  17. 时序分析基本概念介绍Sequential logic
  18. [转]漫画:混乱的标记语言XHTML2/HTML5(附中文版翻译)
  19. 中国移动MM7 API用户手册(四)
  20. 关于vlc播放器的ActiveX控件调用问题

热门文章

  1. GDPU c语言 天码行空 4 plus
  2. MATLAB神经网络算法
  3. CSDN日报20170416 ——《为什么程序员话少钱多死得早?》
  4. QT客户端框架(http + websocket+QML)
  5. Linux读取pdf,pdf转txt
  6. php防止伪造数据,PHP_php防止伪造的数据从URL提交方法,针对伪造的数据从URL提交的情 - phpStudy...
  7. 2020年月份间销售额波动原因定位
  8. python selenium:不新开浏览器,而是在已开的浏览器进行操作
  9. c语言中秋节编程怎么打,细数中秋节的几种过法,你属于哪一种?
  10. 三星的中国攻略:贴近本土化