您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python创建类的方法及成员访问的相关知识总结

51自学网 2021-10-30 22:26:45
  python
这篇教程Python创建类的方法及成员访问的相关知识总结写得很实用,希望能帮到您。

一、创建类的方法与成员访问

1.1 创建实例方法并访问

实例方法是指在类中定义的函数。该函数是一种在类的实例上操作的函数。同__init__()方法一样,实例方法的第一个参数必须是self,并且必须包含一个self参数。

在这里插入图片描述

1.2 创建数据成员(属性)并访问

数据成员是指在类中定义的变量,即属性(对象的特征)。根据定义位置,属性(成员变量)有两种:一种是实例属性,另一种是类属性(类变量)。

在这里插入图片描述

1.2.1 添加与访问方式

类属性的添加与访问方式同对象属性,只是把self关键字换成类名

1.2.1.1 类外面添加对象属性

在这里插入图片描述

class Information(object):    def __init__(self, name, age):        self.name = name        self.age = ageinfo = Information('杜甫', 20)info.sex = '男'
1.2.1.2 类外面获取对象属性

对象名.属性名

print(info.sex)

在这里插入图片描述

1.2.1.3 类里面获取对象属性

在这里插入图片描述

1.3 访问限制:私有成员与公有成员

类中定义的属性和方法默认为公有属性和方法,该类的对象可以任意访问类的公有成员。

为了契合封装原则,保证类中的代码不被外部代码轻易访问。 Python支持将类中的成员设置为私有成员,在一定程度上限制对象对类成员的访问。

1.3.1 定义私有成员

对象无法直接访问私有成员

在这里插入图片描述

1.3.2 访问私有属性

私有属性可在公有方法中通过指代对象本身的默认参数“self”访问,类外部可通过公有方法间接获取类的私有属性。

在这里插入图片描述

1.3.3 访问私有方法

私有方法同样在公有方法中通过参数“self”访问。

在这里插入图片描述

1.4 类代码块

Class语句和for、while语句一样,都是代码块,即定义类就是执行代码块。

class myClass:    print("This is my class")

执行上述代码后,会输出“class block”。

在这里插入图片描述

1.5 类方法

1.5.1 类方法

在这里插入图片描述
在这里插入图片描述

1.5.2 修改类属性

在实例方法中无法修改类属性的值,但在类方法中可以修改类属性的值。

在这里插入图片描述

1.5.3 综合示例

class myClass:    # 类属性    msg = '我是类的属性'    # 此注解表示该方法是一个类方法    @classmethod    # cls代表当前这个类本身    def showMsg(cls):        # 改变类属性的值        cls.msg = 'really'        print(cls.msg)# 调用类方法myClass.showMsg()

在这里插入图片描述

1.6 类方法和实例方法的区别

在这里插入图片描述

1.7 静态方法

可有对象调用也可以有类调用

示例:定义一个包含属性num与静态方法static_method()的类Example。

class Example:    num = 10    @staticmethod    def static_method():        print(f"类属性的值为: {Example.num}")        print("静态方法")ex = Example()ex.static_method()print('-----------')Example.static_method()

在这里插入图片描述

到此这篇关于Python创建类的方法及成员访问的相关知识总结的文章就介绍到这了,更多相关Python类的方法及成员访问内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


Python的子线程和子进程是如何手动结束的?
Python绘图之turtle库的基础语法使用
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。