python04——类(基础new)
类其实也是一种封装的思想,类就是把变量、方法等封装在一起,然后可以通过不同的实例化对其进行调用操作。
1.类的定义
class 类名:
变量a
def __init__ (self,参数2,参数2...):初始化函数!!!
其他方法函数。。。
注意:初始化函数只要是实例化调用该类,就会
2.类的实例化
实例化对象=类(参数) #具体传参与否,传几个是要看 初始化函数 里面有几个参数需要
3.类变量 vs 实例化变量
一般在类中单独出现的就是类变量,类变量不会随着不同的实例化对象而改变,一般在类中的调用写法为“类名.变量”;
实例化变量一般是在类的方法中出现的,不同的实例化对象对应的变量一般不同,一般在类中的写法为“self.变量名”
有时类变量和实例化变量的变量名相同,具体是类变量还是实例化变量要具体分析。
例子如下:
class people:
name = "张三" # 公共类变量
__private_name = "李四"
def __init__(self,name):
self.name = name #只是与上面那个变量名字重了,不是一个东西(不管是self后面的还是等号后面的)
self.__private_name = name #私有变量约定写法为 “__变量名”
print("已经执行的初始化方法啦!")
def canshu(self):
print("公共类变量 是{},类变量是不会随着不同的实例化对象的 “传参” 而改变的,但是允许修改".format(people.name))
print("公共实例化变量 是 {},"
"实例化变量的name值是与people类中第一处定义的“张三”不是一个变量,只是名字重了,"
"他会随着传入的参数而改变".format(self.name))
print("私有实例化变量是{}".format(self.__private_name))
people1=people("王五")#传入参数
print(people1.name)#这个是people1的name,是实例化变量,因此打印的是传入的参数,是init初始化里面的参数信息,不是类变量
people1.canshu()
4.继承
继承就是子类虽然不写父类的方法、变量,但是实例化后,可以调用父类定义的方法、变量,也可以对其进行改写。
子类继承父类的写法:
class son_classname (father_classname):
......
def __init__(self,...):
.......
.....
class father:
father_temp = "父类类变量father_temp"
father_temp1 = "父类的变量father_temp1 "
def __init__(self):
print("父类初始化函数")
def f_func(self):
print("父类的普通方法1")
def f_func2(self, a):
self.a = a
print("父类的实例化变量{}".format(a))
class son(father):
son_temp = "子的类变量son_temp "
father_temp = "改变了父类的类变量father_temp————>son_ father_temp"
def __init__(self):
print("子类初始化函数")
def s_func(self):
print("子类普通方法")
father1=father()
son1 = son()
son1.s_func()
print("------------------------------------")
#子类继承父类的函数方法,所以在子类不写,也可调用此方法
son1.f_func()
son1.f_func2("son")
print("------------------------------------")
print(son1.son_temp)#子类的类变量
print(son1.father_temp1)#子类继承父类的类变量
print(son1.father_temp)#子类继承并改写父类的类变量
print("-------------------------------------")
print(father1.father_temp)
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!






