这篇文章将为大家详细讲解有关python中使用私有方法需要注意什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
python的五大特点是什么
python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本身。2.面向对象,与其他主要的语言如C++和Java相比, Python以一种非常强大又简单的方式实现面向对象编程。3.可移植性,Python程序无需修改就可以在各种平台上运行。4.解释性,Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。5.开源,Python是 FLOSS(自由/开放源码软件)之一。
1、使用注意
单下划线的方法只是开发者之间的约定,解释器不做任何改变。
双下化下的方法,是私有方法,解释器会改名,改名策略和私有变量相同,【_类名__方法名】。方法变量都在类的【__dict__】中可以找到。
2、实例
class Myclass:
def __init__(self,name,age=18):
self.name = name
self._age = age
def __getname(self):
return self.name
def __getage(self):
return self.name
a = Myclass("tom")
#print(a.__getname()) # AttributeError: 'Myclass' object has no attribute '__getname'
#print(a.__getage()) # AttributeError: 'Myclass' object has no attribute '__getage'
print(a.__dict__) # {'name': 'tom', '_age': 18}
print(a.__class__.__dict__) # {'__module__': '__main__', '__init__': <function Myclass.__init__ at 0x01ABC468>, '_Myclass__getname': <function Myclass.__getname at 0x01B06150>, '_Myclass__getage': <function Myclass.__getage at 0x01B064B0>, '__dict__': <attribute '__dict__' of 'Myclass' objects>, '__weakref__': <attribute '__weakref__' of 'Myclass' objects>, '__doc__': None}
print(a._Myclass__getname()) # tom
关于“python中使用私有方法需要注意什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。