
编程语言
ZenGeek
代码乃需求之腿
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python reduce函数
Python Reduce累加,累乘,每次写起来是不是很烦? 来,看个现成的。x = [1,2,3,4,5]def reduce_test(func,array): if len(array) == 0: return None if len(array) == 1: return array[0] res = array[0]...原创 2018-08-09 16:05:06 · 883 阅读 · 0 评论 -
python-函数嵌套
函数嵌套就是在函数内部定义子函数def father(name): print('from father %s' %name) def son(): print('from son') def grandson(): print('from grandson') grandson() son()...原创 2018-08-12 22:28:22 · 1628 阅读 · 0 评论 -
python 装饰器
装饰器是为了给已经定义的函数添加新的功能而诞生的。装饰器本身要求不能修改原函数的代码和调用方式,所以是更新迭代已上线程序的一种很好的方式装饰器 = 高阶函数 + 函数嵌套 + 闭包# 定义装饰函数import time # 高阶函数def timer(func): # 函数嵌套 # 可变tuple和dict参数 def...原创 2018-08-13 13:11:41 · 136 阅读 · 0 评论 -
python可变参数 - *args, **kwargs
def foo(*args, **kwargs): print('args = ', args) print('kwargs = ', kwargs) print('---------------------------------------')if __name__ == '__main__': foo(1, 2, 3, 4) foo(a = 1, ...原创 2018-08-13 13:15:54 · 200 阅读 · 0 评论 -
python enumerate()用法
enumerate()方法能将可迭代对象,例如列表和字符串,转化为一个带索引的序列。 在需要同时获得索引和值的情景下,多使用enumerate()。# 原始写法list1 = ["这", "是", "一个", "测试"]for i in range (len(list1)): print(i ,list1[i])# enumerate 写法for index,item in...原创 2018-08-13 13:36:02 · 286 阅读 · 0 评论 -
python - 你不知道的else
最简单的if-else结构a = 1b = 0if a == b: print('Good')else: print('Bad')三元运算符:a = 1b = 0x = 'good' if a>b else 'bad'print(x)你没见过的for-else, while-else结构# 设置守卫,多判断一次i = 0for i in r...原创 2018-08-13 14:07:05 · 219 阅读 · 0 评论 -
python - 装饰器实战
装饰器为访问页面添加登录验证功能# 定义用户信息词典user_list = [ {'name': 'alex', 'passwd': '123'}, {'name': 'linhaifeng', 'passwd': '123'}, {'name': 'wupeiqi', 'passwd': '123'}, {'name': 'yuanhao', 'passwd...原创 2018-08-13 14:12:24 · 341 阅读 · 0 评论 -
python dict - 对字典构建反向映射
快速给元素构建索引,使用enumerate()方法调换索引和值得位置(反向映射),使用zip()方法# 在enumerate的基础上构建反向映射x = ['A','B','C','D','E']# 将enumerate对象转化为dictdic = dict(enumerate(x))# 调换索引和值y = dict(zip(dic.values(),dic.keys()))...原创 2018-08-13 20:43:22 · 2514 阅读 · 0 评论 -
python列表,词典,集合解析
列表解析mlist = [i * 2 for i in range(5)]print mlist[0, 2, 4, 6, 8]列表过滤解析# 过滤掉列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]中值为奇数的项lst = [i for i in range(11) if i % 2 == 0]print lst[0, 2, 4, 6, 8, 10]...转载 2018-08-13 20:52:33 · 306 阅读 · 0 评论 -
python request+open 下载任意文件
实例源码 link = 'https://www.google.com.au/url?sa=i&source=images&cd=&cad=rja&uact=8&ved=2ahUKEwiaucyRvurcAhVaMt4KHbRMCOcQjRx6BAgBEAU&url=https%3A%2F%2Fimage.so.com%2F&psi...原创 2018-08-14 00:52:59 · 6890 阅读 · 0 评论 -
Python中read(), readline(), readlines()
read() 读取整个文本 readline() 一次读取一行,没有内容返回None readlines() 读取所有行,形成列表原创 2018-08-19 15:51:11 · 935 阅读 · 0 评论 -
python-高阶函数
高阶函数定义: 函数接收的参数是一个函数名函数的返回值是一个函数名满足上述条件任意一个,都可称之为高阶函数、# 普通函数def foo(): print('普通函数')# 传入值为函数def gao_jie1(func): print('我就是高阶函数1,我接收的参数名是%s' %func) func()# 返回值为函数def gao_jie2...原创 2018-08-12 22:24:24 · 157 阅读 · 0 评论 -
python map函数
map函数对可迭代对象里的每个元素执行制定func,返回一个可迭代对象# define an arrayarray = [1,2,3,4,5]# copy operationret = []for i in array: ret.append(i)# use a functiondef map_test(array): ret = [] for i in...原创 2018-08-08 01:25:45 · 393 阅读 · 0 评论 -
Python lambda expression
lambda接受输入,拒绝复杂运算,直接输出lambda x:x+1lambda x,y,z:(x+1,y+1,z+1)原创 2018-08-07 22:05:31 · 255 阅读 · 0 评论 -
python zip函数 - 你以为zip是压缩吗?
直接贴codel1 = ['a','b','c','d']l2 = [1,2,3,4]# 建立对应关系print(list(zip(l1,l2)))# 按照顺序建立对应关系print(list(zip('hello','world')))# 以短的为基准print(list(zip('nima','de')))结果如下: [(‘a’, 1), (‘b’, 2), ...原创 2018-08-10 23:34:26 · 433 阅读 · 0 评论 -
python Max函数-复合元素的比较
l1= [1,2,3,4,5]d1 = {'Tim':40,'James':28,'Luis':30}# 初中生现在都会这个print(max(l1))# 默认比较key值print(max(d1))# 指定比较value值print(max(d1.values()))# 如果可迭代对象的元素是多个子元素组成的呢?从第一个开始比较,以此类推print(max(zip(d1...原创 2018-08-11 00:20:37 · 1284 阅读 · 0 评论 -
python ASCII 操作
# print the string given the asciiprint(chr(100))# print the ascii given the stringprint(ord('d'))原创 2018-08-11 00:44:55 · 1433 阅读 · 0 评论 -
python slice - 切片
# 指定截取区间和步长l = 'world'# 写死的代码print(l[3:5])# 可赋值,可设定步长s1 = slice(3,5)s2 = slice(1,4,2)print(l[s1])print(l[s2])原创 2018-08-11 00:45:55 · 194 阅读 · 0 评论 -
python - sorted 排序
# 排序people = [ {'name':'alex','age':1000}, {'name':'wupei','age':10000}, {'name':'yuanhao','age':3999}, {'name':'linghaifeng','age':18} ]print(sorted(people,key=lambda x:x['age']...原创 2018-08-11 00:46:41 · 181 阅读 · 0 评论 -
python中的global,nonlocal关键字
Global不加global则为局部变量 加了global表示变量志向全局变量name = "zhangsan"def run(): global name name = "lisi" print(name)run()原创 2018-08-07 02:27:02 · 229 阅读 · 0 评论 -
Python - Set
Feature:No orderNo repetitionElement ImmutableSet itself is mutableCreate a Set# method 1set1 = {1,2,3,4}# method 2: set2 = set([1,2,3,4]) # pass an iterable elementImmutable Set...原创 2018-08-07 13:06:28 · 246 阅读 · 0 评论 -
python generator 生成器
列表解析x = [i for i in range(10)]print(x)生成器自动实现迭代器协议 - 实现了next()方法y = (i for i in range(10))print(y.__next__())print(y.__next__())print(y.__next__())print(y.__next__())print(y.__next__())生...原创 2018-08-12 00:48:36 · 163 阅读 · 0 评论 -
python - 字符串格式化
python 字符串格式化方法一:百分号 %word = "i am %s" % "james"word = "i am %s age %d" % ("james", 26)word = "i am %(name)s age %(age)d" % {"name":'alex',"age":26}word = "percent %.2f&q原创 2018-08-07 21:48:45 · 176 阅读 · 0 评论 -
python之递归
函数内部调用函数自己称为递归def run(x): print(x) if x/2 == 0 : return 0 return run(int(x/2))递归特点必须包含明确的结束条件递归效率不高,层次过多会导致栈溢出...原创 2018-08-07 21:55:59 · 204 阅读 · 0 评论 -
python 判断文件还是文件夹
import osif os.path.isdir(path): print "it's a directory"elif os.path.isfile(path): print "it's a normal file"else: print "it's a special file(socket,FIFO,device file)"原创 2018-08-20 12:22:15 · 38284 阅读 · 1 评论