28-类和实例

简介: Python


类是抽象的模板,用来描述具有相同属性和方法的对象的集合,比如Animal类。 类名通常采用驼峰式命名方式,尽量让字面意思体现出类的作用。
Python使用class关键字来定义类,其基本结构如下:
class 类名(父类列表):
pass

类的构成
类(class)由3个部分构成
类的名称:类名
类的属性:一组数据
类的方法:允许对进行操作的方法
人类的设计:
事物名称(类名):人(Person)
属性:身高(height)、年龄(age)
方法:跑(run)、吃(eat)
定义一个类
class People:

属性

方法

def eat(self):
print(“人在吃…”)
def drink(self):
print(“人在喝…”)

定义类时有2种:新式类和经典类,上面的People为经典类,如果是People(object)则为新式类

类名 的命名规则按照"大驼峰"

创建对象
tom = People()

调用对象的方法
class Cat:

属性

方法

def eat(self):
print(“猫在吃…”)
def drink(self):
print(“猫在喝”)
tom = Cat()

调用tom指向的对象中的方法
tom.eat()
tom.drink()

给对象添加属性
属性简单来说,就是变量。

给tom指向的对象添加2个属性
tom.name = “汤姆”
tom.age = 18

获取属性的方法
class Cat:

属性

方法

def eat(self):
print(“猫在吃…”)
def drink(self):
print(“猫在喝”)
def info(self):
print(“%s的年龄是:%d”%(tom.name,tom.age))

tom = Cat()
tom.name = “汤姆”
tom.age = 18

print(“%s的年龄是:%d”%(tom.name,tom.age))
tom.info()
lanmao = Cat()
lanmao.name = “蓝猫”
lanmao.age = 20
lanmao.info()

__init__方法
调用对象时自动执行的一个方法。也称之为魔法方法
class Cat:

初始化对象

def init(self,new_name,new_age):
self.name = new_name
self.age = new_age

方法

def eat(self):
print(“猫在吃…”)
def drink(self):
print(“猫在喝”)
def info(self):
print(“%s的年龄是:%d”%(self.name,self.age))
tom = Cat(“汤姆”,18)

tom.name = “汤姆”
tom.age = 18
tom.info()

lanmao = Cat()

lanmao.name = “蓝猫”
lanmao.age = 20
lanmao.info()

__str__方法
class Cat:

初始化对象

def init(self,new_name,new_age):
self.name = new_name
self.age = new_age

def __str__(self):

return "%s的年龄是:%d"%(self.name,self.age)

方法

def eat(self):

print("猫在吃....")

def drink(self):

print("猫在喝")

def info(self):

print("%s的年龄是:%d"%(self.name,self.age))

tom = Cat(“汤姆”,18)
print(tom)

相关文章
|
10月前
|
C#
C# 创建已实例化类的副本类
C# 创建已实例化类的副本类
|
2月前
|
前端开发 算法 JavaScript
检查是否是类的对象实例
检查是否是类的对象实例
29 0
|
9月前
|
Java
java接口(实例运用)
java接口(实例运用)
31 0
|
设计模式 Python
我为什么要创建一个不能被实例化的类
我为什么要创建一个不能被实例化的类
51 0
|
Python
5 类的创建及使用
5 类的创建及使用
113 0
|
JavaScript 前端开发 Java
创建Class类的实例对象的三种方法
创建Class类的实例对象的三种方法
212 0
class-为子类挂载独有的实例属性和实例方法
class-为子类挂载独有的实例属性和实例方法
|
C++ 小程序
c++类的实例化,有没有new的区别
A a; A * a = new a(); 以上两种方式皆可实现类的实例化,有new的区别在于: 1.前者在堆栈中分配内存,后者为动态内存分配,在一般应用中是没有什么区别的,但动态内存分配会使对象的可控性增强。
1183 0
|
Java
类于对象及静态与实例
类与对象:                类,有分类的意思并 、不是一个对象就一个类,发现他们的共同属性和方法,集合在一起,申请一个类。                对象的模板、一个类可以产生很多个对象                对象是虚拟的,要想在代码中实现出来就必须申请类 类的声明举例:...
993 0
2-1 类的创建
创建一个简单的表示矩形的Rectangle类,满足以下条件: 1、定义两个成员变量height和width,表示矩形的长和宽,类型为整型 2、定义一个getArea方法,返回矩形的面积 3、定义一个getPerimeter...
1026 0