zoukankan      html  css  js  c++  java
  • python

    在java,c#类的成员修饰符包括,公有、私有、程序集可用的、受保护的。

    对于python来说,只有两个成员修饰符:公有成员,私有成员

    成员修饰符是来修饰谁呢?当然是修饰成员了。那么python类的成员包括什么呢?

    python成员:

    字段,方法,属性

    每个类成员的修饰符有两种:

    • 公有成员:内部外部都能访问
    • 私有成员:字段前面加两个_,比如:__cc,只有自己的类内部能访问,继承的父类,子类均不能访问.

    一、私有成员:

    只能类自己本身成员内部可以访问

    1.修饰普通字段

    字段前面加__ ,该字段就变成了私有字段了,私有字段只能在类的内部访问

    class Foo:
        def __init__(self,name):
            self.__name = name  #私有字段
        def f1(self):
            print(self.__name)
    
    
    obj = Foo('alex')
    #print(obj.__name)  #不能这样访问
    obj.f1()
    #类的私有字段只能在类的内部进行访问,不能在类的外部进行访

    out:

    alex

    如果在外部访问就会报错:

    class Foo:
        def __init__(self,name):
            self.__name = name
        def f1(self):
            print(self.__name)   #self.name 在类的内部访问
    
    obj = Foo('baidu')
    print(obj.__name)  #self.__name只能在类的内部访问

    out:

    2.修饰静态字段

    class Foo:
        __cc = "123"  #创建私有静态字段
        def __init__(self):
            pass
        @staticmethod
        def f3():
            print(Foo.__cc)
    
    Foo.f3()  #使用类访问,也可以使用实例对象访问

    out:

    123
    使用实例对象访问:

    class Foo:
        __cc = "123"  #创建私有静态字段
        def __init__(self):
            pass
    
        def f3(self):
            print(Foo.__cc)
    obj = Foo()
    obj.f3()  #使用实例对象访问

    二、公有成员:

    公有成员的特征是:可以在类的内部访问,也可以在类的外部访问

     1、修饰类的普通字段

    class Foo:
        def __init__(self,name):
            self.name = name
        def f1(self):
            print(self.name)   #self.name 在类的内部访问
    
    obj = Foo('baidu')
    print(obj.name)  #self.name在类的外部可以访问
    obj.f1()
  • 相关阅读:
    leetcode 33. Search in Rotated Sorted Array
    leetcode 32. Longest Valid Parentheses
    leetcode 28. Implement strStr()
    leetcode 27. Remove Element
    leetcode 26. Remove Duplicates from Sorted Array
    leetcode 24. Swap Nodes in Pairs
    leetcode 22. Generate Parentheses
    树莓派的频率管理和热控制
    sql执行insert插入一条记录同时获取刚插入的id
    全程直播个人博客重构过程,采用springboot+dubbo+jpa技术栈。
  • 原文地址:https://www.cnblogs.com/pangguoping/p/5617914.html
Copyright © 2011-2022 走看看