python学习-10【模块】

news2024/9/21 20:27:37

1、认识模块

导入模块
  • 使用 import 语句
  • 使用 from … import 语句

1、import modulename [as alias]

  • modulename:表示要导入的模块名
  • as alias:可选参数,为模块起的别名

2、from modulename import name

  • modulename:模块名,区分大小写
  • name:要导入的变量、函数、类等。(如果需要导入模块中的全部 name,可以使用 * 代替
__name__ = ‘__main__’

当一个程序文件中包含了 __name__ = ‘__main__’,表示当前文件会直接运行,且只会在该文件下运行

2、Python 标准库

sys
  • sys.argv 可以从程序外部向程序中传递参数,可以获取命令行中传递的参数,并以列表的形式返回
  • sys.patfrom 可以获取当前的系统平台,即当前的操作系统
  • sys.exit 实现程序中途退出
  • sys.path 获取模块的路径
  • sys.modules 搜索导入的模块(所有加载到内存的模块都会放在 sys.modules 这个全局字典中)
    • sys.modules.values() 获取模块的值
os
  • os.environ.items() 获取系统环境变量
  • os.path.isfile() 判断给定的路径是否为文件
math
  • 圆周率 Π(math.pi)
  • 自然常数(math.e)
  • math.pow() 指数运算

    import math
    result = math.pow(2, 3) # 2 的 3 次方
    
  • math.sqrt() 计算一个数字的平方根

    import math
    result = math.sqrt(8)
    
  • math.ceil() 向上取整

    import math
    result = math.ceil(2.8) # 返回 3
    
  • math.floor() 向下取整

  • math.degrees() 可以将弧度转换为角度

  • math.radians() 可以将角度转换为弧度

  • 计算三角函数:math.sin()、math.cos()、math.tan()(x 必须为弧度)

random

1、random.random() 随机生成 0 到 1 之间的浮点数
() 中不用指定任何数字,数的范围为(0 <= n < 1)

import random
num1 = random.random()

2、random.randint() 随机生成指定范围的整数
在 () 中需要指定两个数字

import random
num1 = random.randint(10, 50)

3、random.uniform() 随机生成指定范围的浮点数
在 () 中需要指定两个整数

import random
num1 = random.uniform(10, 50)

4、random.choice() 从序列中获取随机元素

import random
tuple1 = (1, 2, 3, 4, 5, 6)
num1 = random.choice(tuple1)

3、常用的 Python 模块

时间日期模块

1、time 模块

  • time() 函数可以返回当前的时间戳,返回的是浮点数

  • localtime() 函数将时间戳格式化为本地时间,返回的是 struct_time 对象

    序号属性
    0tm_year(年)比如 2020
    1tm_mon(月)1 到 12
    2tm_mday(日)1 到 31
    3tm_hour(时)0 到 23
    4tm_min(分)0 到 59
    5tm_sec(秒)0 到 61(60 或 61 是闰秒)
    6tm_wday(一周的第几日)0 到 6(0 表示周一)
    7tm_yday(一年中的第几日)1 到 366
    8tm_isdst(是否为夏令时)有三个值 -1、0、1,默认值 - 1 表示夏令时
  • asctime() 用于接收时间元组并返回可读形式的时间字符串

  • sleep() 函数可以让程序休眠,即推迟调用线程的运行。
    该函数接收秒数,表示休眠的时间

  • time.ctime() 函数可以将一个时间戳转化为 time.asctime() 的形式

2、datetime 模块

  • date.MINYEAR:0001

  • date.MAXTEAR:9999

  • date() 函数返回一个包含年月日的日期

    • today() 获取当前的日期

    • strftime格式化输出日期

      符号说明
      %y表示两位数的年份(00-99)
      %Y表示四位数的年份(0001-9999)
      %m月份(01-12)
      %d一月中的某一天(0-31)
      %H小时,24小时制(0-23)
      %I小时,12小时制(01-12)
      %M分钟(00-59)
      %S秒(00-59)
      %a本地简化后的星期名称
      %A本地完整的星期名称
      %b本地简化后的月份名称
      %B本地完整的月份名称

3、calendar 模块

  • month() 方法接受 4 个参数:year(must)、month(must)、w(每日宽度间隔)、I(每行的长度)
  • calendar() 方法返回一个具有多行字符串格式的年历,每 3 个月 1 行
数据加密模块

1、MD5 加密

可以交任意长度的数据加密并压缩成固定长度的数据值,该加密技术属于单向加密

import hashlib
msg = 'abcdefg'
md5_info = hashlib.md5(msg.encode())
encryption = md5_info.hexdigest()

2、SHA 加密

通过散列哈希函数进行数据加密。

SHA-1 会产生 160 位的报文摘要并输出

import hashlib
msg = 'abcdefghij'
sha_info = hashlib.sha1(msg.encode())
encryption = sha_info.hexdigest()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2153234.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为OD机试 - 信号强度(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…

网站渗透这块水太深,你把握不住!但你叔我能(十年经验分享)

很多朋友问我&#xff0c;想搞网络安全&#xff0c;编程重要吗&#xff0c;选什么语言呢&#xff1f; 国内其实正经开设网络安全专业的学校很少&#xff0c;大部分同学是来自计算机科学、网络工程、软件工程专业的&#xff0c;甚至很多非计算机专业自学的。因此不像这三个专业…

【技术文章】ArcGIS Pro如何批量导出符号和工程样式?

目录 1.确定Pro软件版本 2.共享工程样式 3.管理和调用项目样式 制作好的地图&#xff0c;如何快速分享地图中的符号样式用于其它地图的制作&#xff1f; 在ArcMap软件中&#xff0c;可以通过命令一键批量导出所有符号。ArcGIS Pro软件是否也可以批量导出符号用于其它地图…

Java-数据结构-排序-(一) (。・ω・。)

文本目录&#xff1a; ❄️一、排序的概念及引用&#xff1a; ➷ 排序的概念&#xff1a; ➷ 常见的排序算法&#xff1a; ❄️二、插入排序的实现&#xff1a; ➷ 1、直接插入排序&#xff1a; ☞ 直接插入排序的基本思想&#xff1a; ☞ 直接插入排序的实现&#xff1a; ▶…

UI自动化测试(python)Web端4.0

✨博客主页&#xff1a; https://blog.csdn.net/m0_63815035?typeblog &#x1f497;《博客内容》&#xff1a;.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 &#x1f4e2;博客专栏&#xff1a; https://blog.csdn.net/m0_63815035/cat…

PyCharm与Anaconda超详细安装配置教程

1、安装Anaconda&#xff08;过程&#xff09;-CSDN博客 2.创建虚拟环境conda create -n pytorch20 python3.9并输入conda activate pytorch20进入 3.更改镜像源conda/pip(只添加三个pip源和conda源即可) 4.安装PyTorch&#xff08;CPU版&#xff09; 5.安装Pycharm并破解&…

使用 Anaconda 环境在Jupyter和PyCharm 中进行开发

目录 前言 一、在特定环境中使用jupyter 1. 列出所有环境 2. 激活环境 3. 进入 Jupyter Notebook 二、在特定环境中使用pycham 1. 打开 PyCharm 2. 打开设置 3. 配置项目解释器 4. 选择 Conda 环境 5. 应用设置 6. 安装所需库&#xff08;如果需要&#xff09; 总结 &#x1f3…

2024年中国研究生数学建模竞赛C题——解题思路

2024年中国研究生数学建模竞赛C题——解题思路 数据驱动下磁性元件的磁芯损耗建模——解决思路 二、问题描述 为解决磁性元件磁芯材料损耗精确计算问题&#xff0c;通过实测磁性元件在给定工况&#xff08;不同温度、频率、磁通密度&#xff09;下磁芯材料损耗的数据&#xf…

卡西欧相机SD卡格式化后数据恢复指南

在数字摄影时代&#xff0c;卡西欧相机以其卓越的性能和便携性成为了众多摄影爱好者的首选。然而&#xff0c;随着拍摄量的增加&#xff0c;SD卡中的数据管理变得尤为重要。不幸的是&#xff0c;有时我们可能会因为操作失误或系统故障而将SD卡格式化&#xff0c;导致珍贵的照片…

在线骑行网站设计与实现

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装在线骑行网站软件来发挥其高效地信息处理的作用&#xff0c…

C++之深拷贝和浅拷贝*

两者本质&#xff1a; 浅拷贝&#xff1a;简单的赋值拷贝操作 深拷贝&#xff1a;在堆区中重新申请空间&#xff0c;进行拷贝操作new & delete 注意事项&#xff1a;堆区是在地址中重新申请空间&#xff0c;所以后续一系列操作new delete是通过指针* age进行操作&#xff0…

某 XXX 云主机,使用感受

简单来说就是: 垃圾&#xff01; 1. 登录垃圾。 我都已经实名认证了&#xff0c; 手机验证码非要发2遍。非要给我起个很难记住的账户名 2. 文档垃圾。 太高估用户的水平了。 建议做点视频教程。而不是各种文档&#xff0c;互相链接&#xff0c;转来转去&#xff0c; 让人心…

LeetCode[简单] 20.有效的括号

给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括…

NRK3502空气净化器语音芯片方案,本地识别算法+芯片架构

随着环境污染问题的日益严重&#xff0c;空气净化器成为人们居家、办公环境中不可或缺的设备&#xff0c;为了提升用户体验和产品性能&#xff0c;广州九芯电子研发出了一款创新的空气净化器语音芯片方案--NRK3502。此方案结合了本地识别算法与芯片架构&#xff0c;提供Turnkey…

SpringBoot+vue集成sm2国密加密解密

文章目录 前言认识SM2后端工具类实现引入依赖代码实现工具类&#xff1a;SM2Util 单元测试案例1&#xff1a;生成服务端公钥、私钥&#xff0c;前端js公钥、私钥案例2&#xff1a;客户端加密&#xff0c;服务端完成解密案例3&#xff1a;服务端进行加密&#xff08;可用于后面前…

巴蒂克图案识别系统源码分享

巴蒂克图案识别检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…

安全热点问题

安全热点问题 1.DDOS2.补丁管理3.堡垒机管理4.加密机管理 1.DDOS 分布式拒绝服务攻击&#xff0c;是指黑客通过控制由多个肉鸡或服务器组成的僵尸网络&#xff0c;向目标发送大量看似合法的请求&#xff0c;从而占用大量网络资源使网络瘫痪&#xff0c;阻止用户对网络资源的正…

手把手教你java+selenium数据驱动测试框架搭建与实践

最近在看JavaseleniumTestNgExcel的数据驱动&#xff0c;如何使用TestNg和Excel进行数据驱动测试。我其实是个自动化测试小白&#xff0c;工作之余看看这方面的书&#xff0c;照着敲敲代码&#xff0c;慢慢理解&#xff0c;希望通过自己坚持不懈的努力&#xff0c;在测试这个职…

Python语言基础教程(下)4.0

✨博客主页&#xff1a; https://blog.csdn.net/m0_63815035?typeblog &#x1f497;《博客内容》&#xff1a;.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 &#x1f4e2;博客专栏&#xff1a; https://blog.csdn.net/m0_63815035/cat…