概述
Python中面向对象之类
- 类的构造函数
- 类成员与实例成员
- 类的公有成员和私有成员
- 类的私有成员和受保护成员
类的构造函数
-
Python中用
def__init__(self,[])
方法来定义构造函数,主要用来在创建对象时初始化对象 -
Python中用
def__del__()
方法定义析构函数
1. 构造函数案例
class complex:
def __init__(self,real,imag):
#此处要记得写参数self
self.r = real
self.i = imag
print("构造函数被调用")
x = complex(3.0,-4.5)
print(x.r,x.i)
2. 析构函数
案例
class complex:
def __init__(self,realpart,imagpart):
self.r = realpart
self.i = imagpart
def __del__(self):
print("调用析构函数,此事之后complex不存在了")
x = complex(3.0,-4.5)
print(x.r,x.i)
del x
类成员与实例成员
-
实例属性一般是指在构造函数
__init__()
中定义的,定义和使用时必须以self作为前缀;类属性是在类中所有方法之外定义的数据成员 python中的构造函数是用来初实例化实例成员。案例:
class bike:
price = 500#类成员
def __init__(self,color): #color是实例成员
self.color = color
a = bike("blue")
a.price
print(a.color)
print(a.price)
类的公有成员和私有成员
- 下Python程序中定义的成员变量和方法默认都是公有成员,类之外的任何代码都可以随意访问这些成员。如果在成员变量和方法名前面加上两个下划线“——”左前缀,则访问变量和方法就是类的私有成员
案例
#访问私有成员
class T:
def __init__(self,a,b):#定义一个构造函数,有两个变量a,和b
self.__a = a#此处加了下划线'__'表示私有成员
self.__b = b
def add(self):
#定义一个求和函数
self.__sum =self.__a + self.__b
return self.__sum
def printsum(self):
print(self.__sum)
test = T(2,3)#给T类里的变量a,b 赋值
s = test.add()
print(s)
test.printsum()
类的私有成员和受保护成员
-
_xxx
:这样的对象叫保护成员,不能用 "from 模块 import * "导入,只有类对象和子类对象能访问这些成员 -
__xxx__
:这样的对象是系统的保护成员 -
__xxx
:这样的对象时类中的私有成员,只有类对象自己访问,子类对象也不能访问到这个成员,但在对象外部可以通过“对象名._类名__xxx
”这样的特殊方式访问
案例
class T:
def __init__(self,x=1,y=2):
#定义私有方法 __init__()
self._x = x #保护成员
self.__y = y
#私有成员
def setvalue(self,x,y):
#定义普通成员方法setvalue()
self._x = x
self.__y = y
def show(self):
#定义普通成员方法show()
print(self._x)
print(self.__y)
a = T()
print(a._x)
print(a._T__y)
#在外部访问对象的私有成员
最后
以上就是慈祥蓝天为你收集整理的Python中面向对象之类的全部内容,希望文章能够帮你解决Python中面向对象之类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复