zoukankan      html  css  js  c++  java
  • 类定义、属性、初始化

    一、类

    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)
    
  • 相关阅读:
    Java随笔
    Java随笔
    Java随笔
    CF920E Connected Components?(并查集)
    CF1227F1 Wrong Answer on test 233 (Easy Version)(dp)
    Nginx上传文件限制
    Nginx代理---请求头
    Django中Model操作(数据库表名修改/列名修改/数据筛选过滤)
    Django中创建数据库报错:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=utf8' at line 1解决方案
    如何实现加入收藏、设为首页、保存到桌面的方法功能
  • 原文地址:https://www.cnblogs.com/gt92/p/11634000.html
Copyright © 2011-2022 走看看