返回顶部
首页 > 资讯 > 后端开发 > Python >Python属性私有化详解
  • 596
分享到

Python属性私有化详解

Python私有化Python私有化属性 2023-02-08 12:02:51 596人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录前言私有化属性set和get装饰器@property前言 在做程序的过程中,有时候程序猿不想让外人动一些值,这个时候,就可以考虑把一些变量进行私有化 __属性:就是将属性私有化,

前言

在做程序的过程中,有时候程序猿不想让外人动一些值,这个时候,就可以考虑把一些变量进行私有化

__属性:就是将属性私有化,访问范围仅仅限于类中。

私有化属性

私有化属性只需要以双下划线开头,声明该属性为私有属性即可,声明之后就不能在类外部使用或直接访问。

class Student:
    __age = 10
a = Student()
print(a.__age)

私有化属性的有三个特性:

  • 不能在类外面访问
  • 可以在类里面访问,修改
  • 子类不能继承私有化属性

set和get

set是为了赋值,给私有化属性赋值。

get是为了取值,把私有化属性的值取出来。

class Student:
    __age = 10
    def __init__(self ,age):
        self.age = age
    # 定义公有的set方法和get方法
    def set_age(self ,age):
        self.__age = age
    def get_age(self):
        return self.__age
a = Student('100')
print(a.get_age())
a.set_age(1000)
print(a.get_age())

私有化好处:

隐藏属性不被外界随意修改(在set里面加一些判断,防止被随意修改)

也可以修改,通过函数完成

def setXXX(self,xxx):
    筛选赋值内容
    if 条件:
        赋值
    else:
        不赋值

如果想获取具体的某一个属性,使用get函数来完成

def getXXX(self):
    return 要返回的某一个属性

通过set和get函数即可完成对私有化属性的一些操作。

装饰器@property

class Stu:
    def __init__(self,name,age):
        self.name = name
        self.__age = age
    def set_age(self,age):
        if age > 0 and age < 100:
            self.__age = age
        else:
            print('不在规定范围内')
    def get_age(self):
        return self.__age
    def __str__(self):
        return 'name: {} \nage:{}'.fORMat(self.name,self.__age)
a = Stu('lisan',20)
a.name = 'wangwu'
print(a.name)
a.set_age(30)
print(a.get_age())

当我想访问私有属性的时候,只能通过get和set函数来访问。

通过装饰器,就可以让私有属性当作属性一样去调用。

class Stu:
    def __init__(self,name,age):
        self.name = name
        self.__age = age
    @property
    def age(self):
        return self.__age
    @age.setter
    def age(self,age):
        self.__age = age
    def __str__(self):
        return 'name: {} \nage:{}'.format(self.name,self.__age)
a = Stu('lisan',20)
a.age = 90
print(a)
a.age = 40
print(a)

到此这篇关于python属性私有化详解的文章就介绍到这了,更多相关Python私有化内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python属性私有化详解

