本文摘自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》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » 有关类的公有属性的介绍