千家信息网

怎么定义Python面向对象

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇内容介绍了"怎么定义Python面向对象"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!面向对象类
千家信息网最后更新 2026年10月31日怎么定义Python面向对象

本篇内容介绍了"怎么定义Python面向对象"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

面向对象

  • 类 - class

  • 对象

class Student(): #定义一个类 name = '' #定义变量 age = 0 def print_file(self): #定义一个方法 print("name:"+self.name) print('age:'+str(self.age)) #输出student =Student() #实例化一个对象student.print_file() #调用方法

【注】:self 在每个方法括号中都必须写上,这个相当于java中的 this 关键字。

但 self按严格来说它不是python的关键字,self可以是任何符合的字符串,只是python官方推荐使用 self 而已

类与对象:类像一个模板一样,可以产生各种各样的对象

  • 构造函数

 def __init__(self,name): #构造函数 self.name=name self.source= 0 print(name) #调用实例变量 方式1 print(self.name) #调用实例变量 方式2 print(self.__class__.name)#调用类变量 方式1

部分特性和java差不多

类变量和实例变量

实例变量:通过实例对象调用的变量和在构造函数中定义过的 如上述构造函数类代码

print(name) #调用实例变量 方式1print(self.name) #调用实例变量 方式2

类变量:通过类名直接调用的,或者在实例函数中使用 self.class.变量名调用的 如上述代码

print(self.__class__.name) #调用类变量 方式1Student.name #调用类变量 方式2

方法

实例方法

就是一般的定义方法,关联实例对象

def show(self):        pass

【注】:关键字 pass 相当于一个占位 在还没想好逻辑的时候可以使用它 反正代码报错

类方法

方法上使用装饰器 @classmethod 以及必传参数 cls

#类方法@classmethod def plus_sum(cls): cls.sum +=1  print(cls.sum) #调用类变量

【注】: cls 字符串 和self的作用差不多,只是只能用在类方法上

在类方法中调用类变量的方式与实例方法不同

self.__calss__.name #实例方法调用类变量cls.name #类方法调用类变量

静态方法

方法上使用装饰器 @staticmethod,和类方法的区别就是不用传cls,一般不推荐使用

 #静态方法 @staticmethod  def plus_sum(): pass

要点:一般保证数据的安全不能直接给数据赋值,要在方法中进行完成,方法中可以进行判断,体现了python的面向对象的封装性

私有

私有方法

在方法前面加 '__' 双下划线

def __sum(self):        pass

私有方法外部强行调用会报错

私有变量

在变量前面加 '__' 双下划线

__name = '小米'

无法进行私有变量调用,

student = Student() #实例化print(student.__name)

因为python的动态机制,这里其实是重新定义了一个变量 __name

可以使用 _dict _ 来查看当前对象的所以变量信息

print(student.__dict__) #输出详细

可以从输出的内容中可以看到,原来的变量变成了 类名加变量名 如:_Student__name

面向对象-继承

python的继承特性和java的继承特性差不多,相信有java继承的会更好的理解

父类

#父类 2019-8-28class Human(): sum = 0 def __init__(self,name,age): self.name=name self.age=age def show(self): print("父类的方法")

子类

from m4 import Human #导入父类 m4为文件名 Human为类名class Student(Human): #继承父类  def __init__(self,school,name,age): self.school=school  #调用父类的构造函数 需要加入self 方式一 Human.__init__(self,name,age) #方式二 使用super关键字 super(Student,self).__init__(name,age)  def out(self): #调用父类方法 super(Student,self).show() print("加油")ss = Student('社会','44',5)print(ss.name)print(ss.age)ss.out()

调用父类的两种方式

方式一

 #调用父类的构造函数 需要加入self 方式一 Human.__init__(self,name,age)

方式二

使用关键字 super

#方式二 使用super关键字super(Student,self).__init__(name,age)

"怎么定义Python面向对象"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

变量 方法 方式 实例 对象 函数 关键 关键字 私有 输出 差不多 代码 内容 特性 类名 下划线 只是 如上 字符 字符串 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖北九亚互联网络科技有限公司 南京欣网互联网络科技有限公司 互联网科技工作委员会毛军 金融科技还是互联网 万易互联网科技有限公司 互联网科技视频 安徽鑫晟辉互联网科技 壹账通互联网科技 易通互联网络科技有限公司 润盈互联网科技 互联网高科技股票 哈尔滨新华互联网科技 福州新华互联网科技学校 知乎 华夏恒生科技与互联网科技 济南有互联网科技公司吗 扫呗互联网科技有限公司 济南小医互联网科技有限公司招聘 上海同邻互联网科技有限公司规模 全球科技与互联网公司市值变化 互联网科技创新方面的资料 科技互联网 深圳齐家互联网科技 丰台科技园 互联网 新华互联网科技校企合作 银川新华互联网科技职业技术培训学校图片 互联网相关科技技术 宁波跨境商互联网科技有限公司 广西科技产业互联网是什么 马化腾互联网科技教学 武汉亿视互联网科技有限公司
0