Python初识面向对象编程

目录

  • 什么是面向对象编程(类)
  • 类的定义与调用
  • self
  • 类的构造函数

什么是面向对象编程

  • 利用(面向)对象(属性与方法)去进行编码的过程
  • 自定义对象数据类型就是面向对象中的类( class )的概念
    在这里插入图片描述

类的关键子class

  • class来声明类,类的名称首字母大小,多单词情况下每个单词首字母大写(驼峰命名法)

类的定义

在这里插入图片描述

类的使用

在这里插入图片描述

类的参数self

  • self是类函数中的必传参数,且必须放在第一个参数位置
  • self是一个对象,他代表实例化的变量自身
  • self 可以直接通过点来定义一个类变量 self.name = 'insane'
  • self中的变量与含有self参数的函数可以在类中的任何一个函数内随意调用
  • 非函数中定义的变量在定义的时候不用self

类的构造函数

  • 类中的一种默认函数,用来将类实例化的同时,将参数传入类中
  • 构造函数在类的最上面定义

构造函数的创建

在这里插入图片描述

构造函数的用法

在这里插入图片描述

实战

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time     : 2021/8/14 21:25
# @Author   : InsaneLoafer
# @File     : python_init.py

def outer_sleep(name):
    return name


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()

        def sleep(name):  # 在局部函数中定义函数,调用时就不用传self变量
            return name

        result = sleep(self.name)
        print('sleep result is', result)

        outer = outer_sleep(self.name)
        print('在类外的函数调用', outer)


insane = Person(name='insane', age=10)
insane.name = 'broken'
insane.jump()

loafer = Person(name='loafer')
loafer.jump()

# 添加属性,每个实例化添加属性只能在当前实例化中使用
loafer.top = 187
print(loafer.top)

print('----')
insane.work()
broken在跳跃
loafer在跳跃
187
----
broken在奔跑
broken在跳跃
sleep result is broken
在类外的函数调用 broken

Process finished with exit code 0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值