一、基础概念
二、面向对象
1. 什么叫面向对象?
- 利用面向对象的属性和方法进行编码的过程。
- 自定义对象数据类型就是面向对象中的类(class)的概念。
- 类的关键字是class,我们可以使用class来声明类,类的名称首字母大写,多单词的情况下每个单词的首字母大写。
class Name(object):
attr = something
def func(self):
do
- 我们需要注意类中的属性和函数的缩进要统一。
class Person(object):
name = '小明' # 类属性
def dump(self): # 类函数
print(f'{self.name} is dumping')
xiaoming = Person()
# xiaoming是Person的实例化对象,整个过程就是类的实例化过程。
print(xiaoming.name) # 通过实例化进行属性调用
# 用实例化对象加‘.’的方式调用类的属性与函数。
xiaoming.dump() # 通过实例化进行函数调用
2. 类的参数self
- self是类函数中的必传参数,且必须放在第一个参数位置。
- self是一个对象,他代表实例化的变量自身。
- self可以直接通过点来定义一个类变量,self.name = ‘xiaoming’。
- self中的变量与含有self参数的函数可以再类中的任何一个函数内随意调用。
- 非函数中定义的变量再定义的时候不用self
# coding:utf-8
class Person(object):
name = None
age = None
def run(self):
print(f'{self.name} 在奔跑')
def jump(self):
print(f'{self.name} 在跳跃')
def work(self):
self.run()
self.jump()
def sleep(name):
return name
result = sleep(self.name)
print('sleep result is ', result)
xm = Person()
xm.name = '小明'
xm.top = 174
print(xm.top)
xm.jump()
print('----------------')
xm.work()
3. 类的构造函数
- 类中的一种默认函数,用来将类实例化的同时,将参数传入类中。
# 构造函数的构建
def __init__(self, a, b):
self.a = a
self.b = b
# coding:utf-8
class Person(object):
def __init__(self, name, age=None):
self.name = name
self.age = age
def run(self):
print(f'{self.name} 在奔跑')
def jump(self):
print(f'{self.name} 在跳跃')
def work(self):
self.run()
self.jump()
xm = Person(name='小明', age=18)
xm.name = 'xm'
xm.jump()
ym = Person(name='小刚')
ym.jump()
print('----------------')
xm.work()
4. 对象的生命周期