PYTHON 类 (class)
python类非常强大,class Myclass: pass
这样就定义了一个名字叫 Myclass 的类
和其他语言(c++,java) 不同的是。python类的中,方法参数第一个都会写self
class Myclass:
def play(self):
pass
self 到底是什么呢?其实很简单,就是c++,java中的this指针。
python 类中有许多系统自带的魔法方法
例如 构造函数python会这样写的:
class Myclass:
def __init__(self):
前后都有2个下划线的函数一般都是系统的函数,能自动实现一些功能,为我们编码提供了许多便捷的方式。
接下来我们讲解类变量
类变量可以分成2中,第一是共有类型变量,第二是私有类型的变量
在python3中二者怎么区别呢 ,下面代码来解释
class Myclass:
name='xwn'
myclass=Myclass()
print(myclass.name)
这样运行,结果能打印出xwn三个字母。 name是一个共有的类变量
当在name前面加2个下划线时,就成了私有
class Myclass:
__name='xwn'
myclass=Myclass()
print(myclass.name)
运行这个代码的话,会有一个错误
AttributeError: ‘Myclass’ object has no attribute ‘name’
错误说明:Myclass没有name 。
接下来,我们写一个类方法,看看能不能访问这个私有类变量
class Myclass:
__name='xwn'
def getName(self):
return self.__name
myclass=Myclass()
print(myclass.getName())
我们加入一个方法后,就能成功打印了,说明了私有变量不能通过外部来直接访问,可以通过内部来访问
这样 ,定义一些私有变量,极大的提高了数据的安全性!!!