类的简介
- 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
- 类是type类型的对象,定义类其实就是定义了一个type类型的对象。
类的定义与实例
object = 类名()
'''
语法:
class 类名([父类]):
代码块
'''
class MyClass:
pass
my=MyClass()
print(type(my))
#<__main__.Student object at 0x0000019AE5603FA0>
my是MyClass类创建出来的一个对象,也称my是MyClass类的实例。
属性
object.类的属性
在对象中添加变量,对象中的变量称之为属性。
class MyClass:
yourclass = '一班'
my=MyClass() #类的实例化
r = my.yourclass #类的属性
print(r) #一班
方法:
object.类的方法()
class MyClass:
yourclass = '一班' #公共属性,所有实例都可以访问
def name(self): #定义方法,第一个参数必须为self.对象自身引用。
print('小明同学' )
my = MyClass() #类的实例化
my.name() #调用方法
#小明同学
self参数
- self代表类的实例,而非类
- 类对象和实例对象都可以保存属性(方法)
- 如果这个属性(方法)是所有实例所共享的,则应该保存到类对象中
- 如果这个属性(方法)是某个实例所独有的,则应该保存到实例对象当中
- 一般情况下 属性保存到实例对象当中,而方法需要保存到类对象当中
- self这个参数是必须的,同时需放在所有参数的最前面,python在调用实例的方法的时候会自动传入self参数,代表的是类本身的对象。
特殊方法:类的构造函数
- 当程序内定义这个类的对象时将自动执行这个方法__ init__ ()方法,也称构造函数。
'''
类的基本结构
class 类名([父类]):
公共属性...
# 对象的初始化方法
def __init__(self,....):
....
# 其他的方法
def method1(self):
...
def method2(self):
...
'''
属性的初始值设置
- 初始值设在__init__()方法内。
class People: #定义People类
def __init__(self,name,age,gender): #初始化值
self.name = name
self.age = age
self.gender = gender
def speak(self):
print('姓名:',self.name,
'\n','年龄:',self.age,
'\n','性别:',self.gender)
student=People('小明',15,'male')
student.speak()