Python从设计之初就已经是一门面向对象的语言,创建一个类和对象是很容易的事情。
面向对象编程其实比面向过程编程更接近人类的思维方式,人在思考和认识某事物时,首先,会生成对某事物的主观看法,然后,在对该事物的接触中,丰富和纠正自己的主观印象,形成心目中的对该事物的客观总结。在这一过程中,人类通常会对某事物的很多特征进行分析总结,这些特征就是对该事物的信息的描述
而类则是面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础。
类是对现实生活中一类具有共同特征的事物的抽象,类是对某种对象的定义,并且还描述了其行为(能够做什么以及做的方法),类就像一个黑盒子,里面封装了以下2种信息:
1、属性
包括类的名称、数据和特征描述。
2、方法
对类进行操作的过程,这些过程就是类平时完成其行为的方法,类实施了某项行动,实际就是完成了某项功能或达到了某种目标。
类是一种用户定义的引用数据类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数。类的实例称为对象。
综上所述,类把数据与功能绑定在一起。
类一般不能直接使用,需要创建该类的新实例 ,Python的类实例有描述自己状态的属性,还支持(在类中定义的)改变自身状态的方法。
比如:你读书的学校老师都属于一个类,这个类就是老师,但每个老师都有自己的姓名和教授的学科,所以当你需要明确辨认某个老师时,光有老师这个类是不行的,需要定义类实例,每个老师都是一个类的实例。下面来定义老师这个类及实例。
将老师这个类称为Teacher,其属性有name(姓名)、course(学科),方法有giveLessons(授课)。假设你的数学老师叫王华,这就定义了一个类的实例
类实例的属性有姓名和学科,其中,姓名属性值为王华,学科属性值为数学;王华老师每周三和每周五上午10点会给你上2节课,这就定义了方法,这个方法完成一个操作过程,给你上2节数学课。
则这个类和类实例封装了以下信息:
1、属性
(1)name(姓名),值为:王华
(2)course(学科),值为:数学
2、方法
(1)giveLessons(授课),值为:周三和周五上午10点上2节课
和其他编程语言相比,Python 用非常少的新语法和语义将类加入到语言中,提供了面向对象编程的所有标准特性类,也拥有 Python天然的动态特性:它们在运行时创建,可以在创建后修改。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#2-4-2.py
class Teacher:
name=""
course=""
def giveLessons(self,time,lessonsCount):
print