python使用什么来定义类,python中对象的定义
本文主要详细介绍python的定义类和对象。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下,希望能帮到你。
定义简单的类
面向对象是更大的封装,把多个方法封装在一个类中,这样这个类创建的对象就可以直接调用这些方法了!
定义一个只包含方法的类。
在python中,要定义只包含方法的类,语法格式如下:
#用class定义类名
类名:
方法1(self,参数表)#方法的属性中只有一个self。
及格
方法二(self,参数表)#类外定义的def是函数,类内定义的def叫方法,括号里必须有self。
及格
班级学生:
及格
方法的定义格式和之前学过的函数几乎一样,只是第一个参数必须是self。
创建对象
当一个类定义完成后,要使用这个类来创建对象,语法格式如下:
对象名=类名()
第一个面向对象的程序
需求:小猫喜欢鱼,小猫想要水。
分析:
1.定义一只猫(猫)
2.定义两种方法ect和饮料
3.根据需求-不需要定义任何属性。
Class Cat: #Cat是类的名称(类名),由一个或多个单词组成,每个单词的首字母大写,其余小写。
这是一只猫
Def ect(self): #定义方法
打印(“小猫喜欢鱼”)
def饮料(自助):
打印(小猫想喝水)
Tom=Cat() #创建该类的一个对象
# big_tom=Cat()每个类可以有多个对象,并且每个对象会开辟一个新的存储空间id
Tom.ect() # Object调用封装在类中的方法,object name。方法名称()
Tom.drink() # object调用封装在类中的方法
使用self输出方法中每只猫的名字。
由哪一个对象调用的方法,方法内self就是哪一个对象的引用
1.在类封装的方法中,self表示当前调用该方法的对象本身。
2.调用方法时,程序员不需要传递self参数。
在方法内部:
1.还可以通过self访问对象的属性。
2.也可以通过self调用其他对象方法。
#转换代码如下
类别:
def eat(自身):
打印(“%s喜欢鱼“%self.name”)
汤姆=猫()
汤姆。name=汤姆
tom.eat()
lazy_cat=Cat()
Lazy_cat.name=懒猫
lazy_cat.eat()
在日常开发中,不建议在类外给对象添加属性。如果在运行时没有找到这些属性,程序将报告一个错误。对象应该包含什么属性,应该封装在类里面?
班级学生:
def __init__(自己,姓名,年龄):
self.name=name
年龄=年龄
打印(我的名字是,姓名,今年的年龄是,年龄)
小明=学生(小明,20岁)
小红=学生(小红,18)
类的创建
#类别的创建:
班级学生:
Native_place=吉林 # class属性
Def _ _ init _ _ (self,name,age) : # name,age是实例属性
self.name=name
年龄=年龄
def eat(自身):
打印(我在吃饭.)
#实例方法
定义信息(自身):
Print(我的名字是:,self.name,我的年龄是:,self.age)
#类方法
@classmethod
定义cm(cls):
打印(“类方法”)
#静态方法
@静态方法
def sm():
打印(“静态方法”)
#创建对象,创建学生类的对象
1=学生(张三,20) #创建一个对象
Stu1.info() #对象调用类方法
stu1.eat()
Print(我的名字是,stu1.name,今年的年龄是:,stu1.age,stu1.eat)
打印(stu1)
类属性,类方法,静态方法类属性:类中方法以外的变量成为类属性,由类中的所有对象共享。类方法:用@calssmethod修饰方法,通过类名直接访问的方法。静态方法:用@staticmethod修饰main方法,用方法print(Student.native_place) #直接通过类名访问类属性。
Student.cm() #调用类方法
Student.sm() #调用静态方法
Stu3=学生(张三,20)
Stu4=学生(李四,30)
Print(stu3.native_place) #吉林
Print(stu4.native_place) #吉林
student . native _ place= Tianjin #更改类属性
打印(stu3.native_place) #天津
打印(stu4.native_place) #天津
总结
本文到此为止。希望能帮到你,也希望你能多关注更多热门IT软件开发工作室的内容!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。