Python基础四(面向对象)

面向对象基础

面向对象:对整个代码逻辑(包含数据、函数、逻辑)进行包装(封装),最大程度提升代码复用,减少编程量

python是面向过程语言、函数式

类:对一系列具有相同特征和行为的事物的统称,特征即属性,行为即方法

对象:根据类具体创造出来的

类设计规则:

类的名称:满足大驼峰命名法

类的属性:特征

类的方法:行为

class 类名():
    pass

创建对象(实例):对象名 = 类名()

魔法方法:__xx__()函数,指具有特殊功能的函数

方法名

类型

作用

__init__

方法

对象被初始化时,会被自动调用,专门定义对象具有的属性和方法

__str__

方法

返回对象的描述信息,print函数输出使用,不加__str__正常返回对象指向的内存地址

类外面设置对象属性:对象名.属性名 = 值

类里面获取对象属性:对象名.属性名

类属性:写在类里的属性,该类所有的实例对象共有(类和实例对象都可访问)

优点:类属性为全类所共有,只占一份内存,实例属性需要为每个对象单独开辟一份内存空间

实例属性不能通过类来访问

类方法和静态方法

类方法:装饰器@classmethod来标识,一般和类属性配合使用。第一个参数是对象,一般以cls作为第一个参数。可以通过实例对象和类对象访问

class Dog(object):
    __tooth = 10
    @classmethod
    def get_tooth(cls):
        return cls.__tooth

wangcai = Dog()
# 实例对象访问类方法
result = wangcai.get__tooth()
print(result) # 10
# 类对象访问类方法
print(Dog.get__tooth)) # 10

静态方法:装饰器@staticmethod来修饰,即不需要传递类对象也不需要传递实例对象(形参没有self或cls)。可以通过实例对象和类对象访问

面向对象-继承

继承:子类默认继承父类所有的属性和方法

class Stu:
    def __init__(self, name, coure_name, phoneNum):
        self.name = name
        self.coure_name = coure_name
        self.phoneNum = phoneNum

class PythonAutoStu(Stu):
    def __init__(self, name, coure_name, phoneNum):
        super().__init__(name, coure_name, phoneNum)
        self.coure_name = 'python自动化'
        self.time = '16周'

面向对象-多态

多态:具有多种形态,即便不知道一个变量所引用的对象到底是什么类型,仍可以通过这个变量调用方法,在运行过程中根据变量所引用对象的类型,动态的决定调用哪个对象中的方法

模块和包

模块:python工具包,使用关键字import来引入

import 模块名.函数名

from 模块名 import 函数名

from 模块名 import *

as起别名:from 模块名 import 函数名 as 函数别名

当你导入一个模块,Python解析器对模块位置的搜索顺序是:

  1. 当前目录
  2. 如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录
  3. 如果都找不到,Python会查看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/
  4. 模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值