网站首页 > 资源文章 正文
类:类的使用对象,class关键字;
例如下面这样,我简单给出了两个类,学生类和动物类;
封装:类可以把各种对象放在一起,作为类的属性,通过.点运算符来调用类中封装好的对象.
属性:变量在类中称为属性,但是类中的属性不仅仅只包含变量,函数等其他的对象也可以作为类的属性.
class Student:
class1='四七班' #变量在类中称为属性 可以直接访问
def name(self,name): # 函数'name'也是类的属性,但是未经实例化,不能直接访问
self.name=name
print('name is ',self.name)
def age(self,age):
self.age=age
def gendor(self,age):
self.gendor=gendor
# print(Student.class1)# 可以直接访问
# print(Student.name()) ##未实例化
S1=Student() #实例化
print(S1.name('jack'))
实例也是一个独立存放变量的空间,每个实例都是一个独立的变量空间。不同的实例之间的空间互相不可见.
未经实例化,不能直接访问
实例化之后可以访问:
一个类可以实例化出无数的对象(实例对象),python为了区分是哪个实例对象调用了方法,于是要求方法必须绑定(通过self参数)才能调用,而未实例化的对象直接调用方法就会报错;
好了,引入正题,我们每次调用对象的时候时候,都先要实例化,然后再去用实例对象去调用.这个貌似用起来比较麻烦.
类方法,或者叫静态方法
不依赖于对象,而只依赖于类本身
方法公式如下:
@classmethod
def 类方法名(cls):
pass
可以看出来,这个就不需要实例化,就可以直接调用.
类方法可以直接平级去调用类里面的属性,普通方法还需要采用self.这样操作起来更加便捷.
静态方法:
方法公式如下:
@staticmethod
def 类方法名(): ####参数不依赖于对象self,也不依赖于类cls
pass
访问类属性的时候,不用cls,直接用类名Student 去访问类
class Student:
class1='四七班' #类属性
@staticmethod
def name():
print('name is CLS 班级是>',Student.class1)
Student.name()
类方法中可以去调用静态方法
class Student:
class1='四七班' #类属性
@classmethod
def name(cls):
print('name is CLS 班级是>',cls.class1)
cls.age()
@staticmethod
def age():
print('age is 10 班级是>',Student.class1)
Student.name()
静态方法中也可以去调用类方法
- 上一篇: 什么是面向对象?新手程序员必掌握的技能
- 下一篇: 面向对象过程编程思路(面向对象编程例子)
猜你喜欢
- 2024-09-18 无门槛快速学编程——Python小短课,三探面向对象
- 2024-09-18 Python中的“实例化对象”——掌握面向对象编程的核心技能
- 2024-09-18 面向过程和面向对象最通俗的解释(面向对象和面向过程的概念和区别)
- 2024-09-18 Python | 面向对象如何快速实现(一)
- 2024-09-18 漫画:如何通俗易懂地解释面向对象思想?
- 2024-09-18 一文让你掌握Python面向对象的编程思维
- 2024-09-18 什么是面向对象,看这一篇就够了(什么叫面向对象)
- 2024-09-18 C#自学——面对对象(OOP)(c#面向对象的编程)
- 2024-09-18 面向对象:静态方法、类方法、属性方法
- 2024-09-18 Delphi基础教程图文版之初识面向对象
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)