私有

简介

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# coding:utf-8

class Cat():
__cat_type = 'cat'

def __init__(self,name,sex): # self 是方便类内部找 函数用的。
self.name = name
self.__sex = sex # 传进sex但是 构造函数是私有的__sex.
def run(self):
result = self.__run()
print(result)
def __run(self):
return f'小猫{self.__cat_type,self.name,self.__sex}开心的奔跑'
def dump(self):
result = self.__dump()
print(result)
def __dump(self):
return f'小猫{self.__cat_type,self.name,self.__sex}开心的跳着'

class Test():
pass

cat = Cat(name='米粒儿',sex='boy')
cat.run()
cat.dump()

# cat.__run()

print(dir(cat))
print(cat._Cat__dump()) # python 中通过这样的方法,其实可以绕弯调用类的私有函数和属性。
print(cat._Cat__cat_type)