从这篇文章开始,我就开始分享几个python oop方面的一些特点,希望对大家理解python的oop有帮助,其实python的oop相对其他的语言来说是有些地方不同的。我今天就讲下其中的一方面私有机制的问题。
其他的语言,比如JAVA,C++的oop语法都比较的规范,有公有,私有和保护的数据类型,而python的话,从我目前的观察来看,python的类是没有权限控制的,所有变量都是可以被外部调用的,那你会说:"python明明有私有的定义方法就是在变量或者方法的面前加上双下滑线__,但是我告诉你,这个实际上是python的伪私有。只是一种程序员约定俗称的规定,加了就表示私有变量,但是你如果要在外部调用的话,还是可以调用的。
下面我举个代码例子给大家看下:
class Info(object):
def __init__(self):
self.__name = 'jay'
def say(self):
print self.__name
a = Info()
print a.__name
我上面定义了一个对象的私有属性name,如果你直接用a.__name访问的话,应该会报错,说该对象没有这个属性,但是你按照我的方法,一样可以调用出私有属性的值。
1你先用print a.__dict__ 查询出对象a里面的属性的集合。应该得到结果:{'_Info__name': 'jay'}
2然后你再用print a._Info__name,你试试,应该就可以输出jay了。
所以从上面看来,python还是非常的灵活,它的oop没有做到真正的不能访问,只是一种约定让大家去遵守,比如大家都用self来代表在类里的当前对象,你也可以用其他的,只是大家习惯了用self。所以习惯就好,跟随大家把。。
原创文章请注明转载自老王python,本文地址:http://www.cnpythoner.com/post/130.html
作者:老王@python python 教程
老王python,提供python相关的python 书籍,python 主机,django 教程和python 下载,希望大家能够喜欢!
分享到:
相关推荐
在Python编程语言中,面向对象编程(Object-Oriented Programming,OOP)是一种重要的编程范式,它基于“对象”的概念。在这个模型中,数据和操作数据的方法被封装在一起,形成了一个独立的实体,即对象。这个教程将...
在Python的面向对象编程(OOP)中,类是创建对象的基础,而类中的函数或方法则是实现对象功能的关键。本篇文章将总结Python OOP类中的四种主要函数或方法:实例方法、静态方法、类方法以及普通函数。 1. **实例方法...
在这个"coding_dojo_python_oop"项目中,重点是使用Python语言进行面向对象编程(OOP)。面向对象编程是软件开发中一种强大的方法,它允许我们将复杂的问题分解为可管理和可复用的对象。 Python是一种高级编程语言...
本资料主要围绕“软件工程-OOP方法学”展开,旨在深入解析面向对象编程在软件工程实践中的应用。 首先,我们需要理解面向对象的基本概念。对象是OOP的核心,它封装了数据和操作数据的方法,形成一个独立的实体。类...
Python面向对象编程(Object-Oriented ...在"PythonOOP-main"目录下的资源可能包含示例代码、练习和解释,帮助你深入了解并实践这些Python OOP概念。通过实践这些概念,你将能够更有效地设计和实现复杂的Python程序。
Vorkurs:Python OOP 本课程适用于初学者。 它是对面向对象编程的一般介绍,并带有python中的示例。 它由一个演示文稿组成,涵盖了OOP基础知识和后续工具开发所需的生物学背景。 code_chunks和python_oop.ipynb引入...
Python面向对象编程(Object-Oriented Programming,简称OOP)是一种强大的...在提供的压缩包`PythonOOP-master`中,可能包含了各种示例代码,用于演示和练习这些OOP概念,这对于深入理解和应用Python OOP非常有帮助。
这是一个名为“长安联盟”的团队项目,作为学生们的期末考试内容,该项目占课程成绩的40%,并要求利用Python面向对象编程概念创建一个基于中国历史传说的游戏环境,在这里学生需要建立不同的英雄类,并为他们设计...
在Softuni的Python OOP模块中,可能还包括了对异常处理、模块化编程、类方法和静态方法、访问修饰符(public、private、protected)、元类以及设计模式等主题的探讨。例如,类方法用`@classmethod`装饰器,静态方法...
"PythonOOP:使用python代码回购以学习OOP"这个项目可能是通过一系列的示例代码来教授如何在Python中实现面向对象编程。下面我们将详细讨论Python OOP中的核心概念和实践技巧。 1. 类(Class): 类是创建对象的...
python-oop:Python面向对象的编程 有关所有新数据,请参见Wiki !!! 核心,但仍然是附加组件 通常会忘记 。 但是,在许多情况下,最好使用词典。 附加组件 traitlite-是的,这与traitlets不同! 和 。 原子 ...
课程详情Python OOP课程将教您面向对象编程(OOP)的原理,使用类和对象,使用面向对象的建模以及构建类层次结构。 将研究OOP的基本原理,例如抽象(接口,抽象类),封装,继承和多态性。 我们将介绍最常用的设计...
Python面向对象编程(Object-Oriented Programming,简称OOP)是一种强大的编程范式,它允许开发者通过创建对象来实现复杂的程序结构。在Python中,OOP主要基于四个核心概念:类(Class)、对象(Object)、继承...
【标题】: "hangman-oop:在Python OOP中创建子手游戏" 在这个项目中,我们将探讨如何使用面向对象编程(OOP)的概念来实现经典的"子手"游戏。子手游戏是一种文字游戏,玩家需要通过猜测隐藏的单词来避免虚拟的"子手...
标题中的"Python库 | oop-ext-0.2.0.tar.gz"表明这是一个与Python相关的库,名为"oop-ext",版本号为0.2.0,并且它被压缩成一个tar.gz文件。这种格式是Linux和Unix系统中常见的归档和压缩方式,通常用于分发软件包。...
Python面向对象编程(Object-Oriented Programming,OOP)是一种强大的编程范式,它通过类和对象的概念,使代码更具可读性、可维护性和复用性。在Python中,OOP主要涉及类的定义、对象的创建、封装、继承和多态等...
《Python库oop-ext-0.3.2:面向对象编程扩展》 在Python的世界里,库是开发者的重要工具,它们提供了丰富的功能,帮助我们高效地完成各种任务。今天我们要探讨的是名为"oop-ext-0.3.2"的Python库,它是一个针对面向...