文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python怎么定义类和对象

2023-06-29 03:44

关注

这篇“python怎么定义类和对象”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python怎么定义类和对象”文章吧。

定义简单的类

面向对象是更大的封装,在一个类中封装多个方法,这样通过这个类创建出来的对象,就可以直接调用这些方法了!

定义只包含方法的类

在python中,要定义一个只包含方法的类,语法格式如下:

#用class定义类名class 类名:    def 方法1(self,参数列表)  #方法的属性中有且仅有一个self        pass    def 方法2(self,参数列表)   #类之外定义的def是函数,在类里面定义的def叫做方法,而且括号里必须要有self        passclass Student:    pass

方法的定义格式和之前学习过的函数几乎一样区别在于第一个参数必须是self 

创建对象
当一个类定义完成之后,要使用这个类来创建对象,语法格式如下:
对象变量名=类名()

第一个面向对象程序

需求: 小猫爱吃鱼,小猫要喝水

分析:1.定义一个猫类(Cat)2.定义两个方法ect和drink3.按照需求--不需要定义属性class Cat:     #Cat为类的名称(类名),又一个或多个单词组成,每个单词首字母大写,其余字母小写    """这是一个猫类"""    def ect(self):   #定义方法        print("小猫爱吃鱼")    def drink(self):        print("小猫要喝水")tom=Cat()   #创建类的对象# big_tom=Cat()    每个类可以有多个对象,每个对象都会开辟新的存储空间idtom.ect()   #对象调用类中封装的方法,对象名.方法名()tom.drink()  #对象调用类中封装的方法

使用self在方法内部输出每一只猫的名字 

由哪一个对象调用的方法,方法内self就是哪一个对象的引用

在类封装的方法内部,self就表示当前调用方法的对象自己

调用方法时,程序员不需要传递self参数

在方法内部:

也可以通过self访问对象的属性

也可以通过self调用其他的对象方法

#改造代码如下class Cat:    def eat(self):        print("%s 爱吃鱼"%self.name)tom=Cat()tom.name="Tom"tom.eat()lazy_cat=Cat()lazy_cat.name="大懒猫"lazy_cat.eat()

在日常开发中,不推荐在类的外部给对象增加属性,如果在运行时,没有找到属性,程序就会报错,对象应该包含有哪些属性,应该封装在类的内部 

class Student:    def __init__(self,name,age):        self.name=name        self.age=age        print("我的名字叫",name,"今年岁数是",age)xiaoming=Student("小明",20)xiaohong=Student("小红",18)

 类的创建

#类的创建:class Student:    native_place="吉林"  #类属性    def __init__(self,name,age):   #name,age为实例属性        self.name=name        self.age=age    def eat(self):        print("我正在吃饭...")    #实例方法    def info(self):        print("我的名字叫:",self.name,"年龄是:",self.age)    #类方法    @classmethod    def cm(cls):        print("类方法")    #静态方法    @staticmethod    def sm():        print("静态方法")#对象的创建,创建Student类的对象stu1=Student("张三",20)  #创建对象stu1.info()   #对象调用类方法stu1.eat()print("我的名字叫",stu1.name,"今年的岁数是:",stu1.age,stu1.eat)print(stu1)
print(Student.native_place)   #访问类属性Student.cm()   #调用类方法Student.sm()    #调用静态方法stu3=Student("张三",20)stu4=Student("李四",30)print(stu3.native_place)  #吉林print(stu4.native_place)  #吉林Student.native_place="天津"  #改变类属性print(stu3.native_place)  #天津print(stu4.native_place)  #天津

以上就是关于“python怎么定义类和对象”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