Python基础回顾
python数据类型
len(s) set 的长度 x in s 测试 x 是否是 s 的成员 x not in s 测试 x 是否不是 s 的成员 s.issubset(t) s <= t 测试是否 s 中的每一个元素都在 t 中 s.issuperset(t) s >= t 测试是否 t 中的每一个元素都在 s 中 s.union(t) s | t 返回一个新的 set 包含 s 和 t 中的每一个元素 s.intersection(t) s & t 返回一个新的 set 包含 s 和 t 中的公共元素 s.difference(t) s - t 返回一个新的 set 包含 s 中有但是 t 中没有的元素 s.symmetric_difference(t) s ^ t 返回一个新的 set 包含 s 和 t 中不重复的元素 s.copy() 返回 set “s”的一个浅复制
utf-8 —— unicode —— gbk 字符编码转换
Python2
u"你好" 表示已unicode编码显示你好
#-*- coding:utf-8 -*- # Python2.x s = "你好" utf8_to_unicode = s.decode("utf-8") unicode_to_gbk = utf8_to_unicode.encode("gbk") print unicode_to_gbk gbk_to_utf8 = unicode_to_gbk.decode("gbk").encode("utf-8") print gbk_to_utf8
Python3
1 # Python3 2 import sys 3 print(sys.getdefaultencoding()) # 打印系统的默认编码 4 5 msg = "书神那个最帅的男人" 6 msg_gb2312 = msg.encode("gb2312") # 因为系统当前默认的编码就是unicode,就不用再decode,喜大普奔 7 gb2312_to_unicode = msg_gb2312.decode("gb2312") 8 gb2312_to_utf8 = gb2312_to_unicode.encode("utf-8") 9 10 print(msg) 11 print(msg_gb2312) 12 print(gb2312_to_unicode) 13 print(gb2312_to_utf8)
将字符串转换为字典,最简单的可以使用pytho内置的方法 eval
举个例子
>>> a = '''{ 'bakend': 'www.oldboy.org', 'record':{ 'server': '100.1.7.9', 'weight': 20, 'maxconn': 30 } }''' >>>a = eval(a) >>>a['record']
装饰器
1 import time 2 3 def timer(func): # TODO 3. 相当于 func = test1 timer(test1) 4 def deco(*args, **kwargs): 5 start_time = time.time() 6 func(*args, **kwargs) 7 stop_time = time.time() 8 print("the func run time is %s" % (stop_time-start_time)) 9 return deco 10 11 @timer # TODO 2. 相当于 test1 = timer(test1) 把deco的内存地址返回给变量test1 12 def test1(): 13 print("in the test1") 14 time.sleep(1) 15 16 @timer 17 def test2(name, age): # TODO 4. 执行deco("fke", 24) 18 print("\033[31;1mname:\t%s\n age:\t%s\033[0m" % (name, age)) 19 time.sleep(1.5) 20 21 # test1() #TODO 1. 运行test1, 但是想给test1添加统计时间的功能,所以用@给test1装饰一下,看上面代码 22 test1() 23 test2("fke", 24)
列表
元祖
字典
集合