搜索
写经验 领红包
 > 财经

pytho中的魔术方法(pytho3魔术方法)

导语:python 中常用魔术方法详解07

python中的魔术方法(python3 魔术方法)

前言1.类与对象的概念2.学习class关键字的使用3.学习什么是方法,什么是属性4.学习init的方法的使用5.学习del方法的使用

一.类和对象的概念

类和对象是面向对象编程的两个核心概念1.类类是一个图纸,模板类不能直接使用,相当于设计飞机的时候画的图纸类中行为---方法类的特性---属性类是指一群具体相同特征或行为的事物一个统称 是抽象的,不能使用

2.对象对象是由人类创建出来的一个具体存在,可以直接使用

3.类和对象的关系类是模板,对象是根据这个模板创建出来的,先有类,后有对象类只有一个,而对象可以有很多不同的对象之间的属性可能会各不相同类中定义了什么属性和方法,对象中就有什么属性和方法

4.类的设计1).类名2).属性 有什么样的特征---即变量3).方法 具有什么样的行为---即函数

二.面向对象的基础---语法1.class 关键字

创建一个类语法格式如下class  类名:      def   方法1(self,参数列表):               pass
class cat:    def eat(self):        print(&34;)    def drink(self):        print(&34;)

类的基本结构

class   类名(): 公共属性.....  其他的方法def    method_1(self,.....):       .......def    method_2(self,...):       .......

2.创建一个对象1)实例: 通过类创建出来的对象叫做类的实例2)实例化:创建对象的动作叫做实例化

创建对象的 语法对象名 = 类名(参数列表)

c = cat() 方法只能通过对象调用,不能通过类调用c.eat()

对象的执行流程:创建一个变量p在类中创建一个新对象:person()执行_init_方法将对象的值 赋值给变量 p = person()

class person:    def __init__(self,name):       self.name = name    def say_hello(self):        print(&34;%self.name)p = person(&34;)34;tom&定义了一个属性,名叫name

2.self可以在方法内部嵌套调用其他方法3.在类的外部是不能使用self的

class cat:  34;tom&定义了一个属性,名字叫name,值 Tom    def eat(self):        print(&34; % self.name)    def drink(self):         print(&34; % self.name)    def Diaoyong(self): 根据类cat 创建了一个对象c  c就是 cat类的实例化 c是cat的对象c.Diaoyong()

该类的外部调用方法

对象名.方法名

在类的外部使用属性

对象名.属性名

class cat:  34;tom&定义了一个属性,名字叫name,值 Tom    def eat(self):        print(&34; % self.name)    def drink(self):         print(&34; % self.name)    def Diaoyong(self): 根据类cat 创建了一个对象c  c就是 cat类的实例化 c是cat的对象c.name = &34; 在类的外部调用方法【对象名.方法名】c.drink() 34;cat类创建成功&34;小猫爱吃鱼&实例化对象时,init自动被调用c.eat()定义属性    def __init__(self):        self.name = &34;        self.age = 29     34;平时喜欢吃鱼&34;还有喝酸奶&34;大家好,我叫%s 今年%s岁&34;tom& 如果init 有形参,则实例化对象的时候,必须提供实参
class cat:    34;tom&34;red&【这里的self 定义属性】        self.color = color    【 这里的self 调用的作用】c1= cat(&34;,&34;)c1.show_name()c1.show_color()c2= cat(&34;,&34;)c2.show_name()c2.show_color()34;tom&34;%s销毁了&34;小猫&局部变量c1    c1.show_name()test()c = cat()   当对象在内存销毁时,自动调用del方法    

如果对象是局部的,则函数执行完毕后,自动调用对象的del方法如果对象是全局的,则程序执行完毕后,自动调用对象的del方法

_init_方法和_del_方法区别:在python中当使用 类名()创建对象时,为对象分配完空间后,会自动调用_init_方法当一个对象被从内存中销毁前,会自动调用_del_方法应用场景_init_方法 改造初始化方法,可以让创建的对象更加灵活_del_方法 对象从内存中被销毁前,会被自动调用生命周期一个对象从调用 类名()创建,生命周期开始一个对象的 _del_方法 一旦被调用,生命周期结束在对象的生命周期内,可以访问对象的属性,或让对象调用的方法

五.面向对象的基础---__str__方法

在python中,使用print输出,对象变量 在默认情况下 会输出这个变量 引用的对象是由哪一类创建的对象1.不使用_str_方法情况下,打印对象person,会显示 :地址 地址对开发人员来说没有太大意义

2.使用_str_方法情况下会 打印出:对象名称

3.如果想在打印对象名的时候,能够给开发者更多一些信息

总结面向对象

本文内容由小春整理编辑!