• 【笔试题】面向对象小测试(二)


    请参考下面代码,分别说出1-19题运行结果,及原因。

    class Person(object):
        __country = 'China'
    
        def __init__(self, name, age):
            self.__name = name
            self.age = age
    
        def query(self):
            Person.query_cls1()
    
        def query2(self):
            Person.query_cls3()
    
        def __query(self):
            Person.query_cls6()
    
        def __query2(self):
            print('hello')
    
        @classmethod
        def query_cls1(cls):
            print(cls.__country)
    
        @classmethod
        def query_cls2(cls):
            print(cls.name)
    
        @classmethod
        def query_cls3(cls):
            cls.query()
    
        @classmethod
        def query_cls3_2(cls):
            gf = Person('林小花', 18)
            cls.query(gf)
    
        @classmethod
        def query_cls4(cls):
            cls.__query()
    
        @classmethod
        def query_cls4_1(cls):
            gf = Person('林小花', 18)
            gf.__query2()
    
        @classmethod
        def query_cls4_2(cls):
            cls._Person__query()
    
        @classmethod
        def query_cls5(cls):
            cls.query_sta1()
    
        @classmethod
        def query_cls6(cls):
            print('hello boy')
    
        @staticmethod
        def query_sta1():
            Person.query_cls1()
    
        @staticmethod
        def query_sta2():
            Person.__query()
    
        @staticmethod
        def query_sta3():
            Person._Person__query()
    
        @staticmethod
        def query_sta4():
            gf = Person('林小花', 18)
            Person._Person__query(gf)
    

     

    特别说明:__query2这个方法后面的所有方法上面都有装饰器,

    博客里面没显示出来,是博客的bug吧,要选中才显示,最好复制出来看

     

    1

    Person.query_cls1()

    2

    Person.query_cls2()

    3

    gf = Person('林小花', 18)
    Person.query_cls2(gf)

    4

    Person.query()

    5

    Person.query_cls3()

    6

    gf = Person('林小花', 18)
    Person.query(gf)

    7

    gf = Person('林小花', 18)
    Person.query_cls3(gf)

    8

    Person.query_cls3_2()

    9

    Person.__query()

    10

    Person.query_cls4()

    11

    Person.query_cls4_1()

    12

    Person._Person__query()

    13

    Person.query_cls4_2()

    14

    gf = Person('林小花', 18)
    Person.__query(gf)

    15

    gf = Person('林小花', 18)
    Person._Person__query(gf)

    16

    Person.query_sta1()

    17

    Person.query_sta2()

    18

    Person.query_sta3()

    19

    Person.query_sta4()
  • 相关阅读:
    曾国藩家书人但有恒、事无不成
    pythonredis
    tableSorter使用介绍
    Python模块学习 subprocess 创建子进程
    曾国藩家书用人必先知人
    身份证号码的规则及验证原理
    KeyDown,KeyPress 和KeyUp 之我谈(更新版本)
    Python基础综合练习
    熟悉常用的Linux操作
    大数据概述
  • 原文地址:https://www.cnblogs.com/uncleyong/p/11289033.html
Copyright © 2020-2023  润新知