类定义、属性、初始化
面向过程 --所有逻辑都是自己在考虑
面向对象 --
在Python里面一切皆对象 ,比如定义a = 'Fyn' 时就有很多方法,那么a就是一个对象
一、类定义
类 是一个独立存放变量(属性/方法)的空间
在Python里类就是一个封装
''' 类的定义 类的命名要: 1、大驼峰命名法 FynNameAge 2、小驼峰命名法 fynNameAge 变量名的命名: test_time_person 类的三大属性 1、类名 2、属性 3、方法 ''' #1、类的定义 class Person: pass #2、在类外面访问属性 class Sion: name = '小茗同学' print(Sion.name) #小茗同学 #3、在类外面添加属性 class Per: pass Per.name2 = '小江同学' print(Per.name2) #小江同学 ''' 4、类的实例化 对象 1、实例也是一个独立存放变量的空间 实例属性: 对象添加的属性,它的空间是独立的,其他的访问不到 class Persion: name = '小红同学' xm = Persion() --实例化 xm.name2 = '小健将' print(Persion.name2) --访问不到(报错) 实例化对象既能访问实例属性,也能访问类属性 类只能访问类属性 ''' #列1 class Preion: name = '小米同学' #属性 a = Preion() #实例化 print(a.name) #小米同学 #列2 class Car: boon = 4 audi = Car() bama = Car() ''' 私有属性: 属于这个类的 一般不要在外面去调用 class Sion: name = '小茗同学' _heigth = 220 --第一种 私有属性 ,也可以在外面调用,但是这种是约定俗成的私有属性(一个下划线),但是这种可以通过类的实例化来调用 __width = 300 --第二种 私有属性,强制私有属性(两个下划线),不能再外面调用(就算是;类的实例化也不能在调用) '''
二、类方法
就是一个函数
#方法 class Car: def run(self): #self 是实例化本身,类里面一般都要写self,如果不写的话对象在调用的时候会报错 print('汽车正在跑!') #调用方法 Car.run() #实例对象调用类方法 aodi = Car() aodi.run() #Car.run(aodi) #类方法 class vbg: def run(): #类方法,在类里面,没有参数都是类方法 pass def runc(self): #实例方法 pass
三、初始化和析构
#类的初始化 def __init__: ''' 魔法方法就相当于java里的静态方法一样,在类加载的时候就一起加载进去了 魔法方法里的一种 双下划线开头,双下划线结尾的,称之为魔法方法 魔法方法在Python里有特殊的作用 他们的调用都是由Python解释器调用的 不是我们去主动调用的 __init__ 在实例化的一瞬间,Python解释器主动去调用 ''' #__init__ :魔法方法在对象实例化的时候就调用,不需要手动去调用 class Car: def __init__(self,name,age): #在对象实例化后就可以不用去手动的一个一个去赋值了 self.name = name self.age = age aodi = Car(奥迪,2018) #__del__ 实例化对象引用数为0,它才会执行 class Car: def __init__(self): print('购买了一辆车!') def __del__(delf): print('车报废!') bum = Car() del num