python部落刷题宝备忘(一) 博客分类: Python python刷题宝python部落
程序员文章站
2024-03-25 22:19:52
...
python部落网址:http://python.freelycode.com/
divmod(x, y) == x//y, x%y # 返回商和余数 enumerate # 给出迭代对象的序列和对应的元素 a = [2, 3, 4] for index, item in enumerate(a): print index print item eval() # 执行字符串中的表达式 x = 5 eval('x+1') == 6 execfile() Read and execute a Python script from a file. >>> a = {"a": 1, "b":2} >>> getattr(a, "c", 4) #从字典a中取出相应的键值,如果没有则返回第三个参数。具体参考下面的。 >>> 4 getattr(...) getattr(object, name[, default]) -> value Get a named attribute from an object; getattr(x, 'y') is equivalent to x.y. When a default argument is given, it is returned when the attribute doesn't exist; without it, an exception is raised in that case. hex(number) -> string # 返回十六进制 Return the hexadecimal representation of an integer or long integer. list tuple dict 值相同,但是id不相同 int('13', base=6) = 9 # 把字符串按照base进制转换为10进制 # map 函数用法 >>> def cube(x): return x*x*x >>> map(cube, range(1, 11)) [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000] # filter 用法 >>> filter(function, range(1, 11)) # 过滤掉迭代对象里面使function为False的元素 # reduce用法 3.0以上版本需要 import functools reduce(function, sequence) For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). with open() as f: #使用with打开文件避免忘记close()而且打开超大文件时避免内存溢出 f.read() pow(2, 4) == 16 # 幂运算 "".join([c for c in reversed("123")]) == '321' round(1.639, 2) == 1.64 round(2.675, 2) == 2.67 # 0.5以上才进位 set([1,1,2]) == set([1,2]) sorted([1, 2]) == [1, 2] x = [1, 2, 3] y = [4, 5, 6] zip(x, y) == [(1, 4), (2, 5)] lists = [[]] * 3 #这里可以理解一个列表重复了三次,所以这三个列表的指向是一样的。 lists[0].append(3) lists == [[3], [3], [3]] lists = [[] for i in range(3)] # 这三个是独立的列表 # 字符串方法 'hello'.capitalize() == 'Hello' # 首字母大写 'g'.center(5, "o") == 'oogoo' 'google'.count('o', 0, 2) == 1 # S.count(sub[, start[, end]]) -> int S[start:end]. 'usa13'.isalnum() == True Return True if all characters in S are alphanumeric 'usa123'.islower() == True ','.join(['a', 'b']) == 'a,b' # 如果没有参数lstrip把左边的空格去掉,如果有参数,则顺序去掉参数中的字符。 'www.example.com'.lstrip('cmowz.') == 'example.com' 'aBc'.swapcase() == 'AbC' '4'.zfill(3) == '004' # 在字符串左边补零 # 可变参数的使用 params1 = (8, 9) params2 = {"a": 4, "b": 5} def minus(a, b): return a - b print "%d,%d" % (minus(*params1), minus(**params2)) >>> -1, -1 root ------------- lib ----------------- a.py | | | --------- _________ | ------main.py main.py中第一个语句为: from lib.a import * 则空白处的文件名为? 这是在考你package和module的概念,为了在main.py中把a.py做为module导入,那么lib目录就应该成为一个package,因此lib下面就必须要包含__init__.py文件,所以答案是“__init__.py”。