python作为一个灵活性很强的语言,不仅仅由于他的语法和第三方库的充足,还有其内置的标准函数库,不用安装任何软件和库就可以使用,现在我们来看一下python自带了哪些标准库。
python随机数 (random)
python的(random)库提供了产生随机数的方法,如下是random的常用方法
我们可以按照如下方式使用:
import random
print(random.random()) #产生0.0-1.0之间的随机浮点数
print(random.uniform(1,5))#产生1-5之间的随机浮点数
print(random.randint(1,5)) #产生1-5之间的随机整数
值得一提的是python的random随机数并不是真的随机数,而是算法根据“种子seed”产生的一组数字,预设这个seed以电脑系统的时间为主,因此如果种子相同,就会产生相同的随机数,如下为演示
import random
random.seed(1)
print(random.random())
random.seed(1)
print(random.random())
这里产生的随机数就是完全一样的
python数学(math)
数学(math)是与数学运算的相关方法,常见的使用方法如下
python数学统计函数(statistics)
数学统计函数适用于数据的统计分析,statistics方法可以很快的算出平均数,中位数,标准差,众数等数据,功能只能说够用,需要更专业的统计函数则需要参考numpy之类的第三方库,如下是statistics的基本用法
python日期和时间(datatime)
datatime有下列处理时间和日期的方法
如下代码可以打印出当前的年月日
import datetime
today = datetime.date.today()
print(today)
也可以使用如下方式运算两个时间相差的天数
import datetime
d1 = datetime.date(2020, 6, 24)
d2 = datetime.date(2023, 5, 24)
print(abs(d1-d2).days)
我们可以透过datetime.timedelta 增加或减少日期或时间,本身包含 days、seconds、microseconds、milliseconds、minutes、hours、weeks 的属性,属性的预设值都是 0,如下为范例
import datetime
today= datetime.datetime.now()
print(today - datetime.timedelta(days=1))
print(today + datetime.timedelta(days=1))
print( today + datetime.timedelta(weeks=1))
python时间处理(time)
time函数可以取得当前时间和对当前时间进行操作,如下是time库的常用方法
import time
t = time.time() #获取当前时间戳
t1 = time.localtime(t) #格式化时间戳为本地时间
t2 = time.strftime('%Y/%m/%d %H:%M:%S',t1) #格式化时间为自定义的时间
time.sleep(1) #暂停1秒
python的日历(calendar)
我们可以使用calendar提供的处理日期的方法来输出需要的日期格式,如下是常用方法
python的正则表达式(re)
正则表达式(Regualr expression)也可以称之为正规表达式,是一种强大且使用的字符串处理方法,透过正则表达式,我们可以定义需要的文字规则,找出符合规则的字符,几乎常见的程序语言都支持正则表达式,正则表达式有以下常用方法
我们可以用如下范例代码来运行re
import re
role = re.compile(r'\d\d\d') # 定义需要寻找的字符,这里标识找三个连续数字
result = role.search('abc123xyz') # 用定义好的规则去寻找目标字符串
if result == None:
print('找不到资料') # 没有匹配就印出找不到资料
else:
print(result.group())
python的文件操作(os)
python的os库提供了文件的操作方法,可以对文件进行重命名,编辑,删除等其他系统相关操作,如下是os库常用方法
python的查找匹配档案(glob)
python的glob函数可以使用名称与路径的方式,查找出匹配的档案或文件夹,找到文件后可以搭配os的重命名或open打开文件来实现文件的各种操作
我们可以使用glob.glob(path)来以list方式回传找到的文件或文件夹名称,也可以使用glob.iglob(path)来以generator 方式回传找到的文件或文件夹名称,如下为使用范例:
import glob
print(glob.glob(r'./test/*')) # 找出所有档案
print(glob.glob(r'./test/*.txt')) # 找出所有后缀为 .txt 的档案print(glob.glob(r'./test/[0-9].txt')) # 找出所以名称为一个数字,后缀为 .txt 的档案
print(glob.glob(r'./test/????.*')) # 找出所有档名有四个字符的档案print(glob.glob(r'./test/t*.*')) # 找出所有 t 开头的档案
print(glob.glob(r'./test/*e*.*')) # 找出所有档名里有 e 的档案