学习笔记 模块

时间模块 time
详见 :
  python_base_docs_html/时间模块time_180407222007.html

练习:
  1. 写一个程序,以电子时钟的格式显示时间:
    HH:MM:SS

  2. 写一个程序,输入你的生日,
    1) 计算出你出生的那天是星期几?
    2)计算出你已经出生了多少天?

系统模块 sys
  运行时系统相关的信息和函数

详见:
   python_base_docs_html/系统模块sys_180407222006.html

自定义模块
  示例见:
    mymod.py  # 被导入模块
    test.py  # 主模块

导入模块时的路径索引顺序:
   1. 索引程序的运行时路径(当前路径)
   2. 搜索 sys.path里提供的路径
   3. 搜索内置模块

模块化编程的优点:
  1. 有利于多人合作开发
  2. 使代码更加易于维护
  3. 提高代码的复用率
  4. 模块化编程有助于解决函数名和变量名冲突(重名)问题,模块内的变量的作用域为模块内全局


模块的加载过程
  1. 在模块导入时,模块的所有语句都会执行
  2. 如果一个模块已经导入,则再次导入时不会重新执行模块内的语句

模块的重新加载:
  import imp
  imp.reload(mymod)  # 重新加载已经加载过的mymod模块

模块被导入和执行的过程:
  1. 先搜索相关路径找模块(.py)
  2. 判断是否有此模块对应的.pyc文件,如果没有此文件,则用.py文件 生成相应的.pyc文件再进行加载
  3. 如果文件已经存在,则判断.pyc文件和.py文件的修改时间,再决定是否重新生成.pyc文件

模块的编译 compile
              编译             解释执行
   mymod.py   --->>  mymod.pyc  ---> python3

模块的文档字符串 :
  模块内第一行没有赋值给任何变量的字符串为文档字符
  此文档字符串可以用help函数查看

示例见:
  mymod2.py
  说明:
    模块的文档字符串被绑定在模块的 __doc__属性上

__file__属性
  用来绑定模块对应的文件路径名
  示例:
    import mymod2
    print(mymod2.__file__)

模块的 __name__ 属性:
  用来记录模块自身的名字

  作用:
    1. 记录模块名
    2. 用来判断是否为主模块

  __name__ 说明:
  1. 当此模块作为主模块(也就是第一个运行的模块)运行时,__name__绑定'__main__'
  2. 当此模块不是主模块时,模块为名文件名去掉'.py'

模块的 __all__列表
模块中的__all__列表是一个用来存放可导出属性的字符串列表
  作用:
    当用from import * 语句导入模块时,只导入 __all__ 列表内的属性
  示例:
   见: mymod4.py


模块的隐藏属性:
  模块中以'_' 开头的属性,在from import * 语句导入时,将不会导入,通常称这些属性为隐藏属性
 
  示例见:
    mymod5.py

标准库模块:
随机模块 random
  作用:
    用于模拟或生成随机数的模块

  模块函数说明见:
    /python_base_docs_html/随机模块random_xxxx.html

练习:
1. 假设可以作为密码的字符有:
     A-Z
     a-z
     0_9
     下划线
  写一个程序,随机生成六位密码
  8z_A63


包(模块包) package
包是将模块以文件夹的组织形式进行分组管理的方法
  作用:
    1. 将一系列模块进行分类管理,有利于防止命名冲突
    2. 可以在需要时加载一个或部分模块而不是全部模块
  包示例:
    mypack/
        __init__.py
        menu.py
        games/
            __init__.py
            contra.py      # 魂斗罗
            supermario.py  # 超级玛丽
            tanks.py       # 坦克大战
        office/
            __init__.py
            excel.py
            word.py
            powerpoint.py
包的导入语法:
    import 包名 [as 包别名]
    import 包名.模块名 [as 模块新名]
    import 包名.子包名.模块名 [as 模块新名]

    from 包名 import 模块名 as 模块新名
    from 包名.子包名 import 模块名 [as 模块新名]
    from 包名.子包名.模块名 import 属性名[as 属性新名]

    from 包名 import *
    from 包名.模块名 import *


练习:
  1. 编写一个闹钟程序,启动时设置定时时间(小时和分钟)

      到时间后打印"时间到....." 然后退出程序

2. 模拟斗地主发牌,扑克牌共54张:
    花色:
      黑桃('\u2660'), 梅花('\u2663'), 方块('\u2665'), 红桃('\u2666')
    数值:
      A2-10JQK
    大小王
    三个人,每人发17张牌,底牌留三张:
      输入回车,打印第1个人的17张牌
      输入回车,打印第2个人的17张牌
      输入回车,打印第3个人的17张牌
      再输入回车,打印出三张底牌

  3. 继续完成学生信息管理项目
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WIFI模块转换学习笔记 WIFI模块转换是一种将串口信号转换为WIFI信号的技术,可以实现无线通信和远程控制。WIFI模块通常包括芯片和天线两部分,芯片负责信号处理和转换,天线负责信号发射和接收。在学习WIFI模块转换之前,需要了解WIFI技术的基础知识和串口通信的基本原理。 1. WIFI技术的基础知识 WIFI技术是一种无线局域网技术,可以实现电子设备之间的无线通信。WIFI技术使用了IEEE 802.11协议,包括多种不同的标准,如IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、IEEE 802.11n和IEEE 802.11ac等。这些标准都支持不同的频率、速率和传输距离,可以根据具体需求进行选择。 2. 串口通信的基本原理 串口通信是一种通过串行通信协议将数据传输到计算机的方法,其中数据位、停止位和奇偶校验位等参数影响通信成功率。串口通信通常使用RS-232或RS-485标准通信协议。在Arduino开发板中,可以使用串口库函数来实现串口通信。 3. WIFI模块转换的基本原理 WIFI模块转换是一种将串口信号转换为WIFI信号的技术,可以实现无线通信和远程控制。常见的WIFI模块包括ESP8266和ESP32等。这些WIFI模块可以通过简单的AT指令控制,实现WIFI信号的连接和传输。在Arduino开发板中,可以使用ESP8266库或ESP32库函数来控制WIFI模块。 4. WIFI模块转换的实验 为了学习WIFI模块转换,我们可以进行一个简单的实验。首先,我们需要准备一个WIFI模块,如ESP8266或ESP32。接着,我们需要将WIFI模块连接到Arduino开发板中,可以使用杜邦线将WIFI模块的串口引脚(TX、RX)分别连接到Arduino开发板的数字引脚(D1、D2)上。然后,我们需要编写一个Arduino程序,调用ESP8266库或ESP32库函数,实现WIFI信号的连接和传输。在程序中,我们需要设置WIFI的SSID和密码,以及WIFI模块的AT指令。最后,我们可以使用串口调试助手来监控WIFI信号的传输情况,以确保程序的正确性。 总的来说,学习WIFI模块转换需要了解WIFI技术的基础知识和串口通信的基本原理,以及掌握WIFI模块的使用方法和编程技巧。通过实验的实践,可以更好地理解和应用WIFI模块转换技术,实现无线通信和远程控制。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值