美文网首页
Python Tips

Python Tips

作者: Lyudmilalala | 来源:发表于2020-05-16 01:27 被阅读0次

递增递减不能使用++,--[1]

配置

查看特定python版本的pip版本

python3.9 -m pip --version

编程

  1. 递增递减不能使用++,--
i += 1
i = i + 1
  1. 获取dict里Value所对应的Key
list(tasks.keys())[list(tasks.values()).index("hello")]
  1. 按指定特点排列复杂的json object
# 单个条件
tasks.sort(key = lambda k : k['event']["timeslot"])
# 多个条件
tasks.sort(key = lambda k : (k['event']["timeslot"], k['event']["location"]))
  1. 按指定特点寻找最大/最小的复杂的json object
# 单个条件
maxObject = max(objList, key = lambda k : k['event']["timeslot"])
  1. 遍历获取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']
  1. 生成m*n的值为0的矩阵
a = [[0]*m for i in range(n)]
  1. 日期与时间转换

获取当前时间戳

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)
  1. 利用**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)

相关文章

  • 2018-12-19

    Little Tips for Python 1.python中如何使print函数不换行 打开python sh...

  • 使用python抢火车票

    开发环境:python3.6 /splinter/Chrome驱动 tips:splinter是python的一个...

  • Python骚操作:动态定义函数

    标题:Python Tips: Dynamic function definition 作者:Philip Tra...

  • Python Tips

    在Python开发中,将常用功能封装成为接口,并放入Utils工具类中,直接调用,可以提升效率。 常用的函数有: ...

  • Tips of Python

    Python的编码 为了处理英文字符,产生了ASCII码。 为了处理中文字符,产生了GB2312。 为了处理各国字...

  • Python Tips

    num() 对数值list求和 fid.closed 文件对象的属性,logical,判断是否关闭 `globa...

  • Python Tips

    Python中如何获取程序运行的文件夹目录的绝对路径

  • [Python] Tips

    生成重复的字符串print("-" * 100)详细请点击

  • Python Tips

    递增递减不能使用++,-- 获取dict里Value所对应的Key 按指定特点排列复杂的json object 按...

  • python tips

    1. python的第三方库的方法在pycharm中不能自动补全,如何help python->help()-...

网友评论

      本文标题:Python Tips

      本文链接:https://www.haomeiwen.com/subject/ofwkohtx.html