python笔记

1. type()函数,指出指定对象的类型。

2. tuple和list的区别:

tuple是不能改变的,与之对应,它没有remove等函数,而list具有相应的函数

 3.tuple或者list访问:

范围引用: 基本样式[下限:上限:步长]

>>>print s1[:5]             # 从开始到下标4 (下标5的元素 不包括在内)

>>>print s1[2:]             # 从下标2到最后

>>>print s1[0:5:2]          # 从下标0到下标4 (下标5不包括在内),每隔2取一个元素 (下标为0,2,4的元素)

>>>print s1[2:0:-1]         # 从下标2到下标1

从上面可以看到,在范围引用的时候,如果写明上限,那么这个上限本身不包括在内

尾部元素引用

>>>print s1[-1]             # 序列最后一个元素

>>>print s1[-3]             # 序列倒数第三个元素

同样,如果s1[0:-1], 那么最后一个元素不会被引用 (再一次,不包括上限元素本身

 4.字符串操作

>>>len(s1)                                # 返回s1的长度,这里的len不仅仅支持string,作为内置函数,对tuple和list同样适用

>>>s1.lower()                             # 将s1转化成小写

>>>s1.find(substr[,start[,end]])          # 查找字串,并返回位置,找不到返回-1

>>>s1.count(substr[,start[,end]])         # 统计字串出现的次数

>>>s1.replace(oldstr, newstr, [count])         # 把s1中的oldstar替换为newstr,count为替换次数

>>>s1.split([sep, [maxsplit]])                      # 以sep为分隔符,把s1分成一个list。maxsplit表示分割的次数。默认的分割符为空白字符

>>>s1.encode([encoding,[errors]])              # 其中encoding可以有多种值,比如gb2312 gbk gb18030 bz2 zlib big5 bzse64等都支持。

>>>s1.isdigit()                                              # s1是否全是数字,是的话返回True,否则返回False

>>>import string

>>>string.atoi(s1)                  # 字符串转化成数字,或者用int()

5.时间转换

#============================

# 时间格式time的方法:

# localtime(秒数)    # :秒数-->time.struct_time

# mktime(time.struct_time)    #:time.struct_time-->秒数

# strftime("格式串",time.struct_time)    #:time.struct_time -->"yyyy-mm-dd HH:MM:SS"

# strptime(tuple_日期,"格式串")     #:"yyyy-mm-dd HH:MM:SS"-->time.struct_time

#============================

# 1. 秒数 ->[tuple]-> 年月日串
birth_secds = 485749800
tup_birth = time.localtime(birth_secds)
format_birth = time.strftime("%Y-%m-%d %H:%M:%S",tup_birth)
# 2. 年月日串 ->[tuple]-> 秒数
print format_birth#1985-05-24 10:30:00

format_birth = "1985-05-24 10:30:00"
tup_birth = time.strptime(format_birth, "%Y-%m-%d %H:%M:%S");
birth_secds = time.mktime(tup_birth)
print birth_secds#485749800.0

6.sqlalchemy使用

比较好的博客为:http://www.keakon.net/2012/12/03/SQLAlchemy%E4%BD%BF%E7%94%A8%E7%BB%8F%E9%AA%8C

另外在sqlalchemy中flushcommit是有区别的,在SQLAlchemy中一个Session(可以看作)是一个transaction,每个操作(基本上)对应一条或多条SQL语句,这些SQL语句需 要发送到数据库服务器才能被真正执行,而整个transaction需要commit才能真正生效,如果没提交,一旦你的程序挂了,所有未提交的事务都会 被回滚到事务开始之前的状态。flush就是把客户端尚未发送到数据库服务器的SQL语句发送过去,commit就是告诉数据库服务器提交事务。简单说,flush之后你才能在这个Session中看到效果,而commit之后你才能从其它Session中看到效果。

原文地址:https://www.cnblogs.com/wzyj/p/3708986.html