python大杂烩

1,浮点数。python中的计算

(转载自知乎)

Python 2.7 中, a / b = c,如果 a 和 b 均为 integer,则结果 c 也会被丢掉小数部分然后变成 integer 例如:5 / 2 = 2,若要准确的小数结果,将 a 或 b 变为 floating-point number 即可:5.0 / 2 = 2.5 5 / 2.0 = 2.5;Python 3 中则不同:5 / 2 = 2.5 。

所以如果遇到float(a)/b

输出的print “%.3f”%c, f表示浮点数,然后.3表明小数后3位

2.判断一个列表是否为空

判断一个 list 是否为空

(转载自http://blog.csdn.net/yelbosh/article/details/7558981)

传统的方式:

if len(mylist):
    # Do something with my list
else:
    # The list is empty

由于一个空 list 本身等同于 False,所以可以直接:

if mylist:
    # Do something with my list
else:
    # The list is empty

3.python中的时间处理转自http://www.yihaomen.com/article/python/330.htm

用 Python 做项目时,经常会遇到与日期转换相关,日期计算相关的功能,动不动就要去查python手册,感觉麻烦,因此把自己常用的一些东西,总结了一下,总体说来到目前为止遇到如下一些需求:1. 用python 把datetime转成字符串2. 用python 把字符串转成datetime3. 用python 把字符串转成时间戳形式4. 用python 把时间戳转成字符串形式5. 用python 把把datetime类型转外时间戳形式6. 用python 计算两个日期之间的差7. 用python 计算两个日期的 timestamp 差值8. 用python 比较两个日期的大小9. 指定日期加上 一个时间段,天,小时,或分钟之后的日期 下面是测试代码:
#coding:utf-8
‘‘‘
base on python 2.7
Created on 2012-12-14
@author: yiahomen.com
‘‘‘
import datetime
import time

def datetime_toString(dt):
    """把datetime转成字符串"""
    return dt.strftime("%Y-%m-%d")

def string_toDatetime(string):
    """把字符串转成datetime"""
    return datetime.datetime.strptime(string, "%Y-%m-%d")

def string_toTimestamp(strTime):
    """把字符串转成时间戳形式"""
    return time.mktime(string_toDatetime(strTime).timetuple())

def timestamp_toString(stamp):
    """把时间戳转成字符串形式"""
    return time.strftime("%Y-%m-%d-%H", time.localtime(stamp))

def datetime_toTimestamp(dateTime):
    """把datetime类型转外时间戳形式"""
    return time.mktime(dateTime.timetuple())

def substract_DateTime(dateStr1,dateStr2):
    """ 返回两个日期之间的差 """
    d1=string_toDatetime(dateStr1)
    d2=string_toDatetime(dateStr2)
    return d2-d1

def substract_TimeStamp(dateStr1,dateStr2):
    """ 两个日期的 timestamp 差值 """
    ts1= string_toTimestamp(dateStr1)
    ts2= string_toTimestamp(dateStr2)
    return ts1-ts2

def compare_dateTime(dateStr1,dateStr2):
    """两个日期的比较, 当然也可以用timestamep方法比较,都可以实现."""
    date1 = string_toDatetime(dateStr1)
    date2 = string_toDatetime(dateStr2)
    return date1.date()>date2.date()

def dateTime_Add(dateStr,days=0,hours=0,minutes=0):
    """ 指定日期加上 一个时间段,天,小时,或分钟之后的日期 """
    date1= string_toDatetime(dateStr)
    return date1+datetime.timedelta(days=days,hours=hours,minutes=minutes)

if __name__==‘__main__‘:
    print substract_DateTime(‘2012-12-12‘,‘2012-01-01‘)
    #-346 days, 0:00:00
    print substract_DateTime(‘2012-12-12‘,‘2012-01-01‘).days
    #-346
    print substract_TimeStamp(‘2012-12-12‘,‘2012-01-01‘)
    #29894400.0
    print substract_TimeStamp(‘2012-12-12‘,‘2012-01-01‘)/(24*60*60),‘天‘
    #346.0 天
    print compare_dateTime(‘2012-12-12‘,‘2012-01-01‘)
    #True
    print dateTime_Add(‘2012-12-12‘,days=10,hours=5,minutes=10)
    #2012-12-22 05:10:00

  



2013-1-3日备注:根据当前日期,对年月进行加减的方法

例子:

import calendar, datetime

def increment_month(when):
    days = calendar.monthrange(when.year, when.month)[1]
    return when + datetime.timedelta(days=days)

now = datetime.datetime.now()
print ‘It is now %s‘ % now
print ‘In a month, it will be %s‘ % increment_month(now)

  

 
时间: 2024-07-30 10:18:36

python大杂烩的相关文章

python 字典如何传给函数以及函数接受大杂烩

#看看字典怎么个传法 db = {'name':'toby','age':25,'phone':'119'} def show(**dicts):     for key in dicts:         print(key,dicts[key]) show(**db) #接受字符串.元组.列表.字典(python太tmd强悍了) db = {'name':'tantianran','age':25,'phone':'15915822634'} def show(ag, *args, **di

Python 开源项目大杂烩

SQLAlchemy——数据持久层框架 简介 SQLAlchemy 主要由两部分组成,一个 SQL 工具包和一个关系对象映射(ORM),它能让开发者完全发挥出 SQL 的灵活性与强大的能量.他实现了一整套企业级持久层模式,可以通过简单而 Pythonic 的接口,进行高效率和高性能的数据库访问.SQLAlchemy 的 ORM 遵从 DataMapping 设计模式,而 Elixir 则是在 SQLAlchemy 基础上的一层 ActiveRecord 模式的实现,它使用一套类似 RoR 的 A

python风味之大杂烩

判断语句复制 >>> a = 3 >>> b = 3 if a == 2 else 4 >>> b 4 >>>

Python里关于try语句的一点心得

try语句一般都搭配except and finnaly使用.这样是为了给自己的程序留一个后手,如果出现了对应设置的Error,可以"暗度陈仓",然后必要的时候辅助finnaly来一个强制执行. 一个try是可以跟多个except的,毕竟一个程序里可能暗藏的错误很多,自然错误类型也会很多.这样跟随多个except,也会有多的容灾选择,多的except自然是从上到下的顺序采取行动. For Instance: f=["a","f","o&

笔记之Python网络数据采集

笔记之Python网络数据采集 非原创即采集 一念清净, 烈焰成池, 一念觉醒, 方登彼岸 网络数据采集, 无非就是写一个自动化程序向网络服务器请求数据, 再对数据进行解析, 提取需要的信息 通常, 有api可用, api会比写网络爬虫程序来获取数据更加方便. Part1 创建爬虫 Chapter1 初建网络爬虫 一旦你开始采集网络数据, 就会感受到浏览器为我们所做的所有细节, 它解释了所有的html, css, JavaScript 网络浏览器是一个非常有用的应用, 它创建信息的数据包, 发送

Python学习1-Python和Pycharm的下载与安装

本文主要介绍Python的下载安装和Python编辑器Pycharm的下载与安装. 一.Python的下载与安装 1.下载 到Python官网上下载Python的安装文件,进入网站后显示如下图: 网速访问慢的话可直接在这里下载:python-2.7.11.amd64 在Downloads中有对应的支持的平台,这里我们是在Windows平台下运行,所以点击Windows,出现如下: 在这里显示了Python更新的所有版本,其中最上面两行分别是Python2.X和Python3.X对应的最后更新版本

Python——深入理解urllib、urllib2及requests(requests不建议使用?)

深入理解urllib.urllib2及requests            python Python 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议[1] .Python语法简洁而清晰,具有丰富和强大的类库. urllib and urllib2 区别 urllib和urllib2模块都做与请求URL相关的操作,但

python学习_day26_面向对象之封装

1.私有属性 (1)动态属性 在python中用双下划线开头的方式将属性隐藏起来.类中所有双下划线开头的名称,如__x都会自动变形成:_类名__x的形式.这种自动变形的特点是: a.类中定义的__x只能在内部使用,如self.__x,引用的就是变形的结果.b.这种变形其实正是针对外部的变形,在外部是无法通过__x这个名字访问到的.c.在子类定义的__x不会覆盖在父类定义的__x,因为子类中变形成了:_子类名__x,而父类中变形成了:_父类名__x,即双下滑线开头的属性在继承给子类时,子类是无法覆

python面向对象知识点疏理

面向对象技术简介 类: 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例.class 类变量:类变量在整个实例化的对象中是公用的.类变量定义在类中且在函数体之外.类变量通常不作为实例变量使用. 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据. 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖,也称为方法的重写. 实例变量:定义在方法中的变量,只作用于当前实例的类. 继承:即一个派生类(de