Python学习笔记之六:Python中的类

Python学习笔记之六:Python中的类

1 类的定义

类(Class)是面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础。类是一种用户定义的引用数据类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数。

涉及到的名词解释:

实例化:根据类来创建对象被称为实例化。

属性:通过实例可以访问的变量被称为属性。

方法:类中的函数被称为方法。

2 类的使用

2.1 类中的__init__()方法

在每次根据类创建实例时,python都会自动运行__init__()方法,类中的任何方法至少都需要包含一个形参self,且该形参必须位于其他形参前面。具体使用方法如下实例所示:

#Python中约定类名的首字母大写
class Student():
	def __init__(self, name, sex, age):
		#使用self.前缀定义的属性(变量)可以供类中所有的方法使用,也可以通过实例对其进行访问
		self.name = name
		self.sex  = sex
		self.age  = age
	#类中所有的方法都需要包含形参self
	def student_info_show(self):
		#在类的方法中可以对类中带有self.前缀的变量进行访问
		print(str(self.name) + " is a(n) " + str(self.age) + " years old " + str(self.sex))
#创建一个实例student_1
student_1 = Student('Xiaoming', 'Boy', 12)	
#通过实例student_1调用类中定义的方法
student_1.student_info_show()
#通过实例student_1访问类中的属性(变量)
print("Name is " + str(student_1.name))

上述代码的运行结果如下所示:

Xiaoming is a(n) 12 years old Boy
Name is Xiaoming

2.2 类的实例化(即根据类创建对象)

在实际使用中我们可以根据类创建任意数量的实例。具体使用方法如下实例所示:

class Student():
	def __init__(self, name, sex, age):
		self.name = name
		self.sex  = sex
		self.age  = age
	def student_info_show(self):
		print(str(self.name) + " is a(n) " + str(self.age) + " years old " + str(self.sex))

#创建一个实例student_1
student_1 = Student('Xiaoming', 'Boy', 12)	
student_1.student_info_show()
#创建一个实例student_2
student_2 = Student('Xiaohong', 'Girl', 11)	
student_2.student_info_show()

上述代码的运行结果如下所示:

Xiaoming is a(n) 12 years old Boy
Xiaohong is a(n) 11 years old Girl

2.3 继承

在编写类时,也可以使用继承的方法来基于另一个现成的类创建新的类。一个类继承另一个类时,它会自动获得另一个类的所有属性和方法。原有的类称为父类,新类称为子类。子类继承了父类所有的属性和方法,同时还可以定义自己的属性和方法。

class Student():
	def __init__(self, name, sex, age):
		self.name = name
		self.sex  = sex
		self.age  = age
		
	def student_info_show(self):
		print(str(self.name) + " is a(n) " + str(self.age) + " years old " + str(self.sex))

class MyStudent(Student):
	def __init__(self, name, sex, age, grade):
		super().__init__(name, sex, age)
		self.grade = grade
	
my_stu = MyStudent('Xiaopeng', 'Boy', 10, 6)
my_stu.student_info_show()
print("Name: " + str(my_stu.name))
print("Sex: " + str(my_stu.sex))
print("Age: " + str(my_stu.age))
print("Grade: " + str(my_stu.grade))

上述代码的运行结果如下所示:

Xiaopeng is a(n) 10 years old Boy
Name: Xiaopeng
Sex: Boy
Age: 10
Grade: 6

你可能感兴趣的:(Python学习,python)