コード例 #1
0
from chapter04.class_method import Date


class User:
    def __init__(self, birthday):
        self.__birthday = birthday  # __birthday 是一个私有属性

    def get_age(self):
        return 2019 - self.__birthday.year

    def __private_method(self):
        print("I'm private!")


if __name__ == '__main__':
    user = User(Date(1990, 2, 1))
    print(user.get_age())
    print(user._User__birthday)  # 也可以这样偷偷获取,实际上 __birthday 属性的名称被改变了
    user._User__private_method()  # 也可以这样偷偷调用私有方法
コード例 #2
0
ファイル: private_method.py プロジェクト: maxlv7/day
#数据封装和私有属性

from chapter04.class_method import Date


class User:
    def __init__(self, brd):
        self.__brd = brd

    def get_age(self):
        return 2018 - self.__brd.year


if __name__ == '__main__':
    user = User(Date(1999, 1, 1))
    print(dir(user))
    print(user.get_age())
コード例 #3
0
ファイル: private_attr.py プロジェクト: wuhuabushijie/sample
from chapter04.class_method import Date


class User:
    def __init__(self, birthday):
        self.__birthday = birthday

    def get_age(self):
        return 2018 - self.__birthday.year


if __name__ == "__main__":
    user = User(Date(1990, 3, 1))
    print(user.get_age())
    print(user._User__birthday)
コード例 #4
0
"""
python 的自省机制
自省:是通过一定的机制查询到对象的内部结构

"""
from chapter04.class_method import Date


class User:
    def __init__(self, birthday):
        self.birthday = birthday

    def get_age(self):
        return 2018 - self.birthday.year


if __name__ == '__main__':
    user_ = User(Date.from_string('2011-2-3'))
    print(user_.get_age())
    print(user_)
コード例 #5
0
# -*- coding: utf-8 -*-
from chapter04.class_method import Date
class User:
    def __init__(self, birthday):
        self.__birthday = birthday

    def get_age(self):
        return 2020 - self.__birthday.year


class Student(User):
    def __init__(self, birthday):
        self.__birthday = birthday

if __name__ == '__main__':
    user = User(Date(1990,2,1))
    print(user.get_age())
    print(user._User__birthday) # 私有属性并未真正隐藏

    stu = Student(Date(1990,2,1))
    print(stu._Student__birthday)