Python私有属性set和get方法2

class Person(object):    count = 0 #类属性    def __init__(self,name,age):#实例属性        # self.__name = name#name是私有属性;私有属性接收是set/get方法;        # self.__name 也可以用 self.setName(name)  这样的好处是在创建实例的时候,不用再重新去给赋值(调用set方法),初始化就可以赋值        self.setName(name)        self.age = age    def run(self):        print(self.__name + "跑路")    def setName(self,name):#注意:一个私有属性一个set方法        self.__name = name    def getName(self):#一个私有属性一个get方法        return self.__name

p = Person("123",12)# p.setName("123")print(p.getName())
注意:
设置对象属性(__init__()方法)时:self.__name和self.setName() 的区别
self.__name表示初始化值时是不会调用setName方法过滤的,重新赋值时也会调用
self.setName()在初始化值是就会调用setName方法过滤的。

原文地址:https://www.cnblogs.com/guojie-guojie/p/9268478.html

时间: 2024-08-28 19:12:03

Python私有属性set和get方法2的相关文章

Python私有属性set 和get方法

class Person(object): #self不是关键字,换成其他的标识符也是可以的,但是一般不要改 def run(self): print("run") def eat(self,food): print("eat" + food) def say(self): print("hello! my name is %s,i am %d years old" %(self.name,self.age)) def __init__(self

Python类属性访问的魔法方法

Python类属性访问的魔法方法: 1. __getattr__(self, name)- 定义当用户试图获取一个不存在的属性时的行为 2. __getattribute__(self, name)- 定义当该类的属性被访问时的行为 注意:当__getattr__与__getattribute__同时重写时,访问属性时,优先调用__getattribute__,只有当被访问的属性不存在时才触发__getattr__ 3. __setattr__(self, name, value)- 定义当一个

Python私有属性和私有方法

私有属性和私有方法 01. 应用场景及定义方式 应用场景 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到 私有属性 就是 对象 不希望公开的 属性 私有方法 就是 对象 不希望公开的 方法 定义方式 在 定义属性或方法时,在 属性名或者方法名前 增加 两个下划线,定义的就是 私有 属性或方法 class Women: def __init__(self, name): self.name = name # 不要问女生的年龄 self.__age

Python私有属性@property方法

# 把得到的属性值的方法上@property# 在设置属性值的方法上@属性名.setter# 两个方法的名字一致,都是属性名#先写@property再写@属性名.setterclass Person(object): def __init__(self,name,age):#在定义对象属性的时候,私有属性不加__ self.name = name self.age = age @property#相当于getName()方法 def name(self): return self.__name#

Python私有属性

1 访问类的私有属性首先我们定义一个包含私有属性的类,尝试使用实例对象访问它 [Python] 纯文本查看 复制代码 ? 1 2 3 4 5 6 7 8 class People(object):     def __init__(self):         self.__age = 20 people = People() print(people.__age) 结果如下: [Python] 纯文本查看 复制代码 ? 1 2 3 4 Traceback (most recent call l

Python - 私有属性(双下线的变形)

__x会自动变形为_类名__x 正常情况 class A: def foo(self): print('from A') def test(self): self.foo() class B(A): def foo(self): print('from B') b = B() b.test() # from B 把foo定义成私有 class A: def __foo(self): #双下线私有属性在定义时就变形为_A__fa print('from A') def test(self): se

浏览器私有属性前缀及去除方法

什么是浏览器私有属性前缀 CSS3的浏览器私有属性前缀是一个浏览器生产商经常使用的一种方式.它暗示该CSS属性或规则尚未成为W3C标准的一部分. 以下是几种常用前缀 -webkit- -moz- -ms- -o- -khtml-(现在基本都没有用了,被-webkit-取代) 举例来说,一个CSS3圆角的代码是: -webkit-border-radius: 50%; -o-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius

3.5私有属性和私有方法

私有属性和私有方法 01. 应用场景及定义方式 应用场景 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到 私有属性 就是 对象 不希望公开的 属性 私有方法 就是 对象 不希望公开的 方法 定义方式 在 定义属性或方法时,在 属性名或者方法名前 增加 两个下划线,定义的就是 私有 属性或方法 ```python class Women: def __init__(self, name): self.name = name # 不要问女生的年龄 s

__set($key,$values) 和__get($varName) 魔术方法设置读取私有属性

__set($key,$val) 对类内私有属性赋值 作用:对私有属性的处理 当在类外对类内的私有属性赋值时会自动调用此函数 __get($varName) 读取类内私有属性 作用:虽然可以外部访问,但有限制条件,否则直接public即可,不需要私有化此属性 根据限制条件 开放访问权限 当对象调用类内私有属性时调用此方法 必须有返回值 return $this->$varName class A{ private $name; private $age; function __set($key,