首页 > 编程语言 >L:python基础知识:数学运算函数,字符串内置函数,math数学模块,random随机模块,datetime和time模块

L:python基础知识:数学运算函数,字符串内置函数,math数学模块,random随机模块,datetime和time模块

时间:2022-10-28 11:10:32浏览次数:59  
标签:函数 datetime tm 数学 模块 time 字符串 2020


数学运算函数

asb(x)

返回绝对值

divmod(x,y)

返回一个(x//y ,x%y)的元组,可以用两个变量来接收它

max(seq) ,min(seq)

返回seq序列的最大值,最小值

pow(x,y)

返回x的y次方

round(x,prec)

返回浮点数x的四舍五入的值,后面是设置保留到第几位小数,默认是0

sum(seq)

返回seq序列的元素和

字符串的内置函数

处理字符串函数

capitalize()

字符串的首字母大写,其余的小写

lower() ,upper()

字符串的字母都转换成小写,大写

swapcase()

字符串的字母大小写互换

title()

字符串中的每个单词的首字母大写,其余的字母小写

替换和查找函数

find( substr ,[start,[end]])

返回字符串中第一次出现子字符串substr的位置,如果没有就返回-1

index(substr,[start,[end]] )

和find函数一样,但是如果找不到substr时就会出现运行时错误

replace(oldstr, newstr, [count])

将oldstr替换为newstr,count为替换次数

rfind(substr ,[start,[end]])

从右侧开始找,返回字符串第一次出现的位置,找不到就返回-1

rindex(substr ,[start,[end]])

和rfind()一样,但是没有会报错

字符串统计函数

count(substr,[start,[end]])

返回substr在字符串出现的次数,统计范围是[start,end)

len(str)

返回字符串得长度

字符串的判断格式函数

startswith(substr) ,endswith(substr)

检查字符串是否是以substr开头的,以substr结尾的

isallnum()

检查字符串是否完全是由字母或数字组成

isalpha()

检查字符串是否只有字母组成

isdigit()

检查字符串中是否只包含数字

isnumeric()

检查字符串中是否只包含数字 (和上面有一点点区别)

islower() , isupper()

检查字符串中的字母是否都是小写 ,大写

isspace()

检查字符串是否都是空格

字符串拆分合并函数

join(seq )

将seq序列中的元素以字符串连接起来,例如​​"+".join(["a","b","c"])​​​的结果是​​a+b+c​

split(sep,[num])

以seq为分隔符分割字符串,num是分割的次数

字符串的对齐函数

center(width[,fillchar])

返回长度是width的字符串,原字符串居中对齐,长度不够就以fillchar对齐,默认是空格填充

ljust( width [, fillchar])

左对齐,其他和上面一样

rjust( width [, fillchar])

右对齐

zfill(width)

右对齐,长度不足的时候前面填充0

常用模块

模块介绍和导入

python模块是一个.py的文件,里面包含了很多python定义的对象和语句 编程的时候如果需要python内置的模块,首先使用import语句将该模块导入才能使用,导入有四种方式:

常规导入

语法:​​import 模块名​​​ ,这是将整个模块直接导入,模块里面的所有变量,对象,函数都可以使用,但是使用的时候格式是:模块名.函数名,例如​​import math math.sin(math.pi/2)​

使用别名导入

语法:​​import 模块名 as 别名​​​ 使用也是和上面差不多,这是调用的时候直接是​​别名.函数名​

部分导入

语法:​​from 模块名 import 变量名/函数名 as 别名​​ ,如果需要导入多个函数或变量,就用空格隔开,而且使用的时候直接使用函数名,不用模块名.函数名

全部导入

语法:​​from 模块名 import *​​ 将所有模块成员都导入,使用直接使用函数名

math数学模块

import math #直接导入

math.e

自然数e

math.pi

圆周率pi

math.ceil(x)

返回不小于x的整数

math.floor(x)

返回不大于x的整数

math.degrees(x)

弧度转度

math.radians(x)

度转弧度

math.exp(x)

返回e的x次方

math.fabs(x)

返回x的绝对值

math.factorial(x)

返回x的阶乘

math.log(x[,base])

返回以base为底的对数,base默认是e

math.sqrt(x)

返回x的平方根

math.modf(x)

返回x的小数和整数部分

注意

math是不能处理复数的,如果需要处理复数需要引入cmath模块​​import cmath cmath.sqrt(-1) #得到的结果是1j​

random随机模块

直接import random导入

注意:python的随机数是伪随机数,由随机种子控制的,按照一定的算法一次生成,其中的随机种子如果不设置的话就会采用时间串来充当,因为时间每一次调用的时间不一样,所以生成的数不一样,所以就有随机的感觉
如果设置了随机种子,无论调用多少次,随机数都是一样的.

import random
random.seed(1)
a=random.randint(0,10) #这里无论执行多少次结果都是一样的

choice(seq)

返回一个从seq(列表,元组,字符串)序列里面随机选的元素

randrange( [start,]stop[,step])

返回一个在[start,stop) 范围内,以step为步长的递增整数序列中的随机项

random()

返回一个[0,1)的随机浮点数

seed(x)

改变随机数生成器的种子

shuffle(seq)

将序列中的元素序列进行打乱

randint(min,max)

返回 一个[min,max]范围内的随机整数,Return a random integer N such that a <= N <= b

uniform(min,max)

返回 一个[min,max)范围内的随机浮点数

sample(seq ,num)

返回从seq里面随机选取num个元素的子序列

例如这样随机洗牌

import random
ls=list(range(1,55))
print(ls)
random.shuffle(ls)
print(ls)

datetime和time模块

这两个都是内置模块,不需要安装,datetime基于time模块进行了封装,所以一般使用datetime
time模块
表示时间的三种格式
时间戳
时间戳表示从1970年1月1号00:00:00开始代现在按秒计算的总秒数,这种方式广泛应用在Unix和Linux系统中
时间元组
time模块提供了一个time.struct_time的类,该类代表一个时间对象,它主要包含 9 个属性:tm_year、tm_mon、tm_mdayr、tm_hour、tm_min、tm_min、tm_sec、tm_wday、 tm_yday、tm_isdst,分别表示年、月、日、时、分、秒、周、一年内第几天和夏实令等。

import time
t=time.localtime()
print(t)
print(t.tm_mday)
'''结果
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=25, tm_hour=9, tm_min=45, tm_sec=26, tm_wday=2, tm_yday=85, tm_isdst=0)
25
'''

格式化时间

将时间的对象转化成更具有可读性

L:python基础知识:数学运算函数,字符串内置函数,math数学模块,random随机模块,datetime和time模块_时间对象


例如:

import time
t=time.localtime()
print(time.strftime("%Y-%m-%d%H:%M:%S",t)) #strftime是将时间对象转化成字符串
#结果:2020-03-2510:18:24
print(time.strptime("2020-3-25","%Y-%m-%d"))
#结果:time.struct_time(tm_year=2020, tm_mon=3, tm_mday=25, tm_hour=0, tm_min=0,
# tm_sec=0, tm_wday=2, tm_yday=85, tm_isdst=-1)
time.sleep(2) #延迟两秒

datetime模块
datetime模块封装了time模块,例如:

import datetime
d=datetime.date.today() #得到当前的年月日,datetime.date(2020, 3, 28)
n=datetime.datetime.now() #得到当前的年月日时分秒,datetime.datetime(2020, 3, 28, 11, 24, 37, 927414)
t1=n+datetime.timedelta(3) #后退三天,默认单位是填,datetime.datetime(2020, 3, 31, 11, 24, 37, 927414)
t2=n+datetime.timedelta(hours=3) #后退三个小时,datetime.datetime(2020, 3, 28, 14, 24, 37, 927414)
t3=t1-t2
print(t3) #2 days, 21:00:00
print(type(t3)) #<class 'datetime.timedelta'>
import datetime,time
#创建时间对象
d1=datetime.datetime(2020,3,23,14,23,23) #datetime.datetime(2020, 3, 23, 14, 23, 23)
#利用时间戳创建datetime对象
d2=datetime.datetime.fromtimestamp(time.time()) #datetime.datetime(2020, 3, 28, 11, 33, 53, 712111)
d3=datetime.datetime.fromtimestamp(1) #datetime.datetime(1970, 1, 1, 8, 0, 1),就是比1970,1,1,0,0,0多了一秒,因为我们时区是第八区,所以多了八个小时

datetime.datetime类的方法和属性

​from datetime import datetime​

L:python基础知识:数学运算函数,字符串内置函数,math数学模块,random随机模块,datetime和time模块_时间对象_02

#datetime.datetime类的方法和属性
from datetime import datetime
d1=datetime.max # datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)
d2=datetime.utcnow() #datetime.datetime(2020, 3, 28, 4, 0, 33, 857137)
d3=datetime.strptime('2020-3-28','%Y-%m-%d') #datetime.datetime(2020, 3, 28, 0, 0)
d4=datetime(2020,3,28) #datetime.datetime(2020, 3, 28, 0, 0)
d5=datetime.strftime(d4,'%m-%d') #'03-28'
d6=d4.strftime('%Y-%m-%d') #'2020-03-28'datetime.datetime这个类里面就有strftime这个方法

​dt = datetime.datetime.now ()​

L:python基础知识:数学运算函数,字符串内置函数,math数学模块,random随机模块,datetime和time模块_时间对象_03

#练习
#输入类似 2020-3-8的日期字符串,输出星期几,并判断该日是当年的第几天。
from datetime import datetime
s=input("输入格式是2020-3-28的日期: ")
d=datetime.strptime(s,'%Y-%m-%d')
print("{}是{},当年的第{}天".format(s,d.isoweekday(),(d-datetime(d.year,1,1)).days+1))
#结果:2020-1-2是4,当年的第2天


标签:函数,datetime,tm,数学,模块,time,字符串,2020
From: https://blog.51cto.com/u_14782827/5803793

相关文章

  • 数论-欧拉函数 学习笔记
    一、欧拉函数1.欧拉函数的定义欧拉函数(Euler’stotientfunction),即,表示的是小于等于和比如说。当n是质数的时候,显然有。2.欧拉函数的一些性质欧拉函数是积性函数。......
  • 利用OFFSET函数与COUNTA函数创建动态名称,数据动态变化
    我们在excel中可以利用OFFSET函数与COUNTA函数的组合,可以创建一个动态的名称。动态名称是名称的高级用法,能够实现对一个未知大小的区域的引用,利用OFFSET函数与COUNTA函数创......
  • SetWindowPos 函数详解
    //声明:SetWindowPos(hWnd:HWND;{窗口句柄}hWndInsertAfter:HWND;{窗口的Z顺序}X,Y:Integer;{位置}cx,cy:Integer;{大小}uFlags:UINT{选项}):BOOL;//hWndIn......
  • Silky微服务框架之模块
    模块的定义Silky是一个包括多个nuget包构成的模块化的框架,每个模块将程序划分为一个个小的结构,在这个结构中有着自己的逻辑代码和自己的作用域,不会影响到其他的结构。......
  • 【Serverless】快速集成云函数HarmonyOS
    ​1、学习目标什么是AppGalleryConnect云函数云函数是一项Serverless计算服务,提供FaaS(FunctionasaService)能力,可以帮助开发者大幅简化应用开发与运维相关事务,降低应......
  • TS中的 InstanceType函数
    InstanceType函数 文档中介绍:该函数返回(构造)由某个构造函数构造出来的实例类型组成的类型classC{x=0;y=0;}typeT0=InstanceType<typeofC>;......
  • 哈希加密与日志模块
    一、hashlib模块1、简介什么是哈希模块:​ hashlib模块是一种加密模块,内部存有多种加密类型加密的作用:​ 可将明文数据进行加密,转换成一串密文,密文越长说明文件加密......
  • 正则表达式简介及正则模块
    今日内容总结正则表达式正则表达式介绍字符组特殊符号量词贪婪匹配与非贪婪匹配转义符正则模块今日内容详细正则表达式正则表达式介绍正则表达式一般用来表......
  • requests模块及openpyxl模块简介
    昨日内容回顾正则表达式字符组字符组内部字符为并列关系。连续字符用'-'连接。特殊符号开头、结尾、数字、任意字符、字母数字下划线。量词多次、一次、指......
  • hashlib模块、subprocess模块及logging模块简介
    昨日内容回顾第三方模块的下载使用pip语句下载,使用模块名==版本号指定模块版本,使用-i仓库地址改变下载源。使用pycharm下载操作更简单。request模块模拟浏览器......