基础篇:2. IDLE快捷键、类
python 的 IDLE 常用快捷键功能:
Alt+3 Alt+4 注释、取消注释代码行
Alt+/ 自动补全前方出现过的字符
首先重新界定属性的定义:所有在点' . '之后的对象都被称为前者的属性。
类由数据和方法组成。
【1】在python中,不需要为数据属性进行声明,其类似于局部变量,在第一次被方法赋值时创建;
【2】方法对象包括构造函数和逻辑处理函数,前者用 def __init__(self) 来进行表示;
【3】如果数据属性和方法属性发生重合,那么数据属性会覆盖方法属性;(可以利用某种约定的定义来规避这种错误)
【4】方法属性的第一个参数一般为self,但也可以是其他字符。为了更好的被阅读,依旧建议用约定俗成的模式。
【4】python中不支持重载方式。当然了,最近的版本也可以利用分发糖的形式来支持重载,详情在此。
class Student:
def __init__(self,name): if name == '': self.name = 'Anna' else: self.name = name self.grade = 90 def print(self): print(self.name) print(self.grade) r = Student('') r.print() s = Student('John') s.print()
类的一个非常重要的特性为继承。没有继承的类与结构体无异。python派生类的特点:
【1】由于python中不存在方法的重载,因此在C++看来,python中所有类的方法都是虚函数;
【2】类的继承形式为:class DrivedClassName(BaseClassName),也可以多重继承,继承的搜索顺序为从左到右;
【3】利用空类来存储不同的类型的数据,类似于C语言的strcture。
import classStudent as c class College(c.Student): def __init__(self,name,grade,IQ,EQ):
#super(College,self).__init__(name,grade) #与下面等效 c.Student.__init__(self,name,grade) self.IQ = IQ self.EQ = EQ def print(self): print(self.name) print(self.grade) print(self.IQ) print(self.EQ) graduate = College("Andy",84,82,89) graduate.print()
空类实现 C 语言的 structure 功能
class Empty: pass John = d.Empty() John.name = 'John' John.age = 23 print(John.name) print(John.age)