千家信息网

怎么定义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