Python(20):Python常用模块sys、random、math



一、sys运行时环境模块

sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。

用法:

  • sys.argv:命令行参数List,第一个元素是程序本身路径
  • sys.modules.keys():返回所有已经导入的模块列表
  • sys.exc_info():获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
  • sys.exit(n):退出程序,正常退出时exit(0)
  • sys.hexversion:获取Python解释程序的版本值,16进制格式如:0x020403F0
  • sys.version:获取Python解释程序的版本信息
  • sys.maxint:最大的Int值
  • sys.maxunicode:最大的Unicode值
  • sys.modules:返回系统导入的模块字段,key是模块名,value是模块
  • sys.path:返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
  • sys.platform:返回操作系统平台名称
  • sys.stdout:标准输出
  • sys.stdin:标准输入
  • sys.stderr:错误输出
  • sys.exc_clear():用来清除当前线程所出现的当前的或最近的错误信息
  • sys.exec_prefix:返回平台独立的python文件安装的位置
  • sys.byteorder:本地字节规则的指示器,big-endian平台的值是'big',little-endian平台的值是'little'
  • sys.copyright:记录python版权相关的东西
  • sys.api_version:解释器的C的API版本
import sys
 
print('命令行参数如下:')
for i in sys.argv:
   print(i)
 
print('\n\nPython 路径为:', sys.path, '\n')

#命令行参数如下:
#C:/PycharmProjects/untitled/run.py


#Python 路径为: ['C:\\PycharmProjects\\untitled', 'C:\\PycharmProjects\\untitled', 'C:\\Python\\Python38\\python38.zip', 'C:\\Python\\Python38\\DLLs', 'C:\\Python\\Python38\\lib', 'C:\\Python\\Python38', 'C:\\PycharmProjects\\untitled\\venv', 'C:\\PycharmProjects\\untitled\\venv\\lib\\site-packages', 'C:\\Users\\bobin.yang\\AppData\\Roaming\\Python\\Python38\\site-packages', 'C:\\Python\\Python38\\lib\\site-packages', 'C:\\Python\\Python38\\lib\\site-packages\\win32', 'C:\\Python\\Python38\\lib\\site-packages\\win32\\lib', 'C:\\Python\\Python38\\lib\\site-packages\\Pythonwin']

二、random随机数模块

随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。

Python包含以下常用随机数函数:

  • random(): 随机生成下一个实数,它在[0,1)范围内
  • randint(x,y): 随机生一个整数int类型,可以指定这个整数的范围。
  • randrange ([start,] stop [,step]): 从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1
  • uniform(x, y): 随机生成下一个实数,它在[x,y]范围内。
  • choice(seq): 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
  • sample(sequence,length): 可以从指定的序列中,随机的截取指定长度的片断,不修改原序列。
  • shuffle(lst): 将序列的所有元素随机排序。
  • seed([x]): 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
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]

三、math数学

math模块为浮点运算提供了对底层C函数库的访问:

import math

print(math.cos(math.pi / 4))
# 0.70710678118654757
print(math.log(1024, 2))
# 10.0

posted on 2019-11-28 20:18  springsnow  阅读(352)  评论(0编辑  收藏  举报

导航