python的类

        类的创建:

                创建类的语法:

                class Student:   #Student为类的名称(类名)由一个或多个单词组成,每个单词的首字                 母大写,其余小写

                Native_place=’吉林’   #类属性----直接写在类里面的变量成为类属性

                def__init__(self,name,age):    #name,age为实例属性

               self.name = name   #self.name称为实体属性,进行了一个赋值的操作,将局部变量name的值赋给实体属性

                Self.age = age

                #实例方法

                def info(self):

                Print(‘我的名字叫:’,self.name,’年龄是:’self.age)

                #类方法

                @classmethod

                Def cm(cls):#  在类之外定义的称为函数,在类之内定义的称为方法

                Print(‘类方法’)

                #静态方法

                @staticmethod

                Def sm():

                Print(‘静态方法’)

        类的组成:

                类属性:类中方法外的变量称为类属性,被该类的所有对象所共享

                实例方法:使用@classmethod修饰的方法,使用类名直接访问的方法

                静态方法:使用@staticmethod修饰的主法,使用类名直接访问

                类方法

        对象的创建:

                对象的创建又称为类的实例化

                语法:

                实例名=类名()

                意义:有了实例就可以调用类中的内容

                 类名.方法名(类的对象)-->实际上就是方法定义处的self

                面向对象的三大特征

                  封装:提高程序的安全性

                将数据(属性)和行为(方法)包装到类对象中。

                  继承:提高代码的复用性

                     语法格式:class 子类类名(父类1,父类2...);

                                        Pass

                如果一个类没有继承任何类,则默认继承Object

                Python支持多继承

                定义子类时,必须在其构造函数中调用父类的构造函数

                方法的重写:如果子类对继承自父类的某个属性或方法不满意,可以在子类中对其(方法体)进行重写编写

                子类重写后的方法中可以通过super().xxx()调用父类中被重写的方法

        Object类:

        Object类 是所有类的父类,因此所有类都有object类的属性和方法。

        内置函数dir()可以查看指定帝乡所有属性

        经常用于print()方法,帮我们查看对象的信息,所有我们经常会对_str_()方法重写

        多态:提高程序的可扩展性和可维护性

        多态就是“具有多种形态”,它指的是:几遍不知道一个变量所引用的对象用自定义是什么类型,仍然可以通过这个变量调用方法,在运行过程中根据变量所引用对象和类型,动态决定调用那个对象中的方法。

        类的特殊方法和属性:

        特殊属性:_dict_:获得类对象或实例对象所绑定的所有属性和方法的字典

        特殊方法:_len_():通过重写_len()_方法,让内置函数len()的参数可以是自定义类型

  _add_():可使用自定义对象具有“+”的功能

    _new_():用于创建对象

     _init_():对创建的对象进行初始化

        类的浅拷贝和深拷贝:

变量的赋值操作:只是形成两个变量,实际上还是指向同一个对象

浅拷贝:python拷贝一般都是浅拷贝,拷贝时,对象包含的子对象内容不拷贝,因此,源对象与拷贝对象会引用同一个子对象

深拷贝:使用copy模块的deep copy函数,递归拷贝对象中包含的子对象,源对象和拷贝对象所有的子对象也不相同

模块:

函数与模块的关系: 一个模块中可以包含N多个函数

在python 中一个扩展名.py的文件就是一个模块

使用模块的好处

        方便其他程序和脚本的导入并使用

        避免函数名和变量名冲突

        提高代码的可维护性

        提高代码的可重用性

包:

        包是一个分层次的目录结构,它将一组功能相近的模块组织在一个目录

作用:

        代码规范

        避免模块名称冲突

 包与目录区别

        包含_init_.py文件的目录称为包

        目录通常不包含_init_.py文件

        

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值