Python3学习 十一、类

一、类的创建

类的结构:

class 类名():
	"""类的解释说明"""
	 def __init__(self,参数1,参数2):
	 """实例的初始化"""
	 对属性进行相关赋值
						
	 def 方法1(self,参数1):
		 do something
						
	 def 方法2(self,参数1):
		 do something
					
					…

需要知道的是类中的函数称为类的方法,此外一个类中只能有一个init方法,为构造方法(也可以没有),用于对实例的属性进行初始化,为与其他方法区别,在init前后都有两个下划线。不同于Java,python中一个类中只能有一个构造方法。

每一个方法中都有一个形参self,这是一个指向实例本身的引用。

此外,类名需要大写,当类名由多个单词构成时不需要使用下划线相连而是将每个字母的首字母大写。

二、类的实例化

类创建好,想让其发挥作用就需要将类进行实例化,格式为:
实例名=类名(init方法需要的参数)
当实例创建完成后,就可以通过实例访问属性和调用方法,格式为:
实例名.属性
实例名.方法名(方法需要的参数)

三、继承
1、什么情况下需要使用继承
如果需要的类是现有类的特殊版本,就可以使用继承。

2、继承的特点
一个类继承另一个类时,它将自动获得另一个类的所有属性和方法,原有的类称为父类,新类称为子类。
此外,子类继承了父类的所有属性和方法,同时还可以定义自己的属性和方法。

3、继承的格式

 class 子类名(父类名):
	 def __init__(self,参数1,参数2)super().__init__(参数1,参数2)  #通过super()调用父类的构造方法实现父类属性的初始化
		 self.特有属性名=something        #同时还可以添加子类特有的属性,并对其初始化                   

此外,子类还可以改写父类中的方法,即方法头部相同,改写其内容。

四、将一个类的实例当做另一个类的属性
通常存在于构造方法中,具体格式为:
self.属性名=类名(参数)
此时即满足将一个类的实例当做另一个类的属性。
调用时也要注意需要用两次“.”调用才能实现访问属性和调用方法。

五、类的导入
为让程序简洁有序,可以将一个或若干个类编写在一个python文件中,称为一个模块,需要使用模块中的某个类时,可以在主程序中导入这个类或将整个模块全部导入。
导入格式为:

from 模块名 import 类名1,类名2… 将特定的类导入
from 模块名 import * 将模块中所有的类全部导入

或:

import 模块名 将整个模块全部导入

此外,一个模块中也可以导入另一个模块,有时候一个模块中的类依赖于另一个模块中的类,这种情况下,需要在前一个模块中导入必要的类。

上述导入的前提是需要导入的模块必须与当前模块在一个文件夹目录中。

六、Python的标准库
Python的标准库是一组模块,安装的Python的中都包含它。
常用的如:collections模块中的OrderedDict类可以创建一个记录“键-值”对添加顺序的字典。#python2中字典无序的,所以需要用到此方法。
#Python3中,字典是有序的
再如:random模块中的randint()函数,是个生成随机数的函数,可以返回一个指定范围内的随机数。
比如:x=randint(1,6) 返回一个1~6之间的随机整数。

Python3学习 十一、类_第1张图片

你可能感兴趣的:(Python笔记——入门篇,python)