拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Python__定义和使用类

鉴于对面向对象展现出良好的支持状况, 所以于其中进行类的定义以及使用并非复杂之事。类的定义和使用与函数的定义和使用存有诸多相似点。一、类的定义于其中, 类之定义跟函数之定义相类, 不一样之处在于, 类之定义系运用关键字“class”。同函数定义一样等是, 于定义类之际亦要采用缩进之形式, 用以表明缩进之语句归属于该类。类之定义形式如下这般。class 类名: 语句1 语句2 ... 语句3同函数定义情形一样, 使用类之前得先定义类, 类的定义通常置于脚本头部, 在其中也能够于if语句分支或者函数定义里定义类, 下面这段代码定义了一个human类, 还定义了相关属性。class human: # 定义 human 类 age 0 # 定义 age 属性 sex # 定义 sex 属性 height 0 # 定义 height 属性 weight 0 # 定义 weight 属性 name # 定义 name 属性以继承那种形式, 类能够被用来将其定义予以完成, 借助类继承把类定义出来的基本形式是这样的。class 类名(父类名): 语句1 语句2 ... 语句3当中, 圆括号里的父类名, 即为那要继承的类。由此朝下所展示的代码呢是以继承human类达成生成崭新的类class student(human): # 通过继承 human 类创建 student 类 school # 定义 weight 属性 number 0 # 定义 weight 属性 grade 0 # 定义 weight 属性那些借助human继承而得来的类, 会自动继承human里的属性, 与此同时,在上面所提及的代码当中, 又针对类定义了别的属性。定义类之后, 便产生了一个名字空间, 这与函数相类似。在类的内部所使用的属性, 等同于函数里的变量名, 并且还能够在类的外部持续使用。类的内部跟函数的内部是一样的, 都相当于一个局部作用域。不同类的内部也能够使用相同的属性名。二、类的使用类于被定义完成之后, 必然得先经过实例化这一过程方可投入使用。类的实例化跟函数调用拥有相似之处, 只要借助使用类名字加上圆括号的这种形式, 便能够实现对一个类的实例化操作。类被实例化之后, 会生成出来一个对象, 一个类能够被实例化成多个对象, 对象跟对象相互之间并不会产生相互影响, 类实例化完之后就能够去使用它的属性以及方法等, 下面的代码先是定义了一个book类, 之后又将其进行实例化。class book: # 定义 book 类 author # 定义 author 属性 name # 定义 name 属性 pages 0 # 定义 pages 属性 price 0 # 定义 price 属性 press # 定义 press 属性 a book() # book 类实例化 print(a) # 查看对象 a print(a.author) # 访问 author 属性 print(a.pages) # 访问 pages 属性 print(a.price) # 访问 price 属性 a.author Tutu # 设置 author 属性 a.pages 300 # 设置 pages 属性 a.price 25 # 设置 price 属性 print(a.author) # 重新访问 author 属性 print(a.pages) # 重新访问 pages 属性 print(a.price) # 重新访问 price 属性 b book() # 将 book 类实例化生成 b 对象 print(b.author) # 访问 b 对象的 author 属性 print(b.price) # 访问 b 对象的 price 属性 b.author Butter # 设置 b 对象的 author 属性 b.price 15 # 设置 b 对象的 price 属性 print(b.price) # 访问 b 对象的 price 属性 print(a.price) # 访问 a 对象的 price 属性没有发生改变 print(b.author) # 访问 b 对象的 author 属性 print(a.author) # 访问 a 对象的 author 属性没有发生改变 print(b.pages) # 访问 b 对象的 pages 属性 print(a.pages) # 访问 a 对象的 pages 属性上面的脚本输出结果如下上述所举例子, 仅仅是定义了类的那般属性咧, 并且是在类被实例化之后, 又重新去设置了其属性。从那段代码当中能够瞧出来, 类的实例化, 相当于去调用一个函数, 而这个函数恰恰就是类本身。函数返回的是一个属于类的实例对象, 返回之后的这个对象, 就具备了类所定义的那些属性。上述例子造就了两个book实例对象, 对其中一个对象的属性进行设置, 是不会对另外一个对象的属性产生影响的, 也就是说, 这两个对象是彼此相互独立的。需留意的是, 于该情境之中, 类要先经实例化方可运用其属性, 然而事实上, 一旦创建了类, 便能借由类名来访问其属性, 倘若直接借助类名去修改其属性, 会对凭借该类所实例化的其他对象造成影响, 演示代码如下。class A: # 定义类 A name A # 定义属性 name 将其赋值为 A num 2 # 定义 num 属性将其赋值为 2 print(A.name) # 直接使用类名访问类的属性 print(A.num) # 直接使用类名访问类的属性 a A() # 生成 a 对象 print(A.name) # 查看 a 的 name 属性 b A() # 生成 b 对象 print(b.name) # 查看 b 的 name 属性 A.name B # 使用类名修改 name 属性 print(a.name) # a 对象的 name 属性被修改 print(b.name) # b 对象的 name 属性也被修改每一次的 print 输出如下
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门