美女被叉叉的动态图,皇家邮电大学,魏杰彪
目录
模块是一系列功能的集合体,而函数是某一个功能的集合体,因此模块可以看成是一堆函数的集合体。一个py文件内部就可以放一堆函数,因此一个py文件就可以看成一个模块。如果这个py文件的文件名为module.py
,模块名则是module
。
在python中,总共有以下四种形式的模块:
一般我们使用import和from...import...导入模块。
# run.py import spam # from the spam.py import spam
import首次导入模块发生了3件事:
模块的重复导入会直接饮用之前创造好的结果,不会重复执行模块的文件,即重复导入会发生:spam=spam=模块名称空间的内存地址
# run.py import spam as sm money = 111111 sm.money sm.read1() # 'spam模块:1000' sm.read2 sm.change() print(money) # 1000
导入多个模块
import spam, time, os # 推荐使用下述方式 import spam import time import os
# run.py from spam import money money = 10 print(money) # 10
from...import...首次导入模块发生了3件事:
导入文件内所有的功能:
# spam.py __all__ = ['money', 'read1'] # 只允许导入'money'和'read1' # run.py from spam import * # 导入spam.py内的所有功能,但会受限制于__all__
相同点:
不同点
# m1.py print('from m1.py') from m2 import x y = 'm1'
# m2.py print('from m2.py') from m1 import y x = 'm2'
# run.py import m1
importerror: cannot import name 'y'
importerror: cannot import name 'x'
importerror: cannot import name 'y'
# m1.py print('from m1.py') def func1(): from m2 import x print(x) y = 'm1' # m2.py print('from m2.py') def func1(): from m1 import y print(y) x = 'm2'
# m1.py print('from m1.py') y = 'm1' from m2 import x # m2.py print('from m2.py') x = 'm2' from m1 import y
模块其实就是一个文件,如果要执行文件,首先就需要找到模块的路径(某个文件夹)。如果模块的文件路径和执行文件不在同一个文件目录下,我们就需要指定模块的路径。
模块的搜索路径指的就是在导入模块时需要检索的文件夹。
导入模块时查找模块的顺序是:
import sys print(f"sys.path: {sys.path}") ''' ['/users/mac/desktop/video/python/day16', '/users/mac/desktop/video/python', '/applications/anaconda3/lib/python36.zip', '/applications/anaconda3/lib/python3.6', '/applications/anaconda3/lib/python3.6/lib-dynload', '/applications/anaconda3/lib/python3.6/site-packages', '/applications/pycharm.app/contents/helpers/pycharm_matplotlib_backend'] '''
强调:sys.path的第一个值是当前执行文件的所在的文件夹
import random # 大于0且小于1之间的小数 print(random.random()) 0.42866657593385415 # 大于等于1且小于等于3之间的整数 print(random.randint(1, 3)) 3 # 大于等于1且小于3之间的整数 print(random.randrange(1, 3)) 2 # 大于1小于3的小数,如1.927109612082716 print(random.uniform(1, 3)) 2.1789596280319605 # 列表内的任意一个元素,即1或者‘23’或者[4,5] print(random.choice([1, '23', [4, 5]])) [4, 5] # random.sample([], n),列表元素任意n个元素的组合,示例n=2 print(random.sample([1, '23', [4, 5]], 2)) ['23', 1] lis = [1, 3, 5, 7, 9] # 打乱l的顺序,相当于"洗牌" random.shuffle(lis) print(lis) [9, 1, 5, 7, 3]
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
新手学习Python2和Python3中print不同的用法
Python基于os.environ从windows获取环境变量
网友评论