1、面向对象
概念:以类为核心,以对象的方式解决问题
结婚典礼
抽象:
提取共性、脱离个性
类与对象:
类:具有相似的一些属性的集合
对象:是类的具体化
描述:
语法:
class 类名:
''' 文档字符串'''
类变量
实例变量
实例方法
类方法
静态方法
调用:
变量名 = 类名([参数列表])
类的实例化:变量是实例化后的对象
实例成员:
实例变量
属性:
对象的变量
位置:
多定义在 __init__ 方法
定义:
class 类名:
''' 文档字符串'''
def __init__(self, 变量名1, ...):
self.属性名1 = 变量名1
...
调用:
实例对象.属性名
查看:
实例对象.__dict__
作用:
查看对象的变量字典
实例方法
作用:
1、表示对象的行为或功能
2、操作实例变量
定义:
class 类名:
def 方法名(self, [参数列表]):
方法体
调用:
实例对象.实例方法名([参数列表])
本质:
实例方法的本质就是函数(定义在类中)
【实例方法的传参可以按照函数的传参方式
实例方法的形参可以按照函数的形参定义,但是第一参数必须为self】
说明:
可以被实例化的对象所共享
# 实例变量
class Phone:
# 构造方法
def __init__(self, brand, price, color):
# 多用于初始化实例变量
self.brand = brand
self.price = price
self.color = color
# 实例化
# 1、实例化自动调用类中的构造方法:__init__
# 2、传参:self:表示实例对象本身,隐式自动传递
p01 = Phone('huawei', 5499, '魅力蓝')
print(p01.brand, p01.price, p01.color)
print(p01.__dict__) # 查看对象的变量字典
p02 = Phone('xiaomi', 5399, '魅力蓝')
print(p02.brand, p02.price, p02.color)
# 实例方法
class Car:
# 构造方法
def __init__(self, name, speed):
self.name = name
self.speed = speed
# 实例方法
def run(self):
print('{}的车在以{}km/h的速度行驶...'.format(
self.name, self.speed))
# 1、创建一个实例对象
byd = Car('比亚迪', 70)
# 2、调用实例方法 run
byd.run()
wl = Car('蔚来', 60)
wl.run()
类成员:
类变量
作用:
描述所有对象共有的数据(共享)。
位置:
定义在类内、实例方法外的变量
定义:
class 类名:
类变量名 = 数据
# 类成员的引入
class Student:
list_stu