类
创建类的实例
class ClassName: #定义一个名字为Person的类。
pass
esp = ClassName() # 实例化一个类。esp是ClassName类的一个实例名。
类 :是一个独立存放变量(属性/方法)的空间,使用运算符’ . '来调用类的属性和方法。
class Person:
name = '玉皇大帝'
age = 999999
per = Person()
print(per.name) #调用name属性。封装在class内部的属性。
Person.name = '如来' #修改封装的属性。
print(per.name) #调用修改后的name属性。
运行结果:
玉皇大帝
如来
在查找类属性时,python先查找实例,在实例中查找属性,在找不到的情况下,会到类内部去查找。
类是一类事务的抽象,不是真是存在的,他描绘了事务的共性。如:人,汽车,狗等
实例是某事务的个体,是具体到某一个事务的表现,是真实存在的。
实例也是一个独立存放变量的空间。每一个实例都是独立的变量空间,不同实例之间的变量空间是互相不可见的。
class person: #定义一个peson的类
pass
WuKong = person() #实例化person类,WuKong是person类的一个实例,是一个真实存在实例,特指WuKong本人。
RuLai= person() #实例化person类,RuLai是person类的一个实例,是一个真实存在实例,特指RuLai本人。
WuKong.name = '孙悟空' #后来封装在类中的属性
RuLai.age = 999999 #后来封装在类中的属性
print(WuKong.name) #正常调用
print(RuLai.age) #正常调用
print(WuKong.age) #报错,在类里面找不到属性,实例中也找不到。
print(RuLai.name) #报错,在类里面找不到属性,实例中也找不到。
print(person.sex) #报错,在类里面找不到属性,不会去实例中找。
创建__init__()方法
在创建类后,通常会创建一个__init__()方法。该方法是一个特殊的方法。每当创建一个类的新实例时,都会自动执行它。init()方法必须包含一个self参数,并且必须是第一个参数。self参数是一个指向实例本身的引用,用于访问类中的属性和方法。在方法调用时会自动传递实际参数self。因此,当__init__()方法只有一个参数时,在创建类的实例时,就不需要指定实际参数了。
在__init__()方法的名称中,开头和结尾处是两个下划线,这是一种约定,旨在区分Python默认方法和普通方法
class god: #定义一个god的类
'''众神类'''
def __init__(self): #构造方法
print('我是众神!!!')
RuLai = god() #创建众神实例
这里的self不写会报错
在__init__()方法中,除了self参数外,还可以自定义一些参数,参数间使用逗号进行分隔。
class god: #定义一个god的类
'''众神类'''
def __init__(self,n1,n2): #构造方法
print('我是众神!!!')
print(n1) #输出特征
print(n2) #输出特征
skills1 = '像飞机一样飞在天上' #特征实例
skills2 = '我能变化成老鼠' #特征实例
RuLai = god(skills1,skills2) #创建众神实例
运行结果:
我是众神!!!
像飞机一样飞在天上
我能变化成老鼠