码迷,mamicode.com
首页 > 编程语言 > 详细

day8-python-成员修饰符

时间:2016-07-01 01:09:22      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:

python的面相对象中,拥有3个成员,字段、方法、属性

 1 class Foo:
 2     def __init__(self,name):
 3         #公有字段name在类中与类外均能调用
 4         self.name = name
 5 
 6     def f1(self):
 7         print(self.name)
 8 
 9 obj = Foo(alex)
10 #内部调用
11 print(obj.name)
12 #>>>alex
13 #外部调用
14 obj.f1()
15 #>>>alex

 

 1 class Foo:
 2     def __init__(self,name):
 3         #私有字段name只能在类中调用类外不能调用
 4         self.__name = name
 5 
 6     def f1(self):
 7         print(self.__name)
 8 
 9 
10 obj = Foo(alex)
11 #内部调用
12 print(obj.name)
13 #>>>alex
14 #外部调用
15 obj.f1()
16 #>>>报错
 1 #特殊成员
 2 class Foo:
 3     #构造方法
 4     def __init__(self,name,age):
 5         self.name =name
 6         self.age = age
 7         print(实例化对象时执行)
 8 
 9     #析构方法
10     def __def__(self):
11         print(内存被释放时,自动触发执行)
12     def __call__(self):
13         print(call)
14     
15     def __str__(self):
16         return %s-%d%(self.name,self.age)
17         return 返回什么就显示什么
18 p=Foo()
19 >>>实例化对象时执行
20 #>>>显示对象属于哪个类
21 print(p.__class__)
22 >>><class __main__.Foo>
23 #执行call方法
24 p()
25 >>>call
26 #先执行构造方法在执行call方法
27 Foo()()
28 >>>实例化对象时执行
29 >>>call
30 
31 obj1 = Foo(alex,71)
32 obj2 = Foo(eric,72)
33 #打印对象自动调用__str__方法
34 print(obj1)
35 >>>alex-71
36 print(obj2)
37 >>>eric-72
38 #执行str()方法的时候自动调用__str__方法
39 ret = str(obj1)
40 print(ret)
41 >>>alex-71

 

day8-python-成员修饰符

标签:

原文地址:http://www.cnblogs.com/liguangxu/p/5631616.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!