类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。
对象:它是类的实例化。
方法:类中定义的函数。
类(Class) 由3个部分构成:
1.类的名称:类名
2.类的属性:指对象的特征(一组数据)
3.类的方法:允许对象进行操作的方法 (行为/功能)
Python 3.x中取消了经典类,默认都是新式类。
新式类的语法 -> class 类名(object): pass
类对象支持两种操作:属性引用 和 实例化。
属性引用的语法:obj.属性
类实例化的语法:obj = 类名()
类中方法的调用:obj.方法名()
类定义与类对象示例如下:
class MyClass:
x=16 #定义类变量
y="Python class"
def myfun(self): #定义类方法
return "hello Python!"
a=MyClass() #实例化类
# 访问类的属性和方法
print("MyClass 类的属性 x 为:",a.x)
print("MyClass 类的属性 y 为:",a.y)
print("MyClass 类的方法 myfun 输出为:",a.myfun())
输出结果为:
MyClass 类的属性 x 为: 16
MyClass 类的属性 y 为: Python class
MyClass 类的方法 myfun 输出为: hello Python!
通过这个示例可以看到,首先定义类,类名 MyClass,该类有两个类变量和一个类方法,类变量分别为x 和 y,类方法为 myfun()。接着就是实例化类,这样就可以调用类的属性和方法,最后利用print()函数来显示。
很多类都倾向于将对象创建为由初始状态。因此,类可能会定义一个名为__init__的特殊方法(构造方法),具体代码如下:
def__init__(self):
self.data = []
再举一个例子:
class student(object):
# 定义构造方法
def __init__(self, n, a): #__init__() 是类的初始化方法;它在类的实例化操作后 会自动调用,不需要手动调用;
# 设置属性
self.name = n
self.age = a
# 定义普通方法
def speak(self):
print("%s 说:我今年%s岁" % (self.name, self.age))
#类student 实例化一个对象john
john = student("约翰",19)
# 调用类中的 speak()方法
john.speak()
#>>>约翰 说:我今年19岁