类定义、属性、初始化
一、类
1.定义
面向对象最重要的概念就是类(Class)和实例(instance)。
class Cat: """这是一个猫类""" # class 关键字 # Cat 类名 同变量名 大驼峰命名法 # 三引号中的内容是解释这个类的用途
定义一个叫做Cat的类会创建一个对象类(object class)
类对象就是一个创建对象的工厂。如果要新建一个Kitty对象,可以把Cat当做函数来调用。
1 #实例化对象 2 kitty = Cat()
2.属性
我们可以通过句点法来实现实例的赋值,如下:
class Cat:
"""这是一个猫类"""
pass
kitty = Cat()
#句点法给实例赋值
kitty.color = 'white'
kitty.eat = 'food'
print(kitty) #打印出它的内存空间
#可以赋值,当然也可以引用
print(kitty.color)
我们将值赋给一个对象的有命名的元素,这些元素称为属性。也就是上例中的color和eat就是我们的Kitty对象的属性。
3.初始化
先把属性全部加入init,然后将实例对象名修改为self,同时将参数传入
3.1 实例属性
class Cat:
"""猫类"""
#初始化方法
def __init__(self,color,eat):
#定义属性
self.color = color
self.eat = eat
kitty = Cat('white','fish')
xiaohua = Cat('white','shengfan')
print(kitty.color)
print(xiaohua.eat)
3.2 类属性
class Cat:
"""猫类"""
#类属性
count = 0
#初始化方法
#每次实例化,每次生成一个新的对象,都会使用
def __init__(self,color,eat):
#定义属性
self.color = color
self.eat = eat
#针对猫进行计数
Cat.count += 1
kitty = Cat('white','fish')
xiaohua = Cat('white','shengfan')
print(Cat.count)
二、方法
1.类和函数
class point:
"""表示二维平面中的一个点"""
def __init__(self,x,y):
self.x = x
self.y = y
pp1 = point(1,2)
pp2 = point(3,5)
def distance(p1,p2):
return ((p1.x-p2.x)**2 + (p1.y-p2.y)**2)**0.5
distance(pp1,pp2)
2.类和方法
class point:
"""表示二维平面中的一个点"""
def __init__(self,x,y):
self.x = x
self.y = y
def distance(p1,p2):
return ((p1.x-p2.x)**2 + (p1.y-p2.y)**2)**0.5
pp1 = point(1,2)
pp2 = point(3,5)
#函数式调用方法,一般不这么调用
#point.distance(pp1,pp2)
#对象的方式调用
res = pp1.distance(pp2)
print(res)
浙公网安备 33010602011771号