Python学习笔记_day05

一、类

    定义类需要使用关键字class,例如:

        class Classname():   

            def _init_(self,p1,p2... ...):

                self.p1=p1

                self.p2=p2

            def fun1(self):

            def fun2(self):

    1.其中关键字class用来表明接下来要创建类,Classname是类名,按照习惯,在Python中,首字母大写的名称指的是类名。_init_(self,p1,p2... ...)方法是一个特殊的方法(类中的函数称为方法),是Python的默认方法,个人理解为就像JAVA中的构造方法。每当根据类创建新实例时,Python都会自动运行它,注意它的名称前后各有一个下划线,这只是一种约定,为了避免Python的默认方法与普通方法发生名称冲突。

    2.接着来看_init_方法,它可以定义多个形参,但是形参self不可缺少,并且必须位于第一个位置。为什么必须要有self呢?

这是因为Python是通过调用_init_方法来创建实例的,Python在调用_init_方法时,会自动的传入实参self。其实每一个与类相关联的方法调用Python都会自动的传入实参self,那么这个self究竟是干什么用的呢?实际上,self就是一个指向实例本身的引用,让实例能够访问类中的属性和方法。

    3.self.p1与self.p2都是定义的带有前缀self的变量,以self为前缀的变量可以被类中所有方法使用,还可以通过任何类的实例来访问这些变量。像这样可以通过实例来访问的变量称为类的属性。

    4.其它的方法也同样需要形参self。

二、创建实例

    变量名=类名(参数) 就可以创建一个实例了,通过变量名加.号就可以来访问类中属性和方法。

三、继承

    我们都知道面向对象的一大特征就是继承,子类会继承父类中的所有属性和方法,并且可以拥有自己独特的属性和方法,但是在想要拥有子类的实例时,必须要先实例化父类。在Python中继承的结构如下:

                class son(father):

                        def _init_(self,p1,p2):

                            super()._init_(p1,p2)

    其中son是我们需要定义的类名,在括号中是son类需要继承的父类的名称。

四、导入类

    假如现在有一个模块名称为car,在该模块中包含有Car类,则在我们的主程序文件中,使用from car import Car就可以将Car类导入到主程序文件了。如果模块中包含多个类,想要一次性导入多各类,则可以使用from car import Car1,Car2。还可以导入整个模块,再使用.号来使用类,例如car.Car()。还可以导入模块中的所有类,使用from car import * 。

五、Python标准库

    在前面我们知道字典的添加和访问都是无序的,但是有时候我们想要知道他们的顺序,这时候就需要使用其他人写好的库了。Python标准库是一组模块。实现我们的需求,只需要使用模块collections里的OrderedDict类即可。OrderedDict实例的行为几乎与字典相同,区别在于记录了键-值对的添加顺序。例如dict=OrderedDict() 就获得了实例dict,接下来就可以像操作字典变量一样操作dict了。

猜你喜欢

转载自blog.csdn.net/qq_26593465/article/details/80542474
今日推荐