2022/6/19——Python之string、random、datetime

1、string模块

字符串常量:

复制代码
import string

print(string.ascii_lowercase)  #小写字母:'abcdefghijklmnopqrstuvwxyz'
print(string.ascii_uppercase)  #大写字母:'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
print(string.ascii_letters)    #所有字母:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.digits)

print(string.digits)           #十进制数字:'01234567'
print(string.hexdigits)        #十六进制数字:'0123456789abcdefABCDEF'
print(string.octdigits)        #字符串 ‘01234567’,八进制数字:'01234567'
复制代码

常用方法:

复制代码
str = "my name is lily"
print(str.capitalize())   #将字符串首字母大写:My name is lily

print(str.center(20))     #将字符串用空格填充成一个长度为width的字符串,原字符串内容居中

print(str.count('i'))     #返回字符串串i在str中出现的次数

print(str.endswith("lily"))   #True

print(str.find('i'))  #返回字符串i在字符串str中的位置索引,没有则返回-1

print(str.index('i'))  #返回字符串i在字符串str中的位置索引,如果不在于str中会抛出异常

print(str.rfind('i'))   #输出结果为12,从右边开始查找,与find函数类似

print(str.rindex('i'))   #从右边开始查找,与index()函数类似

print(str.isalnum())   #如果str至少有一个字符并且都是字母或者数字则返回True,否则返回False。

print(str.isalpha())   #如果str至少有一个字符并且都是字母则返回True,否则返回False

print(str.isdigit())   #如果str只包含数字则返回True,否则返回False

print(str.islower())   #如果str存在区分大小写的字符,并且都是小写则返回True,否则返回False

print(str.isupper())                #如果str存在区分大小写的字符,并且都是大写则返回True,否则返回False
print(str.istitle())    #如果str是标题化的(单词首字母大写)则返回True,否则返回Flase。


print(str.title())     #将str标题化(将所有单词变为首字母大写,其余字母小写)。

print(str.ljust(width)) #返回一个原字符串左对齐并使用空格填充至长度width的新的字符串。


print(str.rjust(width))  #返回一个原字符串右对齐并使用空格填充至长度width的新的字符串
print(str.lower())             #将字符串str中所有大写字符变为小写。
print(str.upper())             #将字符串str中所有小写字符变为大写

print(str.lstrip())  #去掉str左边不可见字符
print(str.rstrip())  #去掉str右边不可见字符
print(str.partition(s))   #用s将字符串str分成三个值

print(str.rpartition(s))  #从右边开始,用s将字符串str分成三个值,与partition()类似
print(str.replace(a,b))  #将字符串str中的a替换成b
print(str.split(s))   #以s为分隔符切片str

print(str.startswith(s))   #检查字符串str是否是以s开头,是则返回True,否则返回Flase
print(str.strip())   #去掉左右两边不可见字符
print(str.zfill(width))   #返回长度为width的字符串,原字符串右对齐,前面填充0
复制代码

2、random模块

random.random()随机生成0到1之间的浮点数[0.0,1.0)。注意的是返回的随机数可能会是0但不可能为1,即左闭右开的区间。

import random

print(random.random())  #0.7009970270567074

random.randint(a,b):随机生成a与b之间的整数[a,b],a<=n<=b,随机整数不包含b时[a,b)可以使用random.randrange()方法。

import random

print(random.randint(0,100))   #22

random.randrange(start,stop,step):按步长step随机在上下范围内取一个随机数,start<=n<stop

import random

print(random.randrange(0,100,10))   #20

random.uniform(a,b):随机生成a与b之间的浮点数[a,b],a<=n<=b

print("uniform: ",random.uniform(5,10))
#uniform: 5.119790163375776

random.choice()从列表中随机取出一个元素,比如列表、元祖、字符串等。注意的是,该方法需要参数非空,否则会抛出 indexerror 的错误。

print("choice: ",random.choice("www.yuanxiao.net"))
#choice: y

random.shuffle(items) 把列表 items 中的元素随机打乱。注意的是,如果不想修改原来的列表,可以使用 copy 模块先拷贝一份原来的列表。

num = [1, 2, 3, 4, 5]
random.shuffle(num)
print("shuffle: ",num)
#shuffle: [1, 3, 5, 4, 2]

random.sample(items, n)从列表 items 中随机取出 n 个元素。

num = [1, 2, 3, 4, 5]
print("sample: ",random.sample(num, 3))
#sample: [4, 1, 5]

3、日期时间

获取当前时间戳

复制代码
import time

t = time.time()

millis1 = int(t)
print('10位时间戳:{}'.format(millis1))

millis2 = int(t * 1000)
print('13位时间戳:{}'.format(millis2))

打印结果:
10位时间戳:1594800086
13位时间戳:1594800086816
复制代码

格式化时间:

import time

now = time.strftime("%Y-%m-%d %H:%M:%S")
print('当前时间格式化:{}'.format(now))

now2 = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(1594368331))
print('指定时间格式化:{}'.format(now2))

打印结果:
当前时间格式化:2020-07-15 16:08:57
指定时间格式化:2020-07-10 16:05:31

 

格式化符号表:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

格式化时间转时间戳:

import time

str = '2020-07-10 16:05:31'
ts = time.mktime(time.strptime(str,"%Y-%m-%d %H:%M:%S"))
print('格式化时间转时间戳:{}'.format(int(ts)))

获取今天的日期:

import time
import datetime

today1 = time.strftime("%Y-%m-%d")
print(today1)

today2 = datetime.date.today()
print(today2)

 

时间转日期格式:

import time
import datetime

d1 = time.strftime('%Y-%m-%d',time.localtime(1594804107))
print('时间戳转日期:{}'.format(d1))

d2 = datetime.date.fromtimestamp(1594804107)
print('时间戳转日期:{}'.format(d2))

两个日期相差天数:

import datetime

a = datetime.date(2020, 7, 1)
b = datetime.date(2020, 7, 15)
print('b的日期减去a的日期:{}'.format(b.__sub__(a).days))
print('a的日期减去b的日期:{}'.format(a.__sub__(b).days))

 

更多请参考:https://www.cnblogs.com/fengyumeng/p/13529277.html

 

posted on   水中雨  阅读(48)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示