显示标签为“学习笔记”的博文。显示所有博文
显示标签为“学习笔记”的博文。显示所有博文

2014年5月19日星期一

python中字符串,timedate模块的学习笔记

今天学洗了timedate模块中得一些函数和obje以及对于字符串和列表的一些函数 记录一下,方便日后查找:

timedate:

class timedate,date,time
分别为时间+日期,日期,时间。
取当前日期为timedate.timedate()(或者为timedate.date\timedate.time)

返回的对象为一个timedate class 若要将其运用则使用timetuple()函数来将其变为一个时间元组。可以对其使用元组的方法。ps:取回的数值为int 若要进行字符串处理 则需要对其进行字符串化

isoformat()函数可以将其转换为“Y—M—D”格式,返回为string类型

列表list:
主要是函数insert(),len(),append(),pop()

  1. len(list)取得该列表的长度
  2. insert(位置,值)在列表中某个位置插入值
  3. append(值) 在列表的末尾插入一个值
  4. pop()函数删除列表最后进入的数,LIFO
  5. 空值列表的初始化,e.g:List_Empty=[None]*10


字符串:
主要函数为join(),split(),strip()

  1. join():[list of string] a,string b,b.join(a),作用为用b将a中得各个字符串链接成一个字符串,注意必须为字符串的列表!
  2. split():为join()的逆方法,string a,string b,a.split(b),将a中得数值以b为分隔符分割成一个list,注意当没有给定b时 默认为空格为分隔符。
  3. strip():去除两侧字符,默认为空格。string a,string b. a.split(b)


2014年5月5日星期一

Python中time模块的学习

python中的time模块提供了对时间的控制,读取,修改。

time()函数返回的是自从epoch之后的秒数,是一个float型的数据,对于unix系统来说epoch是1970年1月1日的0时。


  • UTC:格林尼治时间
  • DTS:夏令时
  • Localtime:本机时间



From
To
Use
seconds since the epoch 
seconds since the epoch 
struct_time in UTC 
struct_time in local time
struct_time in UTC 
struct_time in local time 
seconds since the epoch 
seconds since the epoch
gmtime()
localtime()
calendar.timegm()
mktime()


gmtime()以及localtime()返回的是一个9位的元组,如下例子:

time.struct_time(tm_year=2014, tm_mon=5, tm_mday=5, tm_hour=0, tm_min=19, tm_sec=49, tm_wday=0, tm_yday=125, tm_isdst=1)

分别为[年,月,日,小时,分,秒,星期,一年中的第几天,DST(是否夏令时)
range分别为:

  • 年,四位数
  • 月,1-12
  • 日,1-31
  • 小时,0-23
  • 分,0-59
  • 秒,0-59
  • 星期,0-6
  • 第几天,1-366
  • DST,0,1,-1
DST的0 表示不在夏令时时区,1表示在夏令时时区,-1表示需要根据date和time来猜测mktime()

函数介绍:
  • asctime():将一个struct_time转换成一个字符串,asctime([tuple]) -> string.
  • sleep(),让解释器休息待命n秒钟
  • clock(),clock() -> floating point number
      该函数有两个功能,
      在第一次调用的时候,返回的是程序运行的实际时间;
      以第二次之后的调用,返回的是自第一次调用后,到这次调用的时间间隔
  • ctime(),ctime(seconds) -> string,将一个时间戳(默认为当前时间)转换成一个时间字符串
  • gmtime(),gmtime([seconds]) -> (tm_year, tm_mon, tm_day, tm_hour, tm_min,tm_sec, tm_wday, tm_yday, tm_isdst)  将一个时间戳转换成一个UTC时区(0时区)的struct_time,如果seconds参数未输入,则以当前时间为转换标准
  • localtime(),localtime([seconds])-> (tm_year,tm_mon,tm_day,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst)                         将一个时间戳转换成一个当前时区的struct_time,如果seconds参数未输入,则以当前时间为转换标准
  • mktime(...)
    mktime(tuple) -> floating point number
    将一个以struct_time转换为时间戳
  • strftime(...)
      strftime(format[, tuple]) -> string
      将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
      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)
      
      %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 当前时区的名称
      %% %号本身 

2014年4月22日星期二

今日学习笔记

关键词:
  • sqlite3 字符串变量
  • python编码 
1. 对于数据库中字符串变量的处理

sqlite3数据库中得字符串类型有以下几种
  • char 
  • varchar 
  • text 
  • nvarchar 
  • ntext

一般使用varchar来表达英文字母与数字

如果需要进行中英文混搭的话使用nvarchar或者ntext

text表示unicode字符串

nvarchar(n)最多可以显示n/2个中文字符

2. 对于读取数据库中字符串变量后 对其显示的处理
在python中的编码处理可以在文件开始使用#-*- utf-8 -*- 来进行硬处理。也可以在编程过程中使用encode/decode来进行人为的处理,也就是说,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。
  1.     decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。 
  2.     encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。
需注意:代码中字符串的默认编码与代码文件本身的编码一致。

举例如下:

s=u'测试'为unicode编码,如果文件编码为utf-8则需直接将其转换(encode)为utf-8即可。

判断是否为unicode的函数,isinstance(s,unicode)