我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python 公有属性和私有属性

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python 公有属性和私有属性

十三、python 公有属性和私有属性

属性

方法:

class Chinese(Person):

nation = 'China'

def __init__(self,name):

self.__name = name

def msg(self):

print self.name

属性:

-类属性

-实例属性

属性的可见性:

-公有属性

-私有属性

class Chinese(Person):

nation = 'China'  #类属性

def __init__(self,id,name):

self.id = id #公有属性

self.__name = name #实例属性,私有属性

def msg(self):

print self.name

私有属性:

python并没有真正的私有属性

用__定义的属性,只是被改名换姓而已

用_定义的属性,意义在于唤起用户的注意,看成私有属性

 

------------------------------------------------------------------

class Chinese(object):

    nation = 'Chain'

 

    def __init__(self, id, name):

        self._id = id

        self.__name = name

 

    def sayHi(self, msg):

        print self.__name,msg

 

 #定义实例

aidon = Chinese(1,'aidong')

bajie = Chinese(2,'bajie')

#通过类看类属性

Chinese.nation

#通过实例看类属性

aidon.nation

 

#通过类修改类属性

Chinese.nation=u'中国'

#再次查看

Chinese.nation

aidon.nation

bajie.nation

 

#通过实例修改类属性(只对该实例管用):尽量不用实例对象修改类属性

aidon.nation='Chain'

 

#查看实例字典

aidon.__dict__

 

#修改实例属性(_)的值(_id感觉是点没有被保护,底层也没有改名换姓)

aidon._id

aidon._id = 100  #是否能修改该实例对象的私有属性值(可以)

aidon._id

 

#修改实例属性(__)的值(__name感觉是点被保护,底层其实是改名换姓)

bajie.__name

bajie.__name = "tangzeng" #该方式修改是不对的 (相当于是新增咯)

bajie._Chinese__name = 'wukong'  #这样才可以,我们定义实例属性是__name,但是压根被python改咯个名字,规律是:_classname__propertyname

 

#调用方法:

aidon.sayHi("hello aidon")

 

------------------------------------------------------------

怎么真正来操作(读写删除)属性呢?要直接访问属性就违背面向对象封装原则

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python 公有属性和私有属性

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python 公有属性和私有属性

十三、python 公有属性和私有属性属性:方法:class Chinese(Person):nation = 'China'def __init__(self,name):self.__name = namedef msg(self):p
2023-01-31

Python装饰器泛化公有和私有属性

Python装饰器为程序员提供了灵活的工具,能够动态地修改函数或类的行为,其中包括对类中公有和私有属性的访问和设置行为进行控制。本文深入探讨了装饰器在这方面的应用。

python——“破解”私有属性

#coding:utf-8class A:    def __init__(self, name, age, pwd):        self.__name = name        self.__age = age        se
2023-01-31

Python属性私有化详解

私有化是为了实现更好的封装形式。能隐藏属性,不被随意修改。以前置双下划线__属性/方法名定义,但是结尾不能是双下划线。如果不让某些属性在类外部被随意更改,可设置成私有属性。在类定义的内部可以访问
2023-02-08

python中的私有属性和私有方法是什么

这篇文章给大家介绍python中的私有属性和私有方法是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。私有权限面向对象三大特性:封装、继承、多态封装的意义:将属性和方法放到一起做为一个整体,然后通过实例化对象来处理;
2023-06-14

如何在python中使用私有属性和私有方法

本篇文章给大家分享的是有关如何在python中使用私有属性和私有方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Python的优点有哪些1、简单易用,与C/C++、Java、
2023-06-14

python中什么是伪私有属性

本篇文章给大家分享的是有关python中什么是伪私有属性,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、
2023-06-14

Java 中私有属性如何进行赋值?(java私有属性怎么赋值)

在Java编程中,私有属性(private属性)是类的内部成员,外部类无法直接访问。然而,在实际的编程中,我们经常需要对私有属性进行赋值操作。以下是关于Java私有属性怎么赋值的详细教程。一、为什么需要私有属性以及为什么要对其赋值
Java 中私有属性如何进行赋值?(java私有属性怎么赋值)
Java2024-12-13

一文搞懂Python中私有属性和私有方法使用区别

本文深入介绍了Python中的私有属性和私有方法的概念、作用以及使用方法。

私有属性/方法的访问

在属性/方法名前有双下划线的,称为私有属性/方法,私有属性/方法外部不能直接访问,一般访问类的私有属性,可以通过自身调用 使用了私有属性的公有方法 间接访问私有属性/方法,但python中并没有真正意义的私有,可以通过 _类名__属性/方法
2023-01-30

python类属性和实例属性

python中的类属性只是存储与类相关的数据,和该类的实例无关。类属性和java中的静态成员变量类似。访问python的类属性可使用类名+“.”+属性名的方式,如果类的实例没有同名变量也可以使用实例来访问。如果实例含有与类属性同名的属性,则
2023-01-31

Python中私有属性“_“下划线和“__“双下划线区别

本文主要介绍了Python中私有属性“_“下划线和“__“双下划线区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-03-08

关于python类属性和实例属性的细节有哪些

本篇内容主要讲解“关于python类属性和实例属性的细节有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“关于python类属性和实例属性的细节有哪些”吧!关于python类属性和实例属性,简
2023-06-02

html标签有哪些公有的属性

html 公有属性适用于所有 html 元素,用于设置基本特性,包括:设置唯一标识符 (id)设置类名 (class)设置提示文字 (title)内联设置样式 (style)设置语言代码 (lang)设置书写方向 (dir)设置 tab 键
html标签有哪些公有的属性
2024-04-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录