目录

  • 前言
    • 模块
    • 模块,包导入
    • 文件
    • 异常
    • 高阶函数
  • 后记

前言

在我们之前的学习中,做测试是不会有第二个py文件的,那么就不太了解一个py文件是代表着什么,是否跟java编程中的.java文件有什么不同?

所以在本章,我们就跟我们特定的了解了解不同的py文件中存在着怎么样的关系。
先看一看本章的包结构:

模块

OK,让我们来细谈一下什么是模块:

在java中我们是没有什么模块的概念的,因为我们所写类都是一个java文件,一个java文件代表着一个类。

那么在python中我们的文件就是py文件,区别在哪?就在于一个py文件里可以装多个类,那么python就管一个py文件就是一个模块

现在就先定义一个模块

             """模块的概念,每一个py文件都是一个模块,此模块只需被接收"""# __all__ = ["Person", "hobby"]class Person(object):name = "贞德"def __init__(self, name, age):self.name = nameself.age = agedef __str__(self):return f"这个人类的名字为:{self.name},年龄大概为{self.age}左右"def eat(self):print("经检测,人类一天需要吃三餐")"""模块内的一个属性"""hobby = "打机飞""""模块内的一个方法"""def play():print("会玩些其他的一些玩偶")# 在以一个模块导入的时候下面方法会实现# print(hobby)

模块,包导入

事实上包的话我就没什么很大的必要去详细讲解了,

重点在于,模块和包都是可以导入的。

模块和包导入的方式总共有三种方式:可以看一看下面的案例,然后多练习练习。

             """导入一个Snail的模块我们来实验的是Snail的模块的属性和方法如何导入:总共有三种方式:""""""第一种方式导入具体模块后就可以使用模块内的任何功能区"""# import python05.Snail as Snail## # 模块内得类属性和方法# person = Snail.Person("黑贞德", 22)# print(f"此人是{person.name},他的年龄竟然是{person.age}")# person.eat()## # 模块外的类属性和方法# print(f"模块内的hobby属性是{Snail.hobby}")# Snail.play()"""第二种方式:只拿到那个模块的某个功能区比如:模块下的 hobby 属性功能区play 方法功能区都不能使用"""# from python05.Snail import Person# person = Person("士道", 12)## print(person.name)"""第三种:可以拿到那个模块的功能区重点在于如果你要导入的那个模块设置了那个功能区可以开放,那就只能导入可以开发的功能区。比如__all__ = ["Person","hobby"]那么play()就不能使用"""## from python05.Snail import *## # 类内的# person = Person()# print(person.name)## # 类外的# play()# print(hobby)"""重点:包全局导入,也就是导入所有的时候如果要导入的模块是在某个包下,成功导入的情况是包下__init__.py 允许你去导入不成功导入就是__init__.py 不允许你导入"""# 可以使用# from python05 import Snail# person = Snail.Person()# 不可以使用 因为在__init__.py里设置了from python05 import  *# Snail.Person

文件

说到文件我们是知道有着许许多多的文件,可是我们此次的文件就是text文件

我们可以通过python语法对text创建,或者读取text文件

             """文件"""# 存文件# wte = open("redemo.text", "w", encoding="UTF-8")# wte.write("天天卡牌")# 读文件内容#red = open("redemo.text", "r", encoding="UTF-8")# 读文件的多种方式# print(red.read()) # 读取所有,或读取几个字节,# print(red.readline()) #读取一行# print(red.readlines()[0]) # 读取一个列表,把每一个放入到一个列表中

异常

在一个可能发生错误的程序的一行中,如果可以捕获这个异常的话,那么等到此异常报错后,就能清晰的知道错误发生在什么地方。

当然也可以自定义异常

             """异常:try:里面放需要捕获可能异常的代码except: 里面是异常判断的实体else:没有异常执行的代码finally:无论有无异常都执行的代码"""# try:#     a = 2/0# except ZeroDivisionError as e:#     print(f"输入的数值有问题,异常信息{e}")# else:#     print(f"算的值为{a}")# finally:#     print("运算结束")# 自定义异常# class myException(Exception):#     def __init__(self, lenth, minleng):#         self.lenth = lenth#         self.minleng = minleng##     def __str__(self):#         return f"你输入的密码长度为{self.lenth},可规定输入的长度为{self.minleng}"### try:#     pwd = input("输入密码")#     if len(pwd) <6:#         raise myException(len(pwd), 6)## except myException as e:#     print(f"输入的数值有问题,异常信息为:\n{e}")# else:#     print(f"输入的值为{pwd}")# finally:#     print("结束")

高阶函数

额,这个可了解就行,因为用到的地方确实很少。

简单的说:一个可以传入函数的函数

             """高阶函数三个内置函数:map(),reduce(),filter()"""import  functools# map 把func,传进去的函数对所有集合使用list1 = [1, 2, 3, 4, 5]def one (x):return x **2m =  map(one,list1)print(list(m))# reduce ,需导入functools模块。 把func,会对集合内的数值累加使用def two (x,y):return x+ym1 = functools.reduce(two,list1)print(m1)#filter ,把需要的拿到,过滤不需要的def three (x):return x % 2 == 0m2 = filter(three, list1)print(list(m2))

