python04——类(基础new)

类其实也是一种封装的思想,类就是把变量、方法等封装在一起,然后可以通过不同的实例化对其进行调用操作。

1.类的定义

class 类名:

变量a

def init(self,参数2,参数2...):初始化函数!!!

其他方法函数。。。
注意:初始化函数只要是实例化调用该类,就会

2.类的实例化

实例化对象=类(参数) #具体传参与否,传几个是要看 初始化函数 里面有几个参数需要

3.类变量 vs 实例化变量

一般在类中单独出现的就是类变量,类变量不会随着不同的实例化对象而改变,一般在类中的调用写法为**"类名.变量"**;

实例化变量 一般是在类的方法中出现的,不同的实例化对象对应的变量一般不同,一般在类中的写法为**"self.变量名"**
有时类变量和实例化变量的变量名相同,具体是类变量还是实例化变量要具体分析。

例子如下:

python 复制代码
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,...):

.......

.....

python 复制代码
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)
相关推荐
2601_9622932413 小时前
Python自动化统计团队工作量并生成可视化仪表盘的脚本方案【指导】
python·数据分析·自动化·可视化·仪表盘
点心的游戏开发世界13 小时前
GDScript 入门笔记(十一):Lambda 与匿名函数
开发语言·笔记·游戏引擎·godot
2601_9622937914 小时前
OCRmyPDF批处理脚本:使用Python自动化复杂OCR任务
python·自动化·批处理脚本·ocrmypdf·ocr任务
事圆则缓15 小时前
Kotlin 协程完全指南
开发语言·kotlin
我爱写代码i15 小时前
BeLink - 支持生成多种URL 缩短网址PHP源码
开发语言·php·短网址php源码
Java后端的Ai之路16 小时前
20、Python - 备忘录模式
开发语言·人工智能·python·外观模式·备忘录模式
2601_9620777116 小时前
基于Python与NLP的新闻事件信息抽取实战:从NER到时空标准化
python·nlp·transformers·spacy·新闻事件抽取
JavaPub-rodert16 小时前
LangChain 从入门到 Agent 实战:用 Python 搭建一个真正能调用工具和知识库的 AI 助手
人工智能·python·langchain
统计学小王子17 小时前
数学建模国赛倒计时4天——《统计模型精讲(混合效应模型R语言实现)》
开发语言·数学建模·r语言
知无不研17 小时前
c语言中循环的介绍与简单应用
c语言·开发语言·算法·循环·for·while