写在前面
本文将对Python Class的用法进行讲解,且重点将体现Python Class 与C++ Class不同的地方。
类的定义
和C++类似,Python采用了Class xxx的定义方式,不过首字母需要大写(采用大驼峰命名法命名)
class PeopleBase:
print("test")
gender = ""
def __init__(self, name, no):
self.name = name
self.no = no
def print(self):
self.out = "already out"
print("name = ", self.name)
print("no = ", self.no)
与c++相比,它有一些不同的地方
构造函数
在c++中,构造函数的样式为 \(ClassName(argv1,argv2)\)
但在Python中,构造函数的形态为\(\_\_init\_\_(self, argv1, argv2……)\)
对于一个类,只能有一个init,且init中的第一个参数必须为self
变量定义
在c++中,变量定义需要在class中进行,不可以在成员函数中进行
但是在python中,既可以直接定义(如上文的gender),也可以在函数中定义(如init中,或者是print中),甚至还可以在执行的过程中,直接进行定义
创建实例对象
由于Python的变量类型是基于所赋的值的类型
因此我们要先定义出一个类型为ClassName的类型,再进行赋值
比如下面的代码
a = PeopleBase("Alice", 123)
访问属性
和c++一样的访问逻辑
不过,我们可以通过访问属性,给类添加属性
a = PeopleBase("Alice", 123)
a.age = 12
a.print()
print(a.age)
类的继承
和c++一样,Python Class支持类继承
类继承的语法是这样的:
class Student(PeopleBase):
grade = ""
def __init__(self, grade, name, no):
self.grade = grade
super(Student, self).__init__(name, no)
def print(self):
print("grade = ", self.grade)
super(Student,self).print()
其中,定义语句为
class Student(PeopleBase):
PeopleBase为基类,Student为派生类
在派生类中调用其基类的方法为super(BaseClassName,self).func()
原文地址:http://www.cnblogs.com/alphainf/p/16901883.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性