有关类的公有属性的介绍


本文摘自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中jwt的简单介绍

部署静态文章

Python的五个特点

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

jupyter怎么用

Python用pip安装numpy

Python3.8.5安装教程是什么

如何检查字符串是否是Python中的有效关键字?

Python基础流程控制的介绍(代码示例)

Python运算符-最常用的算数运算符(实践总结)

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




打赏

取消

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

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

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

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

评论

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