更多课程 选择中心


Python培训

400-111-8989

Python 学习-类和模块的基础知识

  • 发布:某非某
  • 来源:某非某
  • 时间:2017-12-04 13:23


一个最简单的类的定义可能是类似这样的

class 类名:

def 方法名1(self, 参数...)

方法体

...

属性名 = 初始值

...

而创建一个该类的对象则可以使用

对象名 = 类名()

其中的 self 指代对象自己,需要调用对象方法时,可以使用

对象名.方法名(参数...)

构造函数与解构函数

和 C 语言中的构造和解构函数类似,当我们创建某个类的对象的时候,可以增加更多参数。

# 构造函数def __init__(self, 参数...)

构造函数体

# 解构函数def __del__(self, 参数...)

解构函数体

例如

# 类的定义class goods:

name = ''

price = 0

def __init__(self, name, price):

self.name = name

self.price = price

def __del__(self):

print('delete the goods')# 使用构造函数创建一个对象pen = goods('pen', 5.9)# 使用解构函数删除这个对象del(pen)

方法和属性

例如

class goods:

name = ''

price = 0

inventory = 0

def __init__(self, name, price, inventory):

self.name = name

self.price = price

self.inventory = inventory

def __del__(self):

print('delete the goods')

def sell(self, numbers):

remained = self.inventory - numbers if remained > 0:

self.inventory = remained return self.price * intnumbers else: # 库存不够

print('库存不足')# 创建库存pen = goods('pen', 5.9, 100)# 卖了50支penpen.sell(50) # 返回295.0,库存inventory变成了50print(pen.inventory) # 得到结果50

其中 name、price、inventory 都是这个类的属性,通过 对象名.属性名 的方式调用

而sell()就是这个类的一个方法,通过 对象名.方法名(参数) 的方式来调用

继承

基本语法

class 类名(父类, ...):

类定义体

例如

class freshCommodities(goods):

productionDate = '' # 生产日期

def __init__(self, name, price, inventory, productionDate):

super(freshCommodities, self).__init__(name, price, inventory) # 调用父类的构造函数

self.productionDate = productionDate

def sell(self, numbers):

if self.productionDate > '20171102': # 举个例子,当然也可以使用 Python 的 date 相关库来判断时间

return goods.sell(self, numbers) # 这里直接使用了父类的名称来调用父类的方法,而原函数中的参数 self 在这里被替换成实参 self 指代自己

else:

print('商品已过期,不能销售')

fish = freshCommodities('fish', 10, 100, '20171103')

fish.sell(50)

模块基础

跟 C 语言的库、Java 的模块概念类似。

基本语法:

import 模块名import 模块名 as 别名 # 在使用时通过别名来调用from 模块名 import 子模块名from 模块名 import * # 导入所有子包

调用时,使用方法会根据import语法的不同有所不同。

例如 Python 提供了一个 re 的模块,用于处理正则表达式,其中有一个函数sub(需要查找的内容, 替换成的内容, 源字符串),我们以此为例进行说明

import re

re.sub('p', 'P', 'Hello Python') # 加上模块名来调用import re as reg

reg.sub('p', 'P', 'Hello Python') # 使用别名调用from re import *

sub('p', 'P', 'Hello Python') # 直接调用

本文内容转载自网络,本着分享与传播的原则,版权归原作者所有,如有侵权请联系我们进行删除!

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Python 函数的参数传递
下一篇:五个免费的python机器学习集成开发环境

2021年Python全套免费视频教程在哪里?

Python编程学习路线

Python最高有几级?

人工智能与语音遥控的区别?

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省