递增递减不能使用++,--[1]
配置
查看特定python版本的pip版本
python3.9 -m pip --version
编程
- 递增递减不能使用++,--
i += 1
i = i + 1
- 获取dict里Value所对应的Key
list(tasks.keys())[list(tasks.values()).index("hello")]
- 按指定特点排列复杂的json object
# 单个条件
tasks.sort(key = lambda k : k['event']["timeslot"])
# 多个条件
tasks.sort(key = lambda k : (k['event']["timeslot"], k['event']["location"]))
- 按指定特点寻找最大/最小的复杂的json object
# 单个条件
maxObject = max(objList, key = lambda k : k['event']["timeslot"])
- 遍历获取list中满足条件的所有值并重新渲染
>>> a
[{'name': 'Alice', 'age': 10}, {'name': 'Bob', 'age': 8}, {'name': 'Carole', 'age': 12}, {'name': 'Daniel', 'age': 4}, {'name': 'Eric', 'age': 16}]
>>> b = [p["name"]+" is elder than 10" for p in a if p["age"] > 10]
>>> b
['Carole is elder than 10', 'Eric is elder than 10']
- 生成m*n的值为0的矩阵
a = [[0]*m for i in range(n)]
- 日期与时间转换
获取当前时间戳
import time
current = time.time()
通过strftime
实现时间转字符串
import time
current = time.localtime()
timestr = time.strftime("%Y-%m-%d %H:%M:%S.%f%z", current)
python中时间日期格式化符号:
%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)
%f 微秒
%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 当前时区的名称. # python3.8亲测%Z无效,%z有效
%% %号本身
也可以使用datetime
类
import datetime
current = datetime.datetime.now()
timestr = current.strftime("%Y-%m-%d %H:%M:%S.%f%z")
直接强转datetime
类可以得到一个格式为%a %b %d %H:%M:%S %Y
的字符串
import datetime
current = datetime.datetime.now()
timestr = str(current)
通过strptime
实现字符串转时间
import datetime
timestr = str(datetime.datetime.now())
current = datetime.datetime.strptime(timestr, '%Y-%m-%dT%H:%M:%S.%f%z')
通过timedelta
实现时间的加减
from datetime import datetime, timedelta
current = datetime.now()
two_hour_later = current + timedelta(hours=2)
one_day_earlier = current - timedelta(days=1)
ten_minute_and_twenty_seconds_later = current + timedelta(minutes=10, seconds=20)
five_microseconds_earlier = current - timedelta(microseconds=5)
- 利用
**kargs
多层传参提供给不同的对象和功能使用
import time
import json
def send(platform, taskRequest):
print("Send task " + taskRequest + " to " + platform)
class Task:
def __init__(self, **kargs):
self.name = "Untitled Task"
if "name" in kargs:
self.name = kargs.get("name")
self.name = self.name + "_" + time.strftime("%Y-%m-%d", time.localtime())
if "shots" in kargs:
self.shots = kargs.get("shots")
if "cal_matrix" in kargs:
self.cal_matrix = kargs.get("cal_matrix")
def submit_task(**kargs):
platform = kargs.get["platform_path"] if "platform_path" in kargs else "default platform submit"
t = Task(**kargs)
print(t)
send(platform, json.dumps(t.__dict__))
submit_task(platform_path="platform1 submit", name="Hello", dummy="Dummy", shots=200, cal_matrix=True)
网友评论