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 = age

info = 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类的方法及成员访问内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python 面向对象 成员的访问约束

    在Python中是通过一套命名体系来识别成约的访问范围的 class MyObjec(object): username = "developerworks" # public _email = "developerworks#163#.com" #protected __tel = "1391119****" # private 从这段代码中可以看出一些巧妙的命名方法 在python中所有的以字母开头的成语名称被python命名体系自动识别为p

  • Python实现子类调用父类的方法

    本文实例讲述了Python实现子类调用父类的方法.分享给大家供大家参考.具体实现方法如下: python和其他面向对象语言类似,每个类可以拥有一个或者多个父类,它们从父类那里继承了属性和方法.如果一个方法在子类的实例中被调用,或者一个属性在子类的实例中被访问,但是该方法或属性在子类中并不存在,那么就会自动的去其父类中进行查找. 继承父类后,就能调用父类方法和访问父类属性,而要完成整个集成过程,子类是需要调用的构造函数的. 子类不显式调用父类的构造方法,而父类构造函数初始化了一些属性,就会出现问题

  • 举例讲解Python面相对象编程中对象的属性与类的方法

    python 对象的属性 进入正题,来看一个实例来了解python中类,对象中公有属性,私有属性及局部变量,全局变量的区别. root@10.1.6.200:~# cat object.py #!/usr/bin/env python #coding:utf8 class Dave(): var1 = "class atribute,public atrribute var1" #类属性,公有属性var1 __var2 = "class self atribute __var

  • python创建子类的方法分析

    本文实例讲述了python创建子类的方法.分享给大家供大家参考,具体如下: 如果你的类没有从任何祖先类派生,可以使用object作为父类的名字.经典类的声明唯一不同之处在于其没有从祖先类派生---此时,没有圆括号: # !/usr/bin/env python # -*- coding: utf-8 -*- class ClassicClassWithoutSuperclasses: def fun1(self): print 'aaaaaaa' a=ClassicClassWithoutSup

  • Python创建类的方法及成员访问的相关知识总结

    一.创建类的方法与成员访问 1.1 创建实例方法并访问 实例方法是指在类中定义的函数.该函数是一种在类的实例上操作的函数. 同__init__()方法一样,实例方法的第一个参数必须是self,并且必须包含一个self参数. 1.2 创建数据成员(属性)并访问 数据成员是指在类中定义的变量,即属性(对象的特征).根据定义位置,属性(成员变量) 有两种:一种是实例属性,另一种是类属性(类变量). 1.2.1 添加与访问方式 类属性的添加与访问方式同对象属性,只是把self关键字换成类名 1.2.1.

  • python实现动态创建类的方法分析

    本文实例讲述了python实现动态创建类的方法.分享给大家供大家参考,具体如下: python作为动态语言,如何在运行时动态创建类呢(python Creating classes dynamically),这在编程时,有时候很有用处,动态生成类,给予相应的属性和方法.通常来说有如下两种方式: 1. 根据条件,硬编码实现. 2. 利用 type metaclass  来实现. 根据条件硬编码 def choose_class(name): if name == 'foo': class Foo(

  • JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】

    本文实例讲述了JS常见创建类的方法.分享给大家供大家参考,具体如下: Javascript是一种基于对象的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有Class.(不过,ES6引入了Class这个概念,作为对象的模板.通过class关键字,可以定义类.ES6入门:http://es6.ruanyifeng.com/). 但是在项目开发中,经常用到JS面向对象开发,这就需要我们去用JS创建类,从而去实例化一些对象.接下来我们介绍一下在J

  • Python创建对称矩阵的方法示例【基于numpy模块】

    本文实例讲述了Python创建对称矩阵的方法.分享给大家供大家参考,具体如下: 对称(实对称)矩阵也即: step 1:创建一个方阵 >>> import numpy as np >>> X = np.random.rand(5**2).reshape(5, 5) >>> X array([[ 0.26984148, 0.25408384, 0.12428487, 0.0194565 , 0.91287708], [ 0.31837673, 0.354

  • Python创建系统目录的方法

    本文实例讲述了Python创建系统目录的方法.分享给大家供大家参考.具体如下: Python2 mkdir在没有上级目录时创建会失败.该方法可以创建多级目录. /temp/gapgers/upload/images/1.png 如过temp文件夹不存在,会创建空的文件夹/temp/gapgers/upload/images/以及空文件1.png. 该方法只做抛砖引玉,大神勿喷 复制代码 代码如下: import os     def mkfilePower(path):       '''cre

  • Python创建xml的方法

    本文实例讲述了Python创建xml的方法.分享给大家供大家参考.具体实现方法如下: from xml.dom.minidom import Document class write_xml(Document): def __init__(self): Document.__init__(self) def set_tag(self,tag): self.tag = tag self.tag1 = self.createElement(self.tag) self.appendChild(sel

  • 把JSON数据格式转换为Python的类对象方法详解(两种方法)

    JOSN字符串转换为自定义类实例对象 有时候我们有这种需求就是把一个JSON字符串转换为一个具体的Python类的实例,比如你接收到这样一个JSON字符串如下: {"Name": "Tom", "Sex": "Male", "BloodType": "A", "Hobbies": ["篮球", "足球"]} 我需要把这个转换为具

  • python创建堆的方法实例讲解

    1.说明 创建堆有两种基本方法:heappush() 和 heapify(). 当使用heappush()时,当新元素添加时,堆得顺序被保持了. 如果数据已经在内存中,则使用 heapify() 来更有效地重新排列列表中的元素. 2.实例 import heapq from heapq_showtree import show_tree from heapq_heapdata import data heap = [] print('random :', data) print() for n

  • Python 创建格式化字符串方法

    目录 格式化字符串 Format 方法 其它格式化字符串方法 格式化字符串 当我们需要创建文本或文档时,我们往往希望能够将值正确格式化为结构化字符串. Python提供了多种选项用于正确对字符串进行格式化并呈现.本节,我们将介绍创建格式化文本时的一些常用选项. Format 方法 在 Python 通常使用format方法格式化字符串,通常使用以下方式利用 format方法显示变量: result = template.format(*parameters) 其中,模板 (template) 是

随机推荐