类定义、属性、初始化

一、类

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)
原文地址:https://www.cnblogs.com/gt92/p/11634000.html