Python--------面向对象

一.类(class)和对象(object)

对象是现实中的物体或实例,面向对象即是把一切物体看成对象,在对象和对象之间用方法建立联系,是将拥有相同属性和行为的对象分为一组,是用来描述对象的工具。

2.类的创建语法

class 类名(继承列表)
   """ 类文档字符串"""
   实例方法(类内的函数method)定义
   类变量(class variable)定义
   类方法(@classmethod)定义
   静态方法(@staticmethod)定义

3.类的作用

可以用类创建一个或者多个此类的对象,即实例
类里面的方法和变量可以被此类所创建的所有实例共同拥有

4.类的说明

类名必须是标识符(与变量名命名规则相同,首字母最好大写)
类名实质上也是一个变量
类的定义最后面要加两个空格以告诉解释执行器,类的定义已经结束

二.对象(实例)

1.实例的创建

利用构造函数创建:
表达式:类名([创建传参列表])[ ]里面的内容可以省略
示例

class Book():
    pass
book1= Book()#创建第一本书,即书这个类的实例1
book2= Book()#创建第二本书,即书这个类的实例2
print(id(book1))#打印第一本书的id地址
print(id(book1))#打印第二本书的id地址
print(book1 is book2)#返回的是False,说明是两本书

2.实例说明:

(1)实例有自己的作用域和命名空间,可以为该实例添加属性(变量)
(2)实例可以调用类的方法
(3)实例可以访问类中的类变量

3.实例的属性

(1)属性的使用语法: 实例.属性名
(2)属性的命名规则:首次为属性赋值则创建该属性,再次为属性赋值则改变属性的绑定关系
示例:

class Book():
    pass
book1= Book()
book1.cover='black'#创建属性 cover
book1.cover='white'#改变属性的值
print(book1.cover)#得到white

(3)删除属性
del 实例.属性

4.预置的实例属性

__dict__属性:用于绑定一个存储此实例的变量的字典
__class__属性:用于绑定创建此实例的类

示例:

class Book():
    pass
book1= Book()
book1.color='yellow'
print(book1.__dict__)            #得到结果{'color': 'yellow'}
book1.__dict__['kind']='fiction' #得到结果{'color': 'yellow', 'kind': 'fiction'}
print(book1.__dict__)

5.实例的方法

(1)语法:

class 类名(继承列表):
   def 实例方法(self,参数1,参数2,...):
       语句块

(2)作用:用于描述一个对象的行为,让此类型的全部对象都拥有相同的行为
(3)说明:实例方法的实质是函数,是定义在类内的函数;实例方法的第一个参数代表调用这个方法的实例,一般命名’self’
(4)实例方法的调用语法
实例.实例方法名(调用参数) 或者 类名.实例方法名(实例,调用参数)
示例:

class Book():
    def book_cover(self,color):#第一个参数为self
        print("书的封面颜色是",color)
book1= Book()
book1.book_cover("yellow")#调用语法一,book1传给self,"yellow"传给color
Book.book_cover(book1,'yellow')#调用语法二

三.类的初始化方法

1.作用:对新创建的对象添加属性等必需资源

2.语法格式

class 类名:
    def __init__(self,[,参数列表]):#[]代表里面的内容可以省略
        语句块 

3.说明

(1)初始化方法名__init__不可变
(2)初始化方法在创建实例后自动调用,且将实例自身通过第一个参数self传入__init__方法
(3)构造函数的实参将通过__init__方法的参数列表传到__init__方法中
(4)初始化方法如果要return语句返回,则必须返回None
(5)__init__里面的属性值可以通过后面设置新的方法来改变
示例:

class Book():
    def __init__(self,color):
        self.color=color    
book1= Book("yellow")#这里面的参数传给__init__方法,且数量要和参数数量一致

四.析构方法

1.作用:在对象被销毁之前被调用,主要负责清理对象所占用的资源

2.语法格式

class 类名:
    def __del__(self):
        语句块

3.说明:建议少在这个方法内进行操作,因为对象合适的销毁时间不确定

五.类的一些函数

1.isintance(obj,classs_or_tuple):返回这个对象obj是否是某个类的对象,或者某些类中的一个类的对象,如果是则返回True,否则返回False

2.type(obj):返回对象的类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值