精华内容
下载资源
问答
  • 在本篇文章里小编给大家整理的是一篇关于python调用私有属性的方法总结,对此有需要的朋友们可以学习下。
  • 私有方法和私有属性私有方法只能在类内部被调用,不能被对象使用私有属性只能在类内部使用,不能被对象使用私有属性只能在类内部使用,对象不能使用,但是,我们可以通过在类内部定义公有方法对私有属性进行调用或...

    5db6572113add965.gif

    私有方法和私有属性

    私有方法只能在类内部被调用,不能被对象使用

    私有属性只能在类内部使用,不能被对象使用

    私有属性只能在类内部使用,对象不能使用,但是,我们可以通过在类内部定义公有方法对私有属性进行调用或修改,然后对象在调用这个公有方法使用。

    私有属性和私有方法

    #在属性名和方法名前面加上 __class Person(object):

    def __init__(self): # 公有属性

    self.name = "李四"

    #私有属性

    self.__age = 18

    #定义公有方法

    def show_info(self): # 私有属性只能在类内部使用,可以通过内部公有方法修改,

    self.__age = 29

    print(self.name, self.__age)#调用私有方法

    #在类内部使用私有方法,可以通过内部公有方法调用

    result = self.__show_address()

    print( result)

    #定义私有方法

    def __show_address(self):

    return "我的家在东北"

    #定义对象,调用类person = Person()

    person.show_info()

    #测试对象调用私有属性,结果报错,对象不能使用私有属性,私有属性只能在内部使用

    #print(person.name, person.age)

    #测试对象调用私有方法,结果报错,私有方法只能在类内部使用

    #person.show_address()

    输出:李四 29

    我的家在东北

    更多学习内容,请点击Python学习网。

    展开全文
  • 类的私有属性和方法Python是个开放的语言,默认情况下所有的属性和方法都是公开的 或者叫公有方法,不像C++和 Java中有明确的public,private 关键字来区分私有公有。Python默认的成员函数和成员变量都是公开的,类的...

    类的私有属性和方法

    Python是个开放的语言,默认情况下所有的属性和方法都是公开的 或者叫公有方法,不像C++和 Java中有明确的public,private 关键字来区分私有公有。

    Python默认的成员函数和成员变量都是公开的,类的私有属性指只有在类的内部使用的属性或方法,表现形式为以“__“ 属性名或方法名以双下划线开头。

    class Test(object):

    __count = 0 # 私有属性 __count

    def get_count(self):

    return self.__count # 类的内部可以使用私有属性

    def set_count(self, value):

    if self.__check_value(value): # 在类的内部调用类的私有方法

    self.__class__.__count = value

    def __check_value(self, value): # 定义类的私有方法 检查参数

    if isinstance(value, int):

    return True

    a = Test()

    print(a.get_count())

    a.set_count(100)

    print(a.get_count())

    #a.__check_value(10) # 调用私有方法会报错

    #print(a.__count)# 直接访问私有属性也会报错

    应用场景

    对于一些敏感的数据,我们不希望直接被的函数调用,或者不希望草率的直接object.key = value 来修改,我们可以选择将属性声名为私有的,这样从外部时无法访问该属性的,也就不能修改了,但是依然可以修改属性字典的方法来修改。

    # 当然 可以使用 @proprety

    class Person(object):

    __name = 'Monkey'

    def update_name(self, name):

    self.__name = name

    def get_name(self):

    return self.__name

    p = Person()

    p.update_name('BlackMonkey')

    print(p.get_name()) # BlackMonkey

    print(p.__name) # 报错 AttributeError: 'Person' object has no attribute '__name'

    展开全文
  • python对于类的成员没有严格的访问控制限制,这与其他面向对象语言有区别,关于私有属性和私有方法,有如下要点: 1.通常我们约定,两个下划线开头的属性是私有的(private),其他为公共的(public)。 2.类...

    私有属性

          python对于类的成员没有严格的访问控制限制,这与其他面向对象语言有区别,关于私有属性和私有方法,有如下要点:

          1.通常我们约定,两个下划线开头的属性是私有的(private),其他为公共的(public)。

          2.类内部可以访问私有属性(方法)

          3.类外部不能直接访问私有属性(方法)

          4.类外部可以通过“_类名__私有属性(方法)名“访问私有属性(方法)

    【注】:方法本质上也是属性!只不过是可以通过()执行而已,所以,此处讲的私有属性和公共属性,也同时讲解了私有方法和公有方法的用法,如下测试:同时包含了私有方法和公有方法的例子。

    # 测试私有属性
    class stu():
        def __init__(self, name, age):
            self.name = name
            self.__age = age
    
    
    s = stu('tian', '12')
    print(s.name)
    print(dir(s))  # 对象内所有方法
    print(s._stu__age)

    私有方法

    # 私有方法
    class stu():
        __com = '天天向上'  # 私有类变量
    
        def __init__(self, name, age):
            self.name = name
            self.__age = age
    
        def __work(self):  # 私有方法,内部调用还是正常调用
            print('好好工作,努力挣钱')
            print(stu.__com)
    
    
    s = stu('向上', 12)
    print(dir(s))
    s._stu__work()  # 外部调用私有方法
    s._stu__com  # 外部调用类变量

     

    展开全文
  • Python3 私有属性

    千次阅读 2018-01-31 22:04:51
    # 对象的私有属性 class People(object):  """ descrapition 可以写一些类的描述 """  def __init__(self, name):  self.name = name  # 声明一个对象的私有属性  # 私有属性只能在
    # -*- coding: utf-8 -*-


    # 对象的私有属性


    class People(object):
        """ descrapition 可以写一些类的描述 """
        def __init__(self, name):
            self.name = name
            # 声明一个对象的私有属性
            # 私有属性只能在类声明的范围内使用
            # 声明私有属性,需要在属性名前添加__双下划线
            self.__age = 18
            # 一个下划线不是私有属性
            self._height = 180




        # 如果想要在类声明的外部获取私有属性的属性值,专门写一个函数,在函数中将私有属性值返回,在类声明外部就可以调用这个获取私有属性值
        def get_age(self):
            # 返回__age的属性值
            return self.__age


        # 如果想要在类声明的外部设置私有属性的属性值,专门写一个函数,在函数中对私有属性进行赋值,在类声明外部就可以调用这个设置私有属性值
        def set_age(self, value):
            # 类声明的范围内,可以放私有属性
            self.__age = value




    p1 = People('张三')
    # 一个下划线不是私有属性,可以在外部访问
    print(p1._height)
    print(p1.name)
    # 超出类声明的范围,所在这个位置是无法访问__age属性值的
    # print(p1.__age)
    # 通过调用get_age()函数,获取__age的值
    age = p1.get_age()
    print(age)
    # 在类声明的外部,无法直接修改私有属性值
    #  p1.__age = 20
    p1.set_age(20)


    age = p1.get_age()
    print(age)















    展开全文
  • 17.python-私有属性和私有方法

    千次阅读 2019-11-27 21:24:02
    私有属性和私有方法 01. 应用场景及定义方式 应用场景 在实际开发中,对象的某些属性或方法可能只希望在对象的内部被使用,而不希望在外部被访问到 私有属性就是对象不希望公开的属性 私有方法就是对象不希望...
  • python私有属性及私有方法

    千次阅读 2017-11-08 14:15:31
    如果有一个对象,当需要对其进行修改属性时,有2种方法: ...(1)将属性定义为私有属性 (2)添加一个可以调用的方法,供调用,也就是间接调用属性 下面这个是一个错误的例子: class People(object): def __in
  • 如果一个属性是以两个下划线开始 就标识这个这个属性是一个私有属性...如果一个属性进行了私有 在类的外面不能调用修改私有属性的值如果需要修改一个对象的属性值,通常有2种方法对象名.属性名 = 数据 ----> ...
  • 私有属性和私有方法 应用场景及定义方式 应用场景 在实际开发中,对象的某些属性或方法可能只希望在对象的内部使用,而不希望在外部被访问到 私有属性 就是 对象 不希望公开的 属性 私有方法 就是 方法 不希望公开的...
  • Python 定义私有属性

    千次阅读 2017-09-23 20:58:30
    Python没有类似于Java中的private关键字, 但也可以为类定义私有属性: 将属性命名为: __field.class Vector2D(object): def __init__(self, x, y): self.__x = float(x) self.__y = float(y) self.xx = x self
  • Python私有属性总结

    2020-08-02 20:49:08
    前言:在前面的博文里,我介绍了Python中的面向对象,详情见:深入浅出Python——Python高级语法之文件操作,本文将主要讲解with open() as读写文件的优点与作用。
  • 私有属性在类外不能被访问,在类里面可以访问和修改。格式为 __属性 注意:其实,私有属性在类外也是可以被访问的,格式为 对象._test__属性 私有方法在类外不能被调用,在类里面可以被调用。格式为 def __方法名...
  • 私有属性不能在外面通过实例调用2.只能够在类里面自己来调用3.私有属性对外面是隐藏的'''classAnimal(object):hobbie= "meat"def __init__(self,name):self.name=nameself.__num =None@propertydeftotal_players...
  • python私有方法和私有属性

    万次阅读 多人点赞 2018-05-21 08:51:51
    Python默认的成员函数和成员变量都是公开的,Python 私有属性和方法没有类似别的语言的public,private等关键词来修饰。 在python中定义私有变量只需要在变量名或函数名前加上 "__"两个下划线,那么这个函数或变量就...
  • Python私有属性、私有方法 私有属性、方法——Python并没有真正的私有化支持,但可用下划线得到伪私有 在实际开发中,类的某些属性或方法可能只希望在对象的内部被使用,而不希望在外部被访问到 私有属性就是类不...
  • 一、私有属性 一般面向对象的编程语言都会区分公有和私有的数据类型,像C++和Java他们使用public和private关键字,用于声明数据是公有还是私有的,但在Python中并没有用类似的关键字来修饰 In [1]: class Person:...
  • Python访问私有属性

    2017-02-19 21:11:17
    #coding:utf-8 class Foo:  def __init__(self,name):  self.__name=name  def f1(self):  print(self.__name)   class Bar(Foo): ...print(obj._Foo__name)#可以利用这个方法访问私有字段
  • 一、私有属性和私有方法 私有属性和私有方法 应用场景及定义方式 应用场景 在实际开发中,对象的某些属性或方法可能只希望在对象的内部使用, 而不希望在外部被访问到 私有属性 就是 对象 不希望公开的 属性 私有...
  • python私有属性

    2019-07-12 23:58:36
    class Test(object): ... self.__num = 100#私有属性 对象无法调用,子类也不能继承 def getnum(self): return self.__num t = Test() t.__num = 200 #给对象添加一个新的属性"__num" 这个属性和类属性__num ...
  • 主要介绍了python私有函数调用方法,较为详细的分析了Python私有函数的原理与调用技巧,需要的朋友可以参考下
  • Python中的私有属性 在面向对象(Object Oriented Design)的情景下,所谓私有属性(private attributes),包括私有方法和私有变量,指的是只供一个类或者实例内部使用的方法和变量。这些方法和变量不应当被在类和实例...
  • 私有:只在对象内使用的...外部不能调用私有属性和私用方法 class Women: def __init__(self, name): self.name = name self.__age = 18 def __secret(self): print("%s 的年龄是%d" % (self.name, self.__age...
  • 1,xx 一般情况下使用的变量 2,_xx 单下划线 在某人模块中,如果变量是 _xx 形式的 import 模块名 变量可正常使用 ...python解释器会对私有属性和私有方法进行 名字重整(改名) 重整原则为:_类名_...
  • 具体如下:与大多数语言一样,Python 也有私有的概念:① 私有函数不可以从它们的模块外面被调用② 私有类方法不能够从它们的类外面被调用私有属性不能够从它们的类外面被访问与大多数的语言不同,一个 Python ...
  • 1.私有方法和私有属性私有方法只能在类内部被调用,不能被对象使用私有属性只能在类内部使用,不能被对象使用 私有属性只能在类内部使用,对象不能使用,但是,我们可以通过在类内部定义公有方法对私有属性进行调用...
  • 私有属性和私有方法 在实际开发中,对象的某些属性或方法可能只希望在对象的内部使用,而不希望在外部使用,这时候就需要用到私有属性和方法 私有属性就是对象不希望公开的属性 私有方法就是对象不希望公开...
  • python 公有属性和私有属性

    千次阅读 2017-08-17 00:09:14
    python 公有属性和私有属性

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,933
精华内容 20,373
关键字:

python调用私有属性

python 订阅