我是靠谱客的博主 平淡乌龟,最近开发中收集的这篇文章主要介绍python如何访问私有变量_如何访问私有成员,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

# ### 如何访问私有成员

class Plane():

# 公有属性

captain = "马军强"

# 私有属性

__air_sister = "20个"

# 公有绑定方法

def fly(self):

print("飞机会飞")

# 公有普通方法

def fly2():

print("飞机会飞2")

# 私有的绑定方法

def __oil_info(self):

print("飞机百公里油耗是100升")

# 私有的普通方法

def __oil_info2():

print("飞机百公里油耗是100升")

# 公有的绑定方法

def pub_info(self):

print(self.__air_sister)

self.__oil_info()

# 公有的普通方法

def pub_info2():

print(Plane.__air_sister)

Plane.__oil_info2()

# (1)如何访问类的私有成员?

'''

利用公有方法调用类内的私有成员

私有成员在本类之内可以随便调用,在本类之外不能调用

'''

# 实例化对象 方法一

obj = Plane()

obj.pub_info()

# 也可以使用类来调用 方法二

Plane.pub_info2()

# (2)如果就想直接在类外调用私有成员,有办法么?

'''

私有成员的改名策略:

_类名 + 私有成员 (没有真正的私有化,类外可以通过改名策略仍然调取.)

'''

print("<===>")

print(obj._Plane__air_sister)

Plane._Plane__oil_info2()

# ### 如何删除成员

# (1)实例化的对象删除公有成员属性和方法

obj = Plane()

print(obj.__dict__)

print(obj.captain)

'''

captain 成员属性归属于class Plane的,不是obj的

obj可以有使用权,没有所有权(不能够修改或者删除类内的属性)

如果对象有该属性方法,先优先调用该对象里面的成员,

如果没有,在调用类中的成员属性和方法

如果都没有,直接报错.

'''

# 删除对象的属性

obj.captain = "熊卫华"

print(obj.__dict__)

print(obj.captain)

del obj.captain

print(obj.captain) # obj自己的captain 被删除了

# 删除对象的方法

print("<======>")

obj.fly111222 = lambda : print("我的飞机可以潜入海底")

obj.fly111222()

print(obj.__dict__)

# del obj.fly

# print(obj.__dict__)

# (2)定义的类删除公有成员属性和方法

'''

对象可以调用类中得公有成员属性方法

类不能调用对象的相关成员属性和方法

方向不可逆.

一个类可以产生多个对象,多个对象彼此之间,数据独立

'''

# 删除类的成员属性

# del Plane.captain

# print(Plane.captain)

# print(obj.captain)

# Plane.fly111222() error 类不能调用对象的方法

# 删除类的成员方法

# del Plane.pub_info

# Plane.pub_info() error 不存在

最后

以上就是平淡乌龟为你收集整理的python如何访问私有变量_如何访问私有成员的全部内容,希望文章能够帮你解决python如何访问私有变量_如何访问私有成员所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部