python
C-haidragon
我的视频学习地址:https://edu.csdn.net/lecturer/5805?spm=1003.2001.3001.4144
展开
-
Effective-Python
编写pythonic代码1.python 变量互换可以直接用不用中间变量 a, b = b , a2,一般写str.format()3.python 的三元操作符是 if else 等价于 ? :4.没有 switch ..case分支语句5.利用 assert 断言语句来发现问题 但是用断言有代价 一般本身异常能够处理就不要再使用断言6.建议少原创 2017-10-21 20:34:06 · 358 阅读 · 0 评论 -
深拷贝和浅拷贝
深拷贝和浅拷贝原创 2017-10-22 12:55:06 · 275 阅读 · 0 评论 -
==、is
==、is总结is 是比较两个引用是否指向了同一个对象(引用比较)。== 是比较两个对象是否相等。原创 2017-10-22 20:03:44 · 204 阅读 · 0 评论 -
模块进阶
模块进阶Python有一套很有用的标准库(standard library)。标准库会随着Python解释器,一起安装在你的电脑中的。 它是Python的一个组成部分。这些标准库是Python为你准备好的利器,可以让编程事半功倍。常用标准库标准库说明builtins内建函数默认加载os操作系统接口sysPython原创 2017-10-23 12:10:30 · 330 阅读 · 0 评论 -
编码风格
编码风格错误认知这很浪费时间我是个艺术家所有人都能穿的鞋不会合任何人的脚我善长制定编码规范正确认知促进团队合作减少bug处理提高可读性,降低维护成本有助于代码审查养成习惯,有助于程序员自身的成长pep8 编码规范Python Enhancement Proposals :python改进方案https://www.python.org/dev/peps/原创 2017-10-23 12:15:26 · 343 阅读 · 0 评论 -
作用域
作用域什么是命名空间比如有一个学校,有10个班级,在7班和8班中都有一个叫“小王”的同学,如果在学校的广播中呼叫“小王”时,7班和8班中的这2个人就纳闷了,你是喊谁呢!!!如果是“7班的小王”的话,那么就很明确了,那么此时的7班就是小王所在的范围,即命名空间globals、locals在之前学习变量的作用域时,经常会提到局部变量和全局变量,之所有称之为局部、全局,就是因原创 2017-10-23 12:21:25 · 214 阅读 · 0 评论 -
垃圾回收
垃圾回收1. 小整数对象池整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间。Python 对小整数的定义是 [-5, 257) 这些整数对象是提前建立好的,不会被垃圾回收。在一个 Python 的程序中,所有位于这个范围内的整数使用的都是同一个对象.同理,单个字母也是这样的。但是当定义2个相同的字符串时,引用计数为0,原创 2017-10-23 12:25:25 · 421 阅读 · 0 评论 -
垃圾回收(二)
垃圾回收(二)1. Garbage collection(GC垃圾回收)现在的高级语言如java,c#等,都采用了垃圾收集机制,而不再是c,c++里用户自己管理维护内存的方式。自己管理内存极其自由,可以任意申请内存,但如同一把双刃剑,为大量内存泄露,悬空指针等bug埋下隐患。 对于一个字符串、列表、类甚至数值都是对象,且定位简单易用的语言,自然不会让用户去处理如何分配回收内存的问题。 py原创 2017-10-23 12:29:19 · 240 阅读 · 0 评论 -
垃圾回收(三)-gc模块
一.垃圾回收机制Python中的垃圾回收是以引用计数为主,分代收集为辅。1、导致引用计数+1的情况对象被创建,例如a=23对象被引用,例如b=a对象被作为参数,传入到一个函数中,例如func(a)对象作为一个元素,存储在容器中,例如list1=[a,a]2、导致引用计数-1的情况对象的别名被显式销毁,例如del a对象的别名被赋予新的对象,例如a=24一个对象离开它的作原创 2017-10-23 12:38:05 · 1082 阅读 · 0 评论 -
python 学习手册重点
############################python学习手册#第四章 1.python中增加**代表乘方 2.在python可以反向索引从-1开始,3.python没有声明的说法, 4.脚本都是在赋值的时候确定类型的,同时赋值后不变的,5.可以人为改变python中的每一个对象,6.在pyhon中类型可以分为不可以变性或者可变性,7.在核心类型中,数原创 2017-10-21 20:14:39 · 507 阅读 · 0 评论 -
简单聊天室
用qt 与 python加 mysql 实现的简单聊天 实现功能有 一对一 群聊,传文件,视频聊天,通信加密,好友注册到 mysql,也写了下调百度 api,成功移植到 android ios下载地址 https://download.csdn.net/download/sinat_35360663/10330453...原创 2018-04-06 16:40:05 · 374 阅读 · 0 评论 -
python合并 excel 表
# -*- coding: utf-8 -*-#将多个Excel文件合并成一个import xlrdimport xlsxwriter#打开一个excel文件def open_xls(file): fh=xlrd.open_workbook(file) return fh#获取excel中所有的sheet表def getsheet(fh): return...原创 2018-05-23 08:09:29 · 996 阅读 · 0 评论 -
python合并 txt
import osimport sysimport globdef dirTxtToLargeTxt(dir, outputFileName): '''从dir目录下读入所有的TXT文件,将它们写到outputFileName里去''' # 如果dir不是目录返回错误 if not os.path.isdir(dir): print("传入的参数有错...原创 2018-05-23 08:35:43 · 1317 阅读 · 0 评论 -
txt 去重
# coding:utf-8import shutila=0readDir = "/Users/allenboy/Desktop/all999.txt" #oldwriteDir = "/Users/allenboy/Desktop/allen666.txt" #new# txtDir = "/home/fuxueping/Desktop/1"lines_seen = set()...原创 2018-05-23 09:12:20 · 1299 阅读 · 0 评论 -
functools
functoolsfunctools 是python2.5被引人的,一些工具函数放在此包里。python2.7中python3.5中import functoolsdir(functools)运行结果:['MappingProxyType', 'RLock', 'WRAPPER_ASSIGNMENTS', 'WRAPPER_UPDATES', 'WeakKeyD原创 2017-10-22 19:53:00 · 555 阅读 · 0 评论 -
生成器
生成器1. 什么是生成器通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间原创 2017-10-22 19:49:14 · 216 阅读 · 0 评论 -
python 参考手册
1.#用解释器作为桌面计算器时 _ 在计算过程中取最后一次值 unix 用ctrl+d win ctrl+z 也可以用 raise SystemExit 退出2.通常函数运行时要使用一组输入参数.但是,也可以把函数编写为一个任务.从而能处理发送给它的一系列输入.这类函数称为协程如:def print_matcher(matcher): print"allenboy",match原创 2017-10-21 20:35:01 · 593 阅读 · 0 评论 -
python语言易错知识点强化
1.语句x = 3==3, 5执行结束后,变量x的值为_____________。((True, 5))2.已知a = [1, 2, 3]和b = [1, 2,4],那么id(a[1])==id(b[1])的执行结果为___________。(True)3.表达式 {1, 2, 3, 4} - {3, 4, 5, 6}的值为__________________。({1,2})4.已知原创 2017-10-21 20:46:12 · 1056 阅读 · 1 评论 -
python内置函数
(1)abs(), 绝对值或复数的模1 print(abs(-6))#>>>>6(2)all() 接受一个迭代器,如果迭代器的所有元素都为真,那么返回True,否则返回False1 print(all([1,0,3,6]))#>>>>False(3)any() 接受一个迭代器,如果迭代器里有一个元素为真,那么返回True,否则返回False1 pr转载 2017-10-21 20:47:58 · 501 阅读 · 0 评论 -
元类
元类1. 类也是对象在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段。在Python中这一点仍然成立:>>> class ObjectCreator(object):… pass…>>> my_object = ObjectCreator()>>> print my_object原创 2017-10-21 21:02:33 · 346 阅读 · 0 评论 -
python是动态语言
1. 动态语言的定义动态编程语言 是 高级程序设计语言 的一个类别,在计算机科学领域已被广泛应用。它是一类 在运行时可以改变其结构的语言 :例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力。例如JavaScript便是一个动态语言,除此之外如 PHP 、 Ruby 、 Python 等也都属于动态语言,而 C 、 C++ 等语言则不属于原创 2017-10-21 21:12:41 · 460 阅读 · 0 评论 -
属性property
1. 私有属性添加getter和setter方法class Money(object): def __init__(self): self.__money = 0 def getMoney(self): return self.__money def setMoney(self, value): if isinstance原创 2017-10-21 21:30:42 · 327 阅读 · 0 评论 -
私有化
xx: 公有变量_x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问__xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到)__xx__:双前后下划线,用户名字空间的魔法对象或属性。例如:__init__ , __ 不要自己发明这样的名字xx_:单后置下划线,用于避免与Python关键词的冲突原创 2017-10-22 12:32:33 · 225 阅读 · 0 评论 -
内建属性
内建属性"teachclass.py"class Person(object): passpython3.5中类的内建属性和方法 经典类(旧式类),早期如果没有要继承的父类,继承里空着不写的类#py2中无继承父类,称之经典类,py3中已默认继承objectclass Person: pass子类没有实现__init__方法时,默认自动调用父类的原创 2017-10-22 12:37:00 · 392 阅读 · 0 评论 -
手动制作python安装模块
制作python安装模块(setup.py)原创 2017-10-22 12:59:41 · 535 阅读 · 0 评论 -
__slots__
现在我们终于明白了,动态语言与静态语言的不同动态语言:可以在运行的过程中,修改代码静态语言:编译时已经确定好代码,运行过程中不能修改如果我们想要限制实例的属性怎么办?比如,只允许对Person实例添加name和age属性。为了达到限制的目的,Python允许在定义class的时候,定义一个特殊的__slots__变量,来限制该class实例能添加的属性:>>> class Pe原创 2017-10-22 18:52:50 · 232 阅读 · 0 评论 -
闭包
1. 函数引用def test1(): print("--- in test1 func----")#调用函数test1()#引用函数ret = test1print(id(ret))print(id(test1))#通过引用调用函数ret()运行结果:--- in test1 func----140212571149040140212571149040原创 2017-10-22 19:33:05 · 180 阅读 · 0 评论 -
装饰器
装饰器装饰器是程序开发中经常会用到的一个功能,用好了装饰器,开发效率如虎添翼,所以这也是Python面试中必问的问题,但对于好多初次接触这个知识的人来讲,这个功能有点绕,自学时直接绕过去了,然后面试问到了就挂了,因为装饰器是程序开发的基础知识,这个都不会,别跟人家说你会Python, 看了下面的文章,保证你学会装饰器。1、先明白这段代码#### 第一波 ####def foo()原创 2017-10-22 19:45:55 · 261 阅读 · 0 评论 -
迭代器
迭代器迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。1. 可迭代对象以直接作用于 for 循环的数据类型有以下几种:一类是集合数据类型,如 list 、 tuple 、 dict 、 set 、 str 等;一类是 generator ,包括生成器和带 yield 的原创 2017-10-22 19:47:01 · 183 阅读 · 0 评论