当前位置: 首页 > article >正文

python:模块

 1.模块的导入方式

'''模块
模块里能定义函数、类和变量:也可以包含可执行的代码
'''
#方式一
import math
print(math.sqrt(9))
#方式二
from math import sqrt
print(sqrt(9))
#方式三
from math import *
print(sqrt(9))

运行结果:

3.0
3.0
3.0

2.模块起别名

'''模块
定义别名
'''
import math as m
print(m.sqrt(25))

from math import sqrt as s
print(s(9))

运行结果:

5.0
3.0

3.模块的调用顺序

1.自己的文件名不要和模块名重复

'''
1.当前目录
2.PYTHONPATH变量下的每个目录
3.默认路径:比如:unix下
/user/local/lib/bin/python/
模块搜索路径存储在system模块下的sys.path中
   变量包含以上三个路径
注意:1.自己的文件名不要和模块名重复
     2.当from 模块 import 功能时,如果功能名称重复时,
    调用的是后定义的模块
'''
import random
num = random.randint(1,10)
print(num)

运行结果:

Traceback (most recent call last):
  File "D:/pycharm项目/数值类型.py", line 13, in <module>
    num = random.randint(1,10)
AttributeError: module 'random' has no attribute 'randint'

原因:自己在当前目录下建立了一个与random重名的文件,调用时按顺序调用。

 2.当from 模块 import 功能时,如果功能名称重复时,调用的是后定义的模块或导入的功能。

from time import sleep
def sleep():
    print("这是后定义的sleep功能")
sleep(3)
def sleep():
    print("这是后定义的sleep功能")
from time import sleep
sleep(3)

 运行结果:

    sleep(3)
TypeError: sleep() takes 0 positional arguments but 1 was given
进程已结束,退出代码0

原因:即在导入模块功能后又定义了一个同名的函数,从而导致在执行时调用后定义的函数功能。第二次把定义的函数功能放在前面后导入模块功能,程序正常运行。

3.命名重复的严重性

#命名重复的严重性
import time
print(time)
time=10
print(time)
#pyhhon 数据是通过引用调用进行传递的

运行结果:

<module 'time' (built-in)>
10

原因:pyhhon 数据是通过引用调用进行传递的。


http://www.kler.cn/a/614594.html

相关文章:

  • 解决 macOS (M1 Pro) 上使用 Vite 进行 Build 打包时 Node 进程内存溢出的问题
  • flutter 专题 七十四 Flutter开发之动画
  • 0101-vite创建react_ts-环境准备-仿低代码平台项目
  • 【SPP】蓝牙串口协议应用层深度解析:从连接建立到实战开发
  • C++进阶——封装哈希表实现unordered_map/set
  • Spring学习笔记06——bean、java bean、spring bean、POJO几个概念讲解
  • 【网络协议详解】—— STP 、RSTP、MSTP技术(学习笔记)
  • Pycharm(八):字符串切片
  • Nvidia Driver英伟达驱动安装-Ubuntu-CUDA
  • AB包介绍及导出工具实现+AB包资源简单加载
  • OpenBMC:BmcWeb 生效路由5 优化trie
  • 网络通信微服务
  • Vue3组件事件用户信息卡练习
  • 扩散模型总结
  • 外观模式(Facade Pattern):复杂系统的“统一入口”
  • 快速入手-基于Django-rest-framework的ModelViewSet终极版(七)
  • 前端路由守卫与后端权限验证,仅使用路由守卫是否安全?
  • 前端 VSCODE 插件开发总结 (后续将出专栏详细讲解开发的细节...)
  • 关于音频采样率,比特,时间轴的理解
  • Reactive编程:应用场景和传统比较