python模块2 math andom e imedatetime模块

Posted woz333333

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python模块2 math andom e imedatetime模块相关的知识,希望对你有一定的参考价值。

知识内容:

1.math模块

2.random模块

3.re模块

4.time模块

5.datetime模块

 

 

 

一、math模块

1.math模块的作用:  它提供了一些基本的数学运算的函数,比如说对数、三角函数、开发、乘方等

 

2.math模块中的内容

1 >>> import math
2 >>> dir(math)
3 [__doc__, __loader__, __name__, __package__, __spec__, acos, acosh, asin, asinh, atan, atan2, atanh, ceil, copysign, cos, cosh, degrees, e, erf, erfc, exp, expm1, fabs, factorial, floor, fmod, frexp, fsum, gamma, gcd, hypot, inf, isclose, isfinite, isinf, isnan, ldexp, lgamma, log, log10, log1p, log2, modf, nan, pi, pow, radians, sin, sinh, sqrt, tan, tanh, tau, trunc]

 

3.math模块的主要方法

(1)常量(e和π)

1 e = 2.718281828459045
2 pi = 3.141592653589793

返回常数:

import math
print(math.pi)
print(math.e)

 

(2)求对数

log(x, a)  # 如果不写a默认为e

log10(x)

1 >>> import math
2 >>> math.log(100, 10)
3 2
4 >>> math.log(10, 100)
5 0.5
6 >>> math.log10(100)
7 2.0
8 >>> math.log10(1000)
9 3.0

 

(3)普通计算

modf(x): 返回x的小数与整数部分

pow(x, y):  计算x**y

sqrt(x): 开方计算

 1 >>> import math
 2 >>> math.modf(5.23)
 3 (0.23000000000000043, 5.0)
 4 >>> math.modf(5.31)
 5 (0.3099999999999996, 5.0)
 6 >>> math.pow(2, 3)
 7 8.0
 8 >>> math.pow(2, 2)
 9 4.0
10 >>> math.sqrt(9)
11 3.0
12 >>> math.sqrt(4)
13 2.0

 

 

 

二、random模块

1.random模块的作用:  生成随机数

 

2.random模块中的内容

1 >>> import random
2 >>> dir(random)
3 [BPF, LOG4, NV_MAGICCONST, RECIP_BPF, Random, SG_MAGICCONST, SystemRandom, TWOPI, _BuiltinMethodType, _MethodType, _Sequence, _Set, __all__, __builtins__, __cached__, __doc__, __file__, __loader__, __name__, __package__, __spec__, _acos, _bisect, _ceil, _cos, _e, _exp, _inst, _itertools, _log, _pi, _random, _sha512, _sin, _sqrt, _test, _test_generator, _urandom, _warn, betavariate, choice, choices, expovariate, gammavariate, gauss, getrandbits, getstate, lognormvariate, normalvariate, paretovariate, randint, random, randrange, sample, seed, setstate, shuffle, triangular, uniform, vonmisesvariate, weibullvariate]

 

3.random模块的主要方法

  • choice(): 用于从序列中任意选择一个元素的函数
  • getrandbits():  生成指定二进制位数的随机整数
  • randrange():  生成指定范围内(包含左边界不包含右边界)随机数(整数)的函数
  • randint():  生成指定范围内(左右边界都包含)随机数(整数)的函数
  • shuffle():  将列表原地打乱
  • sample():  从序列中随机指定数量不重复的元素
  • random():  返回随机生成的一个实数,它在[0,1)范围内
  • uniform():  生成指定范围内(左边界右边界均不包含)随机数(浮点数)的函数
 1 import random
 2 # (0,1)----float    大于0且小于1之间的小数
 3 print(random.random())
 4 
 5 # [1,3]    大于等于1且小于等于3之间的整数
 6 print(random.randint(1, 3))
 7 
 8 # [1,3)    大于等于1且小于3之间的整数
 9 print(random.randrange(1, 3))
10 
11 # 1或者23或者[4,5]
12 print(random.choice([1, 23, [4, 5]]))
13 
14 # 列表元素任意2个组合
15 print(random.sample([1, 23, [4, 5]], 2))
16 
17 # 大于1小于3的小数,如1.927109612082716
18 print(random.uniform(1, 3))

 

 

4.random模块应用

(1)验证码

 1 # 生成一个随机验证码: 前两位是英文字母,后三位是数字
 2 import random
 3 checkcode = ‘‘
 4 
 5 for i in range(5):
 6     current = random.randint(0, 5)
 7     # 字母
 8     if i == 0 or i == 1:
 9         tmp = chr(random.randint(65, 90))
10     # 数字
11     else:
12         tmp = random.randint(0, 9)
13     checkcode += str(tmp)
14 print(checkcode)

 

(2)随机密码生成器

1 import string
2 import random
3 
4 # x中包含了所以的数字、大小写字母和符号
5 x = string.digits + string.ascii_letters + string.punctuation
6 
7 # random中的choice() -> 是从序列中任意选择一个元素
8 pwd = ‘‘.join([random.choice(x) for i in range(8)])
9 print(pwd)

 

 

 

三、re模块

1.re模块的作用: 提供了正则表达式操作所需要的功能

 

2.正则表达式语法

 1 .     默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行
 2 ^     匹配字符开头,若指定flags MULTILINE,这种也可以匹配上(r"^a","\nabc\neee",flags=re.MULTILINE)
 3 $     匹配字符结尾,或e.search("foo$","bfoo\nsdfsf",flags=re.MULTILINE).group()也可以
 4 *     匹配*号前的字符0次或多次,re.findall("ab*","cabb3abcbbac")  结果为[abb, ab, a]
 5 +     匹配前一个字符1次或多次,re.findall("ab+","ab+cd+abb+bba") 结果[ab, abb]
 6 ?     匹配前一个字符1次或0次
 7 {m}   匹配前一个字符m次
 8 {n,m} 匹配前一个字符n到m次,re.findall("ab{1,3}","abb abc abbcbbb") 结果abb, ab, abb]
 9 |     匹配|左或|右的字符,re.search("abc|ABC","ABCBabcCD").group() 结果ABC
10 (...) 分组匹配,re.search("(abc){2}a(123|456)c", "abcabca456c").group() 结果 abcabca456c
11  
12  
13 \A    只从字符开头匹配,re.search("\Aabc","alexabc") 是匹配不到的
14 \Z    匹配字符结尾,同$
15 \d    匹配数字0-9
16 \D    匹配非数字
17 \w    匹配[A-Za-z0-9]
18 \W    匹配非[A-Za-z0-9]
19 s     匹配空白字符、\t、\n、\r , re.search("\s+","ab\tc1\n3").group() 结果 \t
20  

 

 

3.re模块主要方法

 

 

 

4.正则表达式对象

 

 

 

5.re模块应用

 

 

 

 

四、time模块

 

 

 

五、datetime模块

 

以上是关于python模块2 math andom e imedatetime模块的主要内容,如果未能解决你的问题,请参考以下文章

(转)python中math模块常用的方法整理

python第二十课——math模块中常用的函数

python 的math模块

python基础入门之十八 —— 模块和包

Python数学常量

日期0701Python练习003