栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

类的基础知识

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

类的基础知识

这里有很多还不明白,慢慢把这些搞清楚

类(class)的定义:用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。编写类时,我们赋予它一些通用行为,基于类来创建对象,我们就可以让每个对象都拥有这些通用行为,然后根据需要再赋予每个对象独特的个性。

对象是类的实例,根据类来创建一个对象,称为实例化。

比如我们需要创建一个橘猫类,那么我们需要思考它们的共性,比如它们的毛色、花纹以及吃得很多等等,这是我们在类中描述的相同属性。现在我需要创建出一只叫胖胖、3岁、家养的橘猫,这个精确的对象,就是实例。

例如:整数类型(int)是一个类,其中20、100、2等整数属于int类型中的对象

类的创建:

一般类的名由一个或多个单词组成,首字母大写,其余小写

class Solution:           #Solution是类名
    pass                  #这里应该放类中的主题内容

类的组成内容:

类属性:在类里定义的变量

公有属性:既可以在类的内部使用,又可以在类外部使用。

私有属性:私有属性,使用双下划线开头。私有属性,只能在类的内部使用,在类外面无法使用。
class Method:
    name='lily'         #公有属性,可在类外使用
    __name='jim'        #双下划线,私有属性,只能在类内使用
    print(name)
    print(__name)

print(Method.name)
print(Method.__name)      #在类外使用私有属性的类属性,就会报错

显示:AttributeError: 
             type object 'Method' has no attribute '__name'. Did you mean: 'name'?

构造方法

每次根据类来创建新实例的时候,python都会自动运行它

其中self形参必不可少,而且必须在第一位。因为我们python调用__init__方法创建实例的时候,将自动传入实参self,每个与类相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。

因此我们创建实例的时候,只需要给name,age的值,不需要给self,因为self自动传递

self.name,以self为前缀的变量可供类中的所有方法使用,我们可以通过任何实例访问这些变量

self.name=name是获取存储在形参name中的值,再将这个值赋给变量name,然后这个变量name被关联到当前实例中

像self.name这样能被实例访问的变量,称为属性

def __init__(self,name,age):
    self.name=name        
    self.age=age
#self.name称为实体属性,进行了赋值的操作,将局部变量的name的值赋给实体属性

实例方法:

    def eat(self):        #实例方法
        print('eating...')
#在类之外定义的称为函数,类之内定义的称为方法

静态方法(静态方法不写self):

使用@staticmethod修饰

@staticmethod
    def method():
        print('使用staticmethod进行修饰,所以是静态方法')

类方法(cls):

使用@classmethod修饰

 @classmethod
    def cm(cls):
        print('classmethod修饰,是类方法')

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/886809.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号