day17 -python 类

一 类的基本语法与结构

 

一般形式 ,首字母大写 

class ClassName (bases):  #bases基类,写父类的名称,继承,如果没有继承,则不填

  data = value  #定义数据属性 ,类属性 

  def method(self,...):  #定义方法属性,第一个参数必须为self

    self.member = value #实例属性 

:

class语句类似def,是可执行代码,直到运行class语句后类才会存在





二 创建类对象,类对象使用,访问类属性 方法

1 创建类对象

class FirstClass():

    data = "hello class"
def printdata(self):
print (self.data) #从类中继承data方法

ins1 = FirstClass() #实例化类 ,创建类的新实例并将对象分配给局部变量ins1
print(ins1.data) #调用类的属性 ,返回一个字符串 。运行结果:hello class
print(ins1.printdata()) #调用类的方法 ,返回一个函数对象 运行结果:
hello class
ins1.data = "test"
#重新赋值,运行结果:test



创建带有特定初始状态的自定义实例,为此类定义可能包含一个名为__init__()的特殊方法
def __init__(self):
  
  self.data = []

例子
class Complex():
def __init__(self,realpart,imagpart):
self.r = realpart
self.i = imagpart

x = Complex(3.0,-4.5)
print(x.r,x.i)

 

 

 

 

 

 

 x = MyClass("tom"),直接传tom给who

 

 析构函数不需要存在 

 

 

 

 

2 实例对象

 

实例数据属性,数据属性=实例变量

比如上例中的。ins1.data()

 

实例方法(函数),一个类中所有是函数对象的属性都是定义了其实例的相应方法

如上例中 ins1.printdata()

 

三 全局变量与局部变量定义及使用

全局变量:直接使用

实例变量:指定变量名称及实例自身进行引用 

self.变量名

局部变量:方法内部创建的变量,可直接使用

类这是 (静态变量):通过指定变量名与类名进行引用  类名.变量名 

 

 

 

四 继承 

 

 class SubClassName(ParentClass1,[ParentClass2...])

可以继承多个

 

#继承
class PClass(): #定义一个父类
gender = "male"
def __init__(self,who):
self.name = who

class CClass(PClass): #定义继承类,继承PClass
def display(self):
print(self.gender,self.name)

x = CClass("Tom") #实例化类,并赋值
print(x.name,x.gender)
 
posted @ 2019-12-17 16:32  时光静好00  阅读(439)  评论(0)    收藏  举报