Python 官方文档:入门教程 => 点击学习
1.类属性分类类的属性分为:数据属性:就是类中的变量;函数属性:就是类中函数,在面向对象设计中通常称为方法;类和对象的属性均使用点(.)来访问自己的属性2.类的属性类的定义与函数极其相似,我们可以使用函数的作用域来理解类的属性调用方式
1.类属性分类
类的属性分为:
数据属性:就是类中的变量;
函数属性:就是类中函数,在面向对象设计中通常称为方法;
类和对象的属性均使用点(.)来访问自己的属性
2.类的属性
类的定义与函数极其相似,我们可以使用函数的作用域来理解类的属性调用方式。
我们可以通过类的属性字典来查询类的属性,如下图所示:
代码块为:
class Door():
"门的类"
address = "浙江省杭州市"
def __init__(self,size,color,type):
"初始化门的数据"
self.size = size
self.color = color
self.type = type
def open(self):
"门打开的方法"
print("这个%s门打开了" %self.type)
def off(self):
"门关闭的方法"
print("这个%s门关闭了" %self.type)
print(Door.__dict__)
所以获取类的属性有两种方法:
① 使用英文点(.)来调用属性,如下图所示:
代码块如下:
class Door():
"门的类"
address = "浙江省杭州市"
def __init__(self,size,color,type):
"初始化门的数据"
self.size = size
self.color = color
self.type = type
def open(self):
"门打开的方法"
# print("这个%s门打开了" %self.type)
print("这个门打开了")
def off(self):
"门关闭的方法"
print("这个%s门关闭了" %self.type)
#类的数据属性
print("门的出产地为:", Door.address)
#类的函数属性
Door.open('self') #实参任意填
② 使用类的属性字典来调用属性,如下图所示:
代码块如下:
class Door():
"门的类"
address = "浙江省杭州市"
def __init__(self,size,color,type):
"初始化门的数据"
self.size = size
self.color = color
self.type = type
def open(self):
"门打开的方法"
# print("这个%s门打开了" %self.type)
print("这个门打开了")
def off(self):
"门关闭的方法"
# print("这个%s门关闭了" %self.type)
print("这个门关闭了" )
#类的数据属性,方法一
# print("门的出产地为:", Door.address)
#类的函数属性
# Door.open('self') #实参任意填
#类的数据属性,方法二
addr = Door.__dict__['address']
print("门的出产地为:", addr)
Door.__dict__['open']('铝合金')
Door.__dict__['off']('铝合金')
③ 总结
方法一实际上是调用方法二,即直接用点来调用类的属性时是先调用类的属相字典,在取出对应的结果。
3.类的其他特殊属性
代码块如下:
class Door():
"门的类"
address = "浙江省杭州市"
def __init__(self,size,color,type):
"初始化门的数据"
self.size = size
self.color = color
self.type = type
def open(self):
"门打开的方法"
# print("这个%s门打开了" %self.type)
print("这个门打开了")
def off(self):
"门关闭的方法"
# print("这个%s门关闭了" %self.type)
print("这个门关闭了" )
print(Door.__name__) #类的名字
print(Door.__doc__) #类的文档
print(Door.__base__) #类继承的第一个父类
print(Door.__bases__) #类继承的父类组成的元组
print(Door.__dict__) #类的属性字典
print(Door.__module__) #类定义所在的模块
--结束END--
本文标题: Python_类的属性
本文链接: https://www.lsjlt.com/news/187900.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0