有关类的公有属性的介绍


本文摘自php中文网,作者巴扎黑,侵删。

一、概念

  我们前面提到类的私有属性,也就是类中不能直接访问的。但是不是可以直接访问的属性就是公有属性呢?其实也不是。在__init__()构造函数中的属性,对外基本都可以访问,但是他们并不是公有属性。那什么叫公有属性呢?

  定义: 指的是所属这个类的所有对象,都可以访问的属性,叫做公有属性。

二、属性

2.1 成员属性

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

class Person(object):

 

    def __init__(self, name, job, phone, address):

        self.name = name    #  成员属性,属于某个实例对象

        self.job = job

        self.phone = phone

        self.__address = address

 

    def get_private(self):

        return self.__address

 

    def sayhi(self):

        print("hell,%s" % self.name)

 

p1 = Person('Bigberg', 'Doctor', '8833421', 'hz')

p2 = Person('Ashlex', 'Police', '8833232', 'bj')

1

2

3

4

print(p1.job, p2.job)

 

# 输出

Doctor Police

  我们在Person类下定义了两个对象,p1和p2。很显然我们没有办法让p1来访问到p2 的job属性,即Police。那么在构造函数__init__()中的self.name等属性,被称之为 成员属性。

2.2 公有属性

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

class Person(object):

    nationality = 'CN'   # 定义公有属性

 

    def __init__(self, name, job, phone, address):

        self.name = name

        self.job = job

        self.phone = phone

        self.address = address

 

    def sayhi(self):

        print("hell,%s" % self.name)

 

p1 = Person('Bigberg', 'Doctor', '8833421', 'hz')

p2 = Person('Ashlex', 'Police', '8833232', 'bj')

 

print(p1.nationality)

print(p2.nationality)

 

# 输出

 

CN

CN

  公有属性而言,所有实例对象访问它得到的值是一样的。

阅读剩余部分

相关阅读 >>

Python中有堆吗

Python里有成员变量吗

numpy中以文本的方式存储以及读取数据方法

怎么安装Python3.7.2

Python实现高性能测试工具(二)

Python如何把ascii转换为字符

Python 中的int()函数怎么用

什么是Python import语句?在Python中的import语句作用有哪些?

关于tensorflow中的tf.train.batch函数

Python中reverse、sort、sorted三个列表排序使用方法详解

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...