后记

本章使得每一个python文件都可以联系在了一起。

Python之模块,包,文件,异常相关推荐

  1. python模块 包 文件_Python临时文件模块

    python模块 包 文件 Python临时文件 (Python Tempfile) In every programming languages, it's often that program n ...

  2. python gzip模块实现文件压缩的方法

    python gzip模块实现文件压缩的方法 使用gzip格式压缩文件,注意引入gzip包. 代码: 复制代码代码示例: #!/bin/python # #site: www.jbxue.com im ...

  3. Python OS模块和文件处理

    Python OS模块和文件处理 文件处理 1. 打开和关闭文件 2. 读&写 3. 文件定位 OS模块 1. OS模块简介: 2. OS模块常用函数 3. OS模块常用方法实战 4. 例题练 ...

  4. python os复制文件_使用python os模块复制文件到指定文件夹的方法

    复制一个文件夹的文件到指定目录下 import os import shutil import time start_time = time.time() # 需要被复制的文件夹 old_path = ...

  5. Python traceback模块:获取异常信息

    除了使用 sys.exc_info() 方法获取更多的异常信息之外,还可以使用 traceback 模块,该模块可以用来查看异常的传播轨迹,追踪异常触发的源头. 下面示例显示了如何显示异常传播轨迹: ...

  6. python os模块创建文件夹_Python创建文件夹与文件的快捷方法

    前言 Python快捷创建文件夹和文件详解 自己做文件时发现  简单的反复操作十分浪费时间,于是想到了 使用Python,这个分享给大家,快捷高效办公. 项目目录 file11 创建文件夹 file2 ...

  7. python os模块打开文件_Python 文件操作之OS模块

    with open('filepath') as rename: for line in rename: ... with 命令下 不用使用close()函数关闭文件,打开的文件在with 代码块下有 ...

  8. Python module模块 包 __name__

    模块:一个.py文件就称为一个模块(module) module的好处: •提高代码的可维护性,一个module编写完成,就可以被其它地方引用,不必重复编写,注意模块名应避免与python内置库重名 ...

  9. python os模块打开文件_python OS 模块 文件目录操作

    os模块中包含了一系列文件操作的函数,这里介绍的是一些在Linux平台上应用的文件操作函数.由于Linux是C写的,低层的libc库和系统调用的接口都是C API,而Python的os模块中包括了对这 ...

  10. 手把手教你Python如何抓包~【异常详细版】

    嗨害大家好鸭!我是小熊猫❤ 很多小伙伴在后台问我: 数据来源怎么找啊,怎么抓包? 其实很简单,多操作几遍就记住啦~ ~- 今天咱们通过三个案例来展示一下 有什么python相关报错解答自己不会的.或者 ...

最新文章

  1. 使用Pygame制作微信打飞机游戏PC版
  2. OpenGL 纹理学习总结
  3. matlab GUI 界面暂时关闭和打开关闭请求操作
  4. 抓住县域消费者的“胃”,淘特凭什么?
  5. 使用您自己的规则在Eclipse中自定义PMD
  6. python 模糊匹配ftp文件_使用python实现正则匹配检索远端FTP目录下的文件
  7. BoostrapTable的refresh和refreshOptions区别
  8. linux chromium安装falsh插件
  9. 我的世界服务器不显示浮空字,我的世界服务器浮空字怎么做 | 手游网游页游攻略大全...
  10. NutUI 2.1.0 发布,移动端轻量级 Vue 组件库
  11. 如何绕过mac地址过滤_Maccms V8 后台Getshell #2(绕过过滤)
  12. 光纤中多模和单模的区别
  13. java.net.url 中文乱码_asp.net URL中包含中文参数造成乱码的解决方法
  14. 解决:tcpdump -w xxxxx.pcap 提示 Permission denied
  15. 查看python openCV的版本号
  16. vue面试题(自用)
  17. 懂得感恩的人,运气都不会太差
  18. 信号完整性与电源完整性分析 第三版 pdf_反射、串扰、抖动后,我的信号变成什么鬼?...
  19. php 车牌号限号,车辆尾号限行API免费接口,车辆尾号限行API接口付费定制-进制数据...
  20. JO、JNO、JB、JNB命令详解(从原理上)

热门文章

  1. mySQL首行缩进快捷键_html首行缩进、悬停效果
  2. 定义一个账户类,可以创建多个账户进行存款、取款 、查询余额、以及销户等操作
  3. 本周桑坦德银行将发布瑞波支付应用
  4. String类的常见用法
  5. 浙大PAT 乙级(题号1046~1050)自解全AC Java | C++实现
  6. webpack 之vue 初级打包2 从零开始
  7. 【代码阅读】Multiplicative Filter Networks (ICLR 2021)
  8. VINS-Mono代码阅读笔记(十四):posegraph的存储和加载
  9. 彻底删除360云盘图标
  10. intellij idea 修改背景保护色修改字体快捷键大全