Python学习随笔
文章平均质量分 53
PYDAILY
这个作者很懒,什么都没留下…
展开
-
Python 列表生成式
# -*- coding: utf-8 -*-# list(range(上标,下标)) 列表生成式,列表生成式可以代替FOR循环生成LISTprint(list(range(1, 11)))# 打印1-10的平方,For循环以及列表生成式方法L = []for x in range(1,11): L.append(x * x)print(L)print([x * x ...原创 2018-11-20 16:03:21 · 227 阅读 · 0 评论 -
Python 序列化与反序列化
#!/usr/bin/env python# -*- Coding:utf-8 -*-import pickle # 引入Python序列化功能模块"""dumps只是把变量序列化并未进行写入保存的操作,需要将序列化后的内容通过write方法写入文件dump直接将变量序列并写入文件中保存loads需要先读取文件内容后,再将获取到的内容反序列化load直接读取文件内容并反序列化...原创 2018-12-17 18:28:29 · 522 阅读 · 0 评论 -
Python 错误处理
# -*- coding:utf-8 -*-import loggingfrom functools import reducetry: print('try...') r = 10 / int('0') print('results:', r)except ValueError as e: # 检查类型是否正确 print('ValueError:...原创 2018-12-10 18:15:58 · 459 阅读 · 0 评论 -
Python 装饰器
# -*- coding:utf-8 -*-# 增强now()函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改now()函数的定义,# 这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。# 本质上,decorator就是一个返回函数的高阶函数,# 装饰器的主要功能在于不改变原有函数极其调用的基础上扩展函数功能。import timeimport...原创 2018-11-28 18:11:09 · 178 阅读 · 0 评论 -
Python 闭包 返回函数
# -*- coding:utf-8 -*-# 返回一个函数时,牢记该函数并未执行,返回函数中不要引用任何可能会变化的变量# 闭包的用处/优点有两条:# 从函数外可以读取函数内部的变量# 让这些变量的值始终保持在内存中(也可以理解为保留当前运行环境)def createcounter(): s = 0 f = [0] def counter(): #...原创 2018-11-28 18:07:50 · 226 阅读 · 0 评论 -
Python 统计学生数
# -*- coding: utf-8 -*-class Student(object): count = 0 def __init__(self, name): self.name = name Student.count += 1 # 每次调用这个方法创建实例,则Count+1if Student.count != 0: print('测...原创 2018-11-30 16:13:38 · 4934 阅读 · 0 评论 -
Python Class的访问限制 多态与继承
# -*- coding: utf-8 -*-class Student(object): def __init__(self, name, gender): self.__name = name # 将变量变成私有变量,外部无法直接访问 self.__gender = gender def get_gender(self): return ...原创 2018-11-30 11:18:31 · 318 阅读 · 0 评论 -
Python Class
# -*- coding: utf-8 -*-# 类是创建实例的模板,而实例则是一个一个具体的对象,各个实例拥有的数据都互相独立,互不影响;# 创建实例是通过类名+()实现的# 方法就是与实例绑定的函数,和普通函数不同,方法可以直接访问实例的数据;# 通过在实例上调用方法,我们就直接操作了对象内部的数据,但无需知道方法内部的实现细节。class Student(object): ...原创 2018-11-29 17:19:54 · 271 阅读 · 0 评论 -
Python map以及reduce函数
# -*- coding: utf-8 -*-# 函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式from functools import reducedef normalize(name): name = str.capitalize(name) return namel1 = ['adam', 'LISA', 'barTa']l...原创 2018-11-22 16:21:59 · 258 阅读 · 0 评论 -
Python 汉诺塔递归原理
# -*- coding: utf-8 -*-# 递归的重点在于放弃,放弃理解和跟踪递归全程的企图,只理解递归两层之间的交接,以及递归的终结条件def move(n, start, mid, end): # n:盘子,start起始区,mid中转区,end终点区 if n == 1: print('move', start, '-->', end) els...原创 2018-11-19 17:29:26 · 273 阅读 · 0 评论 -
Python trim()切片函数去除首尾空格
def trim(s): if len(s) == 0: # 字符串为空直接返回 return '' elif s[0] != ' ' and s[-1] != ' ': # 首尾不存在空格直接返回 return s elif s[0] == ' ': # 字符串头存在空格则截断 return trim(s[1:]) else:...原创 2018-11-19 17:27:17 · 3351 阅读 · 1 评论 -
Python 回数
# -*- coding: utf-8 -*-def is_palindrome(n): d = str(n) # 将数字转化成字符串 s = len(d) # 获取字符串长度 if s == 1: # 一位数的话直接返回 return n for a in range(0, s//2): #通过字符串长度取整决定循环次数...原创 2018-11-23 17:48:58 · 714 阅读 · 0 评论 -
Python 埃氏筛法
# -*- coding: utf-8 -*-# filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。# 构造一个奇数序列,排除了所有偶数,因为除了2之外的偶数都是非素数def _odd_iter(): a = 1 while True: a...原创 2018-11-23 17:03:37 · 2411 阅读 · 0 评论 -
Python 杨辉三角 生成器
# -*- coding: utf-8 -*-# 杨辉三角"""列表生成式直接占用空间,generator一边循环一边计算的机制,存储一个算法,可以通过for循环迭代调用generator不能使用列表生成式可以通过函数实现,含有yield关键字则为生成器普通函数返回一个结果,按照顺序执行生成器函数返回的是一个生成器对象,每次调用next()的时候执行,遇到yield语句返回,再次执行...原创 2018-11-21 12:28:00 · 293 阅读 · 2 评论 -
Python json序列化与反序列化
#!/usr/bin/env python# -*- Coding:utf-8 -*-import jsond = dict(name='Bob', age=20, score=88)with open('json.txt', 'w') as e: e.write(json.dumps(d)) print(json.dumps(d))with open('json...原创 2018-12-17 18:30:00 · 455 阅读 · 0 评论