Python面向对象初识
一.面向对象与面向过程
1.什么是面向过程?
以过程为核心,分析出所需要解决问题的步骤,然后用函数把这些步骤一步步的实现,最后将这些函数合起来进行逻辑调用。
举一个简单的列子
建房子
1、打地基
2、搬砖
3、砌墙
4、刮腻子
5、排水电
6、装修
2.什么是面向对象?
以对象为核心,在解决问题的时候思考将问题分给哪个团队去完成来完成,将自己想象成一个上帝,进行指挥。
举一个简单的例子
建房子
1、施工队
2、装修队
二. 类与对象
1.何为类
类就相当于生活中的类别,是一个抽象的概念。
示例如下:
鸟类
圆类
人
2.类中有什么?
类中有属性和方法。
所谓属性:相当于程序中的变量名
所谓方法:相当于程序中的函数
注:属性和方法都是该类所具有的的特征
三.类的定义
class 类名:
类代码(属性,方法)
类名:使用大驼峰命名的方式
四.__init__初始化方法
作用:该方法用来初始化对象属性。
注:该方法不需要手动调用,在实例化对象的时候系统会自动执行一遍
五.通过类实例化对象
class Person:
age = 20 #类属性,所有对象共有的属性
def __init__(self,name,height,money):#对象属性的设置
self.name = name
self.height = height
self.money = money
def get_money(self,value): #取钱方法
self.money -= value
def print_money(self): #打印余额方法
print(f'余额:{self.money}')
child = Person('华子',175,1000)#实例化一个child对象
child.print_money() #原余额
child.get_money(400) #取钱
child.print_money() #打印余额
print(child) # 对象名就是该对象的地址
类在没有实例对象时,类中的代码也会预执行
class A:
print('课间休息')
#课间休息
修改属性
修改对象属性
class A:
age = 19 # 类属性是所有对象共有的属性
def __init__(self):
self.money = 100
hz = A()
# 修改对象属性
hz.age = 20
print(hz.age) # 20
# 修改对象属性
hz.money = 1000
print(hz.money) # 1000
修改类属性
class A:
age = 19
def __init__(self):
self.money = 100
hz = A()
# 修改类属性
A.age = 21
print(A.age)
print(hz.age)
查看类属性
class A:
age = 19
__it = 20 # 类的隐藏属性
def __init__(self):
self.money = 100
self.__id = 101011
hz = A()
# 查看类属性 (包括隐藏属性)
print(A.__dict__)
查看对象属性
class A:
age = 19
__it = 20
def __init__(self):
self.money = 100
self.__id = 101011 # 隐藏属性
hz = A()
# 查看对象属性 (包括隐藏属性)
print(hz.__dict__)
类文档
class A:
'''
这个是类文档
用来对类中属性和方法的说明
'''
pass
print(A.__doc__)
函数文档
def func():
'''
这个是函数文档
用来对函数功能的描述
:return: 这里是返回值描述
'''
pass
print(func.__doc__)
1.self 的作用
具有指针作用,指向对象本身。