伪私有属性 | 伪私有方法 | Python

        1.私有属性
            # 在属性前加上双下划线
            # 为了保护属性安全
            # 私有属性无法直接通过对象调用,需要添加一个调用方法来调用;
            class People(object):
                def __init__(self):
                    self.__name = ‘Mic‘

                def get_private_attr(self, new_name):
                    self.__name = new_name
                    print(self.__name)

            # 创建对象
            p = People()
            # 获取私有属性
            p.get_private_attr(‘Lily‘)
            print(p.__name)
        2.私有方法
            # 同样的,调用需要用另一方法来调用私有方法;
            class People(object):
                def __init__(self):
                    self.__name = ‘Mic‘

                def __get_name(self):
                    print(self.__name)

                def get_name(self):
                    self.__get_name()

            p = People()
            # p.__get_name()
            p.get_name()
        ------------------------------------------------->>> 伪私有
            # !!! 其实python的类是没有权限控制的,所谓的双下划线表示私有,其实是可以访问的;
            class Private(object):
                def __inaccesible(self):
                    print(‘你访问不到‘)

                def inaccesible(self):
                    print(‘其实你看的到‘)
                    self.__inaccesible()

            p = Private()
            # p.__inaccesible()
            # p.inaccesible()
            p._Private__inaccesible()
            >>> 你访问不到
            class Private(object):
                def __init__(self):
                    self.__name = ‘Mic‘

                def get_name(self):
                    print(self.__name)

            p = Private()
            # print(p.__name)
            # p.get_name()
            print(p._Private__name)
            >>> ‘Mic‘
时间: 2024-08-29 18:40:11

伪私有属性 | 伪私有方法 | Python的相关文章

Python 面向对象 --- 私有属性和私有方法

01,应用场景及定义方式 应用场景 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望被外部访问到 私有属性 就是 对象 不希望公开的 属性 私有方法 就是 对象 不希望公开的 方法 定义方式 在 定义属性或方法时,在 属性名或者方法名前 增加连个下划线,定义的就是 私有 属性或方法 class Women: def __init__(self, name): self.name = name self.__age = 18 # def __secret(self

06_私有属性和私有方法-python

私有属性和私有方法 01. 应用场景及定义方式 应用场景 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到 私有属性 就是 对象 不希望公开的 属性 私有方法 就是 对象 不希望公开的 方法 定义方式 在 定义属性或方法时,在 属性名或者方法名前 增加 两个下划线,定义的就是 私有 属性或方法 class Women: def __init__(self, name): self.name = name # 不要问女生的年龄 self.__age

Python私有属性和私有方法

私有属性和私有方法 01. 应用场景及定义方式 应用场景 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到 私有属性 就是 对象 不希望公开的 属性 私有方法 就是 对象 不希望公开的 方法 定义方式 在 定义属性或方法时,在 属性名或者方法名前 增加 两个下划线,定义的就是 私有 属性或方法 class Women: def __init__(self, name): self.name = name # 不要问女生的年龄 self.__age

私有属性和私有方法

01. 应用场景及定义方式 应用场景 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到 私有属性 就是 对象 不希望公开的 属性 私有方法 就是 对象 不希望公开的 方法 定义方式 在 定义属性或方法时,在 属性名或者方法名前 增加 两个下划线,定义的就是 私有 属性或方法 ? class Women: def __init__(self, name): self.name = name # 不要问女生的年龄 self.__age = 18 def

3.5私有属性和私有方法

私有属性和私有方法 01. 应用场景及定义方式 应用场景 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到 私有属性 就是 对象 不希望公开的 属性 私有方法 就是 对象 不希望公开的 方法 定义方式 在 定义属性或方法时,在 属性名或者方法名前 增加 两个下划线,定义的就是 私有 属性或方法 ```python class Women: def __init__(self, name): self.name = name # 不要问女生的年龄 s

类的私有属性及私方法(请注意属性的传值方式)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #http://blog.csdn.net/wklken/article/details/6313265 #类的私有属性及私方法(请注意属性的传值方式) class MyClass(): def __init__(self): #定义私有属性,且直接给属性赋值,请记住传值方式 self.__name='xiaodeng' self.age=28 def printName(self): return sel

coffeescript 继承、私有方法、私有属性、公共方法、公共属性、静态方法、静态属性实现

class Parent constructor: -> _privateAttr = 'privateAttr' _privateFun = ()-> console.log "Parent::privateFun log #{_privateAttr}" publicAttr: 'publicAttr' publicFun: ()-> _privateFun() console.log "Parent::publicFun log #{@publicAt

私有属性,私有方法,类变量,实例变量,单下划线,双下划线

1.私有属性__age,不能通过实例对象直接调用,而是通过一个方法来调用 class Dog: def __init__(self, new_age): self.__age = new_age def get_age(self): return self.__age wang_cai = Dog(1) result = wang_cai.get_age() print(result) 2.私有方法,通过一个共有方法来调用 class Dog(object):   def __init__(se

面向对象编程-私有属性和私有方法

1.私有属性 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # Author:James Tao 4 class Role(object):#执行时之后就存在内存里 5 6 #构造函数 7 #作用:在实例化时做一些类的初始化工作,开辟一块内存 8 def __init__(self,name,role,weapon,life_value=100,money=15000): 9 self.name=name #实例变量(静态属性),作用域是实