本文链接: https://lsjlt.com/news/195150.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python属性私有化详解
    目录前言私有化属性set和get装饰器@property前言 在做程序的过程中,有时候程序猿不想让外人动一些值,这个时候,就可以考虑把一些变量进行私有化 __属性:就是将属性私有化,...
    99+
    2023-02-08
    Python私有化 Python私有化属性
  • python——“破解”私有属性
    #coding:utf-8 class A:     def __init__(self, name, age, pwd):         self.__name = name         self.__age = age     ...
    99+
    2023-01-31
    属性 python
  • python 公有属性和私有属性
    十三、python 公有属性和私有属性 属性: 方法: class Chinese(Person): nation = 'China' def __init__(self,name): self.__name = name def m...
    99+
    2023-01-31
    属性 python
  • Python 私有属性与私有方法
    目录1. 场景定义2. 语法定义3. 调用分析4. Python伪私有属性和私有方法1. 场景定义 私有属性: 是指在 Python 的面向对象开发过程中,对象的某些属性只想在对象的...
    99+
    2024-04-02
  • 聊聊Python私有属性与私有方法
    1、 场景定义私有属性是指在 Python 的面向对象开发过程中,对象的某些属性只想在对象的内部被使用,但不想在外部被访问到这些属性。即:私有属性是对象不愿意公开的属性。私有方法是指在 Python 的面向对象开发过程中,对象的某些方法或者...
    99+
    2023-05-14
    Python 私有属性 私有方法
  • python类的私有属性和公共属性说明
    目录python类私有属性和公共属性python私有属性的定义python类私有属性和公共属性 对于python而言,类的属性的可见度只有两种,public和private。 类的私...
    99+
    2024-04-02
  • python基础知识之私有属性和私有方法
    私有权限 面向对象三大特性:封装、继承、多态 封装的意义: 将属性和方法放到一起做为一个整体,然后通过实例化对象来处理; 隐藏内部实现细节,只需要和对象及其属性和方法交互就...
    99+
    2024-04-02
  • python中的私有属性和私有方法是什么
    这篇文章给大家介绍python中的私有属性和私有方法是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。私有权限面向对象三大特性:封装、继承、多态封装的意义:将属性和方法放到一起做为一个整体,然后通过实例化对象来处理;...
    99+
    2023-06-14
  • python中什么是伪私有属性
    本篇文章给大家分享的是有关python中什么是伪私有属性,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、...
    99+
    2023-06-14
  • 如何在python中使用私有属性和私有方法
    本篇文章给大家分享的是有关如何在python中使用私有属性和私有方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Python的优点有哪些1、简单易用,与C/C++、Java、...
    99+
    2023-06-14
  • Python中关于面向对象私有属性方法的详细讲解
    目录1.私有属性和私有方法私有属性:私有方法:类部调用私有属性和私有方法子类不能继承父类私有属性和方法实例属性(对象属性)通过实例(对象)去修改类属性2.修改私有属性的值3.类属性和...
    99+
    2024-04-02
  • 一文详解JS私有属性的6种实现方式
    目录_propProxySymbolWeakMap#propts private总结class 是创建对象的模版,由一系列属性和方法构成,用于表示对同一概念的数据和操作。 有的属性和...
    99+
    2024-04-02
  • python私有属性和方法怎么获取
    今天小编给大家分享一下python私有属性和方法怎么获取的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来...
    99+
    2024-04-02
  • 私有属性/方法的访问
    在属性/方法名前有双下划线的,称为私有属性/方法,私有属性/方法外部不能直接访问, 一般访问类的私有属性,可以通过自身调用 使用了私有属性的公有方法 间接访问私有属性/方法, 但python中并没有真正意义的私有,可以通过 _类名__属性...
    99+
    2023-01-30
    属性 方法
  • python直接访问私有属性的简单方法
    实例化对象名._类名__私有属性名 class Flylove: price = 123 def __init__(self): self.__direction =...
    99+
    2022-06-04
    属性 简单 方法
  • 浏览器私有属性是什么
    这篇文章主要介绍浏览器私有属性是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! Google Chrome, Safari (-webkit) Firefox (-moz...
    99+
    2024-04-02
  • vue组件属性(props)及私有数据data解析
    目录props1、组件Comp1.vue2、使用了Comp1的页面3、运行结果data子组件中data和props的区别vue组件中,props是公有属性,主要对外,相当于类里面的g...
    99+
    2022-11-13
    vue组件属性 vue props vue私有数据data
  • JavaScript中Class私有属性与私有方法的示例分析
    小编给大家分享一下JavaScript中Class私有属性与私有方法的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!pr...
    99+
    2024-04-02
  • CSS 属性详解:颜色属性
    CSS 属性详解:颜色属性CSS(层叠样式表)是一种用于描述网页样式的标记语言。其中,颜色属性是CSS中最常用的属性之一。通过使用颜色属性,我们可以改变页面中元素的文字颜色、背景颜色、边框颜色等,从而实现视觉上的效果和美化。一、颜色值的表示...
    99+
    2023-10-25
    color (颜色) background-color (背景颜色) border-color (边框颜色)
  • Python函数属性和PyC详解
    目录函数属性自定义属性查看函数对象属性属性和字节码对象PyCodeObject总结函数属性 python中的函数是一种对象,它有属于对象的属性。除此之外,函数还可以自定义自己的属性。...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作