标签:一个 python tab pre body art star random模块 方法
随机模块:Random
作用:
用于模拟或者生成随即输出的模块儿
用法示意:
import random as R
函数名 | 描述 |
---|---|
R.random() | 返回一个(0,1)之间的堆积实数 |
R.unifrom(a,b) | 返回[a,b]之间的随机实数 |
R.randin(a,b) | 返回在[a,b] 范围内的整数 |
R.randrange | 返回range(start,stop,step)中的随机数 |
R.chise(seq) | 从序列中返回任意元素 |
R.shuffle(seq[random]) | 随机指定序列顺序(打乱顺序) |
R.sample(seq,n) | 从序列中选择n个随机契额不重复的元素 |
import语句
from import语句
from import *语句
示例:
def myfac(n):
‘‘‘这是函数的文档字符串‘‘‘
print("正在计算n的阶乘")
def mysum(n):
print("!!!正在计算1 + 2 + 3 + .... + %d的和" % n)
name1 = "Audi"
name2 = "tesla"
print("mymod.py 文件被加载并导入")
print("当前我这个模块在:", __file__)
print("mymod.py模块的模块名为:", __name__)
if __name__ == ‘__main__‘:
print("您正在用 python3 把 mymod.py当主模块运行")
else:
print("此模块是被import 导入运行的")
import 语句查找模块文件的路径顺序:
import 模块名 # 去哪儿找这个 “模块名.py”
1. 搜索内建模块
2. 搜索程序运行时的路径(当前路径)
3. sys.path 提供的路径
sys.path 是一个列表,内部存入的都是模块的搜索路径
>>> import sys
>>> print(sys.path)
模块被导入和执行的过程:
__doc__属性:用于绑定模块的文档字符串 |
---|
__file__属性:用于绑定模块的文件路径名 |
__name__属性:用来记录模块自身的名字 |
示例:
print("mymod.py 文件被加载并导入")
print("当前我这个模块在:", __file__)
print("mymod.py模块的模块名为:", __name__)
if __name__ == ‘__main__‘:
print("您正在用 python3 把 mymod.py当主模块运行")
else:
print("此模块是被import 导入运行的")
作用:
当 from mod import * 语句导入时,只导入__all__列表内的属性
说明:
__all__列表是存放可导出属性的字符串列表
示例:
__all__ = [‘f1‘, ‘name1‘]
def f1():
f2()
f3()
def f2():
pass
def f3():
pass
name1 = ‘aaaaa‘
name2 = ‘bbbbb‘
模块的隐藏属性:
模块中以‘_’开头的属性,在用 from mod import * 时不被导入,也称为隐藏属性
包是将模块文件夹的组织形式进行分组管理的方法
作用:
将一系列模块进行分类管理,有利于防止命名冲突
可以在需要的时候加载一个或者部分模块
示例:
mypack/
__init__.py
menu.py
games/
__init__.py
contra.py
supermario.py
tanks.py
office/
__init__.py
excel.py
word.py
包的导入:
同模块的导入规则 |
---|
all.py中的__all__列表
作用:
用来记录有哪些模块儿或包需要导入
当from 包 import * 语句导入模块儿时,只查找__all__中所有模块儿或者子包
说明:
__all__列表同样只在from mod import * 起作用
包的相对导入:
包的相对导入是指包内模块的相互导入
语法:
from 相对路径包或模块 import 属性或模块名
或
from 相对路径包或模块 import *
相对路径:
在from import语句和 from imoprt *语句中可以使
用相对路径
-
示例:
# file : mypack/games/contra.py
def play():
print("正在玩魂斗罗....")
def gameover():
# 调用mypack/menu.py里的show_menu
# 1. 用绝对导入方式导入
# from mypack.menu import show_menu
# show_menu()
# 2. 用相对导入方式导入
from ..menu import show_menu
show_menu()
# 调用mypack/games/tanks.py 里的play()
# 1. 绝对导入
# from mypack.games.tanks import play
# 2. 相对导入
# from .tanks import play
from ..games.tanks import play
# from ...mypack.games.tanks import play # 出错
play()
print("魂斗罗模块被加载")
练习:
标签:一个 python tab pre body art star random模块 方法
原文地址:https://www.cnblogs.com/DylanSkyDanger/p/9833750.html