python的面向对象编程

本文介绍了Python的面向对象编程,包括类和对象的概念,如何定义类和创建对象,类中的对象方法、类方法和静态方法,初始化方法如__init__,以及属性的定义和使用,最后探讨了继承的原理和应用。
摘要由CSDN通过智能技术生成

一、认识类和对象

1. 编程思想

  • 面向过程编程: 穷人思想 (基本语法、分支、循环、逻辑思维)
  • 函数式编程:小资思想 (基本语法、分支、循环、逻辑思维、函数)
  • 面相对象编程:富豪思想 (基本语法、分支、循环、逻辑思维、函数、类、对象)
求10的阶乘
s = 1
for x in range(1, 11):
    s *= x
print(s)


def factorial(num):
    s = 1
    for x in range(1, num+1):
        s *= x
    return s

print(factorial(10))

2.什么是类、什么是对象

类就是具有相同功能和相同属性的对象的集合。(类是一个抽象的概念)
对象就是类的实例。(某一类事物的具体表现)

人是类,某个具体的人是人的对象,骆老师也是人的对象;
电脑是类,我桌上这台电脑就是电脑的对象;
车是类,我家的车那辆车是对象,楼下停着的那辆红色的车是对象;汽车、工程车、出租车是车的子类(分类)

3.定义类(创建类)

用代码来描述这个类是拥有哪些相同属性和哪些相同功能的对象的集合

数值相关的共同特点用属性来描述 (属性就是定义在类变量)
非数值相关的共同特点用方法来描述 (方法就是定义在类中的函数)

语法:
class 类名:
    类的说明文档
    类的内容
    
说明:
1class         -       关键字;固定写法
2)类名           -       由程序员自己命名;必须满足两点命名要求
                         三个规范:首字母大写,采用驼峰式命名(大驼峰); 见名知义; 不使用系统函数、类、模块名
3:            -        固定写法
4)类的说明文档    -       多行注释
5)类的内容      -        在这儿用代码来描述这个类相同的功能和属性和有哪些;
                        主要包含属性(对象属性、类属性)和方法(对象方法、类方法、静态方法)                
class Person:
    """这是人类"""
    pass

4. 创建类的对象

语法:类名() ( 创建指定类的对象并且返回)

p1 = Person()
p2 = Person()

print(p1)
print(p2)

二、类中的方法

1. 方法 - 对象方法、类方法、静态方法

  • 1)对象方法
    a.怎么定义:直接定义在类中的函数就是对象方法
    b.怎么调用:以’对象.xxx()'的方式来调用 - 通过对象来调用对象方法
    c.特点:通过对象来调用对象方法的时候默认参数self不需要传参,系统会自动将当前对象传给self(self是谁调用就指向谁)
    d.应用场景:

  • 2)类方法
    a.怎么定义:需要在定义函数前加"@classmethod"
    b.怎么调用:以 '类.xxx()'的方式来调用 - 通过类来调用类方法
    c.特点:通过类来调用类方法的时候默认参数cls不用传参,系统会自动将当前类传给cls
    d.应用场景:

  • 3)静态方法
    a.怎么定义:需要再定义函数前加"@staticmethod"
    b.怎么调用:以 '类.xxx()'的方式来调用 - 通过类来调用静态方法
    c.特点:没有特点
    d.应用场景:

class A:
    def func1(self):
        print('对象方法:', self)

    def <
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值