自定义模块

  1. 定义:一个文件就是一个模块(能被调用的文件,模块就是一个工具箱,工具就是函数)

  2. 作用:

    1. 将代码文家化管理,提高可读性,避免重复代码
    2. 拿来就用(避免重复造轮子),python中类库比较多,提升开发效率
  3. import导入时会做三件事:

    # import test  # 只能将整个工具箱拿来
    # a = test.t1
    # b = test.t2
    #
    # a()
    # b()
    1. 将.py文件中的所有代码读取到当前文件
    2. 在当前文件开辟空间
    3. 等待被调用
  4. import导入同一个模块名时,只执行一次

  5. import 和from 文件名较长时,都可以用as起别名,目的是为了防止内置模块名与自定义模块名重复,自定义模块会覆盖内置模块

  6. 导入模块名时后面不能加后缀

  7. 每个模块都有一个独立的内存空间,理论上是全局空间

  8. from :推荐使用from

    # from test import t1 as t # 从test工具箱中将t1这个工具拿过来
    #
    # def t1():
    # print("高级工程师")
    # t1()
  9. import 和 from的区别:

    1. from只能执行导入的工具
    2. import能后执行整个模块中所有的功能
    3. from容易将当前文件中定义的功能覆盖
    4. from 比import灵活
  10. import只能导入当前文件夹下的模块

  11. import 后边不能加点操作 ***

  12. import 和 from 使用的都是相对路径

  13. 飘红不代表报错

  14. sys:和python解释器交互的接口

    1. sys.path.append(r"被导入的模块路径")

      • 内存 > 内置 > 第三方> 自定义
    2. sys.path.insert(0.r"被导入的模块路径")
      • 内存 > 自定义 > 内置 > 第三方
  15. 模块的两种用法

    1. 当做模块导入:使用import 和 from, __ name __ 返回的是当前模块名
    2. 当作脚本执行:__ name __ 返回 ' __ main __'
  16. 只有py文件当做模块被导入时,字节码(pyc)才会进行保留

  17. 导入模块时遇到的坑:

    1. 注意自己的定义的模块名字与系统名字冲突
    2. 注意自己的思路---循环导入时建议导入模式放后边一点,需要的地方,不要互相查找内容
  18. 不建议一行导入多个

  19. from test import * 意思是:拿整个工具箱过来

    1. 通过 __ all __ 控制要导入的内容
    2. __ all __ = ["a","func"] 控制 import *

从入门到自闭之Python自定义模块的更多相关文章

  1. 从入门到自闭之Python时间模块

    time模块:import time time.time():时间戳,是一个浮点数,按秒来计算 time.sleep():睡眠,程序暂停多少秒执行 python中时间日期格式化符号: 必背 %y 两位 ...

  2. 从入门到自闭之Python随机模块

    导入:import random 随机小数:random.random():大于0小于1之间的小数 指定数字之间的小数,不包含指定的最大值:random.uniform() 随机整数:random.r ...

  3. python 自定义模块的发布和安装

    [学习笔记] 自定义模块 使用的是pycharm 说白了就是.py文件都可以作为模块导入,像定义一个文件 名字为Mycode __all__ = ["add","sub& ...

  4. 万恶之源 - Python 自定义模块

    自定义模块 我们今天来学习一下自定义模块(也就是私人订制),我们要自定义模块,首先就要知道什么是模块啊 一个函数封装一个功能,比如现在有一个软件,不可能将所有程序都写入一个文件,所以咱们应该分文件,组 ...

  5. 17.python自定义模块的导入方式

    1.直接用import导入 最后运行main.py可以看到命令行窗口输出了一句:你好,这样就完成了. 2.通过sys模块导入自定义模块的路径path 3.在环境变量中找到自定义模块 这个方法原理就是利 ...

  6. Python自定义模块

    自定义模块 自定义模块(也就是私人订制),我们要自定义模块,首先就要知道什么是模块 一个函数封装一个功能,比如现在有一个软件,不可能将所有程序都写入一个文件,所以咱们应该分文件,组织结构要好,代码不冗 ...

  7. Python 自定义模块位置

    1.需要找出Python解释器从哪里查找模块: 具体方法: >>> import sys,pprint>>> pprint.pprint(sys.path)['', ...

  8. 从入门到自闭之Python解释器安装

    Python解释器的安装 1 下载 ​ 下载地址:https://www.python.org 选择windows平台的链接进行下载 https://www.python.org/downloads/ ...

  9. 从入门到自闭之Python集合,深浅拷贝(大坑)

    小数据池 int: -5~256 str: 字母,数字长度任意符合驻留机制 字符串进行乘法时总长度不能超过20 特殊符号进行乘法时只能乘以0 代码块: 一个py文件,一个函数,一个模块,终端中的每一行 ...

随机推荐

  1. P1598 垂直柱状图

    输入格式: 四行字符,由大写字母组成,每行不超过100个字符 输出格式: 由若干行组成,前几行由空格和星号组成,最后一行则是由空格和字母组成的.在任何一行末尾不要打印不需要的多余空格.不要打印任何空行 ...

  2. php " ",0,'0',false ==判断

    今天项目中遇到的一个问题,举个栗子: if($_GET['is_has_idcard']==0 || $_GET['is_has_idcard']==1){ echo '这次我要上传身份证'; } i ...

  3. BZOJ刷题列表【转载于hzwer】

    沿着黄学长的步伐~~ 红色为已刷,黑色为未刷,看我多久能搞完吧... Update on 7.26 :之前咕了好久...(足见博主的flag是多么emmm......)这几天开始会抽时间刷的,每天几道 ...

  4. idea 远程代码调试

    声明一点:重要的事情说3遍 本地代码和服务器代码必须一致 本地代码和服务器代码必须一致 本地代码和服务器代码必须一致 第一步,创建remote 第二步.填写服务器信息 第三部.tomcat/bin/s ...

  5. TCP主动打开 之 第三次握手-发送ACK

    假定客户端执行主动打开,并且已经收到服务器发送的第二次握手包SYN+ACK,在经过一系列处理之后,客户端发送第三次握手包ACK到服务器:其流程比较简单,主要是分配skb,初始化ack包并发送:需要注意 ...

  6. Python定时框架 Apscheduler 详解【转】

    内容来自网络: https://www.cnblogs.com/luxiaojun/p/6567132.html 在平常的工作中几乎有一半的功能模块都需要定时任务来推动,例如项目中有一个定时统计程序, ...

  7. Java-synchronized 中锁的状态及其转换

    synchronized 锁的优化过程:无锁 -> 偏向锁 -> 轻量级锁 -> 重量级锁 一.不同锁对象的状态表示(需要了解 Java 对象头) https://wiki.open ...

  8. redis宕机时哨兵的处理

    https://blog.csdn.net/a67474506/article/details/50435498 redis宕机是的故障处理 重启故障机 sentinel.conf 的配置会改变

  9. leetcode常见算法与数据结构汇总

    leetcode刷题之后,很多问题老是记忆不深刻,因此特意开此帖: 一.对做过题目的总结: 二.对一些方法精妙未能领会透彻的代码汇总,进行时常学习: 三.总结面试笔试常见题目,并讨论最优解法及各种解法 ...

  10. 使用谷歌提供的SwipeRefreshLayout下拉控件,并自定义实现下拉加载的功能

    package com.loaderman.swiperefreshdemo; import android.os.Bundle; import android.os.Handler; import ...