python 面向对象(二)--访问限制】的更多相关文章

在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑. 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name.score属性: class Student(object): def __init__(self, name, score): self.name = name self.score = score def print_score(self): print('%s: %s' % (self.…
Python面向对象    类成员 1.字段         普通字段    属于对象         静态字段    属于类   2.方法 普通方法   触发者是对象    括号里至少一个参数 self = 当前对象 ,可以有多个参数 类方法     @classmethod   (cls=当前类)  触发者是类,用类直接调用,括号里只能有一个参数cls                         对静态方法的约束,只能有一个参数,参数在传值的时候自动把当前类传入.单例模式时用到. 静态方…
<无访问限制的对象> 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑.但是,从前面Student类的定义来看(见:Python面向对象编程——类定义与对象),外部代码还是可以自由地修改一个实例的name.score属性: >>> bart = Student('Bart Simpson', 98) >>> bart.score 98 >>> bart.score = 59…
1.1类的静态属性,类方法,类的静态方法 1.1.1静态属性(@property) 在类中: python内置的@property装饰器就是负责把一个方法(函数)变成属性来调用. class Student: def __init__(self,name,age,score): self.name = name self.age = age self.score = score @property def get_score(self): return self.score def learn(…
一.类和实例 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同. >>> class Student(object): ... pass ... 在Python中,定义类是通过class关键字,class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继承下来的,继承的概念我…
一.双下划线 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问. 双下划线开头的实例变量是不是一定不能从外部访问呢?其实也不是.不能直接访问__name是因为Python解释器对外把__name变量改成了_Student__name,所以,仍然可以通过_Student__name来访问__name变量. 外部代码可以设置了__name变量,但实际上这个__nam…
一些Python特殊方法的汇总 __bases__    类的基类,返回元祖__base__  类的基类,也叫父类__call__ '类名()',类名加括号调用时执行的语句__class__ 对象或类所属的类__del__ 析构方法,对象在内存中被释放时,自动触发执行__dict__               类或实例的属性,可写的字典__doc__                 类.函数的文档字符串,如果没有定义则为None__import__             动态导入模块__in…
##################################总结########################### 类的成员: 变量: 实例变量      对象.属性=xxx 类变量       共享给所有该类的对象 类.变量 方法: 实例方法,   对象.方法()     ###加了self的.调用的时候.必须用对象去访问. (重点) def method(self): pas 类方法,一般都使用类名.方法() ###当方法需要传递类名的时候. 需要类方法.  @classmeth…
属性查找 类有两种属性:数据属性和函数属性 1. 类的数据属性是所有对象共享的 2. 类的函数属性是绑定给对象用的 class BeijingStudent:   school='Beijing'   def learn(self):       print('is learning')          def eat(self):       print('is eating')      def sleep(self):       print('is sleeping')s1=BeiJi…
来源:www.cnblogs.com/wupeiqi/p/4766801.html 三.类成员的修饰符 类的所有成员在上一步骤中已经做了详细的介绍,对于每一个类的成员而言都有两种形式: 1.公有成员,在任何地方都能访问 2.私有成员,只有在类的内部才能方法 私有成员和公有成员的定义不同:私有成员命名时,前两个字符是下划线.(特殊成员除外,例如:__init__.__call__.__dict__等) 私有成员和公有成员的访问限制不同: 静态字段 1.公有静态字段:类可以访问:类内部可以访问:派生…