1.什么是面向对象编程(类)
- 利用(面向)对象的(属性和方法)去进行编码的过程即面向对象编程;
- 自定义对象数据类型就是面向对象中的类(class)的概念。
2.类的关键字:class
- class关键字用来声明类;
- 类名的命名规则是按照'驼峰命名法'。
3.定义类
格式:
class 类名(object):
属性
def 方法名(self):
do
说明:
- object是Python里所有类的最顶级父类;
- 类名的命名规则按照“大驼峰命名法“;
- 类函数内有个必传参数”self”,表示实例对象本身,当然了可以将self换成其他名字,其作用是一个变量这个变量指向实例对象。
示例:
class Person(object):
# 属性
#方法
def eat(self):
print("我喜欢吃零食!")
def drink(self):
print("我喜欢喝可乐")
4.类的使用
- 类的实例化就是把抽象的事物具体为现实世界中的实体;
- 类的实例化就是通过类得到对象;
- 类只是对象的一种规范,类本身基本上什么都做不了,必须利用类得到对象,这个过程就叫作类的实例化!
- 实例对象时,会在内存中分配一块内存空间,这个空间就是这个对象的位置,然后将这个地址引用返回给对象名。
语法:
对象名 = 类名()
示例:
# 定义一个动物类;动物类中定义一个变量;定义一个跑的方法
class Animal(object): # 定义一个类
name = "哈士奇" # 类属性
def run(self): # 类方法
print(f'{self.name} can run')
dog = Animal() # 类的实例化
print(dog.name) # 通过实例化进行属性调用
dog.run() # 通过实例化,进行方法调用
******结果******
哈士奇
哈士奇 can run
说明:
- 'self.name'为类属性,如果不加‘self',就不会找到类属性;如果想要在类方法中调用类属性就必须加上'self'
- 'self'参数具备两个功能
-- 1.可以帮助我们调用'类属性';
-- 2.将使用self的函数调用到类中,如果我们有另一个函数,可以在另一个函数中通过'self'来调用run方法。
5.类的参数--self
- 在类里面,所有实例化方法都需要加self参数,且排在第一个,有且仅有一个;
- self参数的含义:在类中定义的方法,第一个参数self指向调用该方法的实例对象,在方> 法中通过self.属性这个的形式访问对象的实例属性;
- self是类方法中的必传参数,且必须放在第一个参数位置;
- self是一个对象,它代表着实例化的变量自身;
- self可以直接通过点(.)来定义一个类变量,如self.name = Neo,如果在函数体内定义变量可以通过self.变量名来进行赋值;
- self中的变量与含有self参数的函数可以在类中的任何一个函数内随意调用
- 非函数中定义的变量在定义的时候不需要使用self
如何理解self参数
类比
- 如果把类比作造房子的图纸
- 类实例化后的对象是真正可以住的房子
- 根据