python
文章平均质量分 87
zfl273
再骄傲的人都会败给时间
展开
-
浅拷贝和深拷贝
赋值操作的认知:1 赋值是将一个对象的地址给一个变量,让该变量指向该地址。2 修改不可变对象(str, tuple, int 等)需要开辟新空间3 修改可变对象(list,dict, set 等)不需要开辟新空间不可变对象赋值:a = 100b = aprint(id(a), id(b))b = 200print(id(a), id(b))结果:4297647584 4297647584...原创 2018-05-22 21:27:25 · 365 阅读 · 0 评论 -
多继承(钻石继承)的问题和解决
大家都知道继承的目的是为了让子类可以使用父类的成员,实现代码的复用,但是在多继承中会出现各种问题:class Father(object): def __init__(self, name): self.name = name print("Im father")class Son_1(Father): def __init__(self, a...原创 2018-05-24 21:17:44 · 6600 阅读 · 1 评论 -
python中的反射
概念:python中的反射就是通过字符串的形式去模块,对象中找寻指定的函数(方法)并执行常用途:使用字符串的形式去模块中对模块中的成员进行增删改查。如果我有test.py这个模块;并且在其中定义三个函数,和一个全局变量count_number:def f1(): print('我是f1函数')def f2(): print('我是f2函数')def f3(): ...原创 2018-05-24 19:43:51 · 1044 阅读 · 0 评论 -
python中的元类
python中的元类大家都可能比较很陌生,因为大家都听说过99%的情况下是用不到元类的,但是大家对类确很了解,大家都知道在python中万物皆对象,那么python中的类是不是对象呢?对象的样子:1,对象可以在程序中动态的进行创建,python的语言动态特性。2,对象可以通过__class__获取该对象所属的类。3,对象可以动态的添加属性,方法。4,可以使用type查看对象的类型。class Pe...原创 2018-05-31 11:55:27 · 1349 阅读 · 0 评论 -
python中的正则
正则是我们编程中用到的用来匹配字符串,相信大家都不陌生,其实正则只需要从基础只是开始学起,掌握了这些东西对于复杂的东西做起来才能得心应手。python中的正则匹配需要导入模块,并且我们先介绍一下re.match()方法:语法: result = re.match(RegExp,string) RegExp: 代表需要匹配的正则 string: 表示需要匹配的字符串 res...原创 2018-05-31 20:51:02 · 487 阅读 · 0 评论 -
mac安装mysqlclient出现的问题
安装python mysql中间件自从甲骨文收购的MySQL之后,原引领的MySQL的创始人就离开了MySQL中,创立了新的MariaDB的,表示他不再看好mysql的。而今天让我遇到了一个问题,正好证明了这一点。最近在做的一个小玩意中,有很多经过蟒蛇收集和处理过的数据,需要存入数据库,而经常使用的mysql,mysql的把作为数据库的载体自然是在正常不过了。最新的蟒版本是3,而蟒官方团队也在有条...原创 2018-06-23 22:38:32 · 4084 阅读 · 0 评论 -
在Mac上安装mysqlclient遇到了一些问题
在 mac 上安装 mysqlclient 遇到了一些问题,查找资料很多人都遇到了同样的问题。通过资料和试验,成功了。这里记录一下,希望帮到遇到同样问题的人。本人使用python3, 安装步骤如下:brew install mysql-connector-cpip3 install mysqlclient当执行 pip3 install mysqlclient 是出现错误:➜ /usr/loc...转载 2018-06-23 23:49:20 · 923 阅读 · 0 评论 -
python里面的xlrd模块详解(一)
python里面的xlrd模块详解(一)那我就一下面积个问题对xlrd模块进行学习一下:1.什么是xlrd模块?2.为什么使用xlrd模块?3.怎样使用xlrd模块?1.什么是xlrd模块? ♦python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。今天就先来说一下xlrd模块:一、安装xlrd模块 ...原创 2019-04-20 22:18:59 · 5746 阅读 · 0 评论 -
python selenium中Excel数据维护(二)
python selenium中Excel数据维护(二)接着python里面的xlrd模块详解(一)中我们我们来举一个实例:我们来举一个从Excel中读取账号和密码的例子并调用: ♦1.制作Excel我们要对以上输入的用户名和密码进行参数化,使得这些数据读取自Excel文件。我们将Excel文件命名为data.xlsx,其中有两列数据,第一列为username,第二列为passwor...转载 2019-04-20 22:20:24 · 150 阅读 · 0 评论 -
python常用包
环境管理管理 Python 版本和环境的工具p – 非常简单的交互式 python 版本管理工具。pyenv – 简单的 Python 版本管理工具。Vex – 可以在虚拟环境中执行命令。virtualenv – 创建独立 Python 环境的工具。virtualenvwrapper- virtualenv 的一组扩展。包管理管理包和依赖的工具。pip – Pyt...原创 2019-04-20 22:56:31 · 3005 阅读 · 0 评论 -
Python中 sys.argv[]的用法简明解释
Python中 sys.argv[]的用法简明解释 学习python开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果,也在网上查了许多,但发现这个问题的比较详细的解释只有一个版本,大部分都是转载和复制的。给的都是简明python教程上那个一长串代码的例子,说看了就明白了,可我看得晕头转向的还是没真正明白,只知道“sy...原创 2019-04-20 06:44:29 · 126 阅读 · 0 评论 -
session cookie详述
虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一技术。本文将详细讨论session的工作机制并且对在Java web application中应用session机制时常见的问题作出解答。 一、术语session 在我的经验里,session这个词被滥用的程度大概仅次于transaction,更加有趣...转载 2019-04-30 12:04:14 · 202 阅读 · 0 评论 -
SyntaxError: Generator expression must be parenthesized
django1.11版本在python3.7中运行还有点兼容性问题.出现SyntaxError: Generator expression must be parenthesized这个报错找到这个widget.py文件,并修改删除这个逗号报错就可以解决问题...原创 2019-05-15 09:06:48 · 9549 阅读 · 6 评论 -
提高你的Python: 解释 yield 和 Generators(生成器)
在开始课程之前,我要求学生们填写一份调查表,这个调查表反映了它们对Python中一些概念的理解情况。一些话题(“if/else控制流” 或者 “定义和使用函数”)对于大多数学生是没有问题的。但是有一些话题,大多数学生只有很少,或者完全没有任何接触,尤其是“生成器和yield关键字”。我猜这对大多数新手Python程序员也是如此。有事实表明,在我花了大功夫后,有些人仍然不能理解生成器和yield关键...翻译 2018-05-27 11:04:28 · 262 阅读 · 0 评论 -
python上下文管理器
背景知识: 对于系统的资源,例如文件,数据库连接,socket等而言,应用程序打开这些资源使用,使用完成后必须要做的一件事情就是关闭或者断开连接。因为操作系统分配给我们的资源连接都是有上限的,长时间不关闭有可能会抛出异常。 例如: 文件资源长期不关闭,有可能会出现‘Too nany open files’的错误。 数据库长期不关闭,有可能会出...原创 2018-05-27 09:15:11 · 517 阅读 · 0 评论 -
利用python写一个文件下载器的案例
工作中会用经常要到服务器下载文件或者其他数据,于是利用tcp协议写了一个文件下载案例:1 服务器代码:import socketimport osif __name__ == "__main__": serves_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #socket绑定ip serves_...原创 2018-05-02 23:09:28 · 1419 阅读 · 0 评论 -
python单线程模拟qq聊天器
利用套接字socket,模拟聊天器1,客户端代码:import socketif __name__ == "__main__": silent_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #连接服务器 send_ip = input("请输入要发送的ip地址:") send_port = ...原创 2018-05-02 23:20:24 · 415 阅读 · 0 评论 -
python多线程完成多个任务
# 线程: 线程可以理解成执行代码的分支, 线程是执行对应的代码的, cpu调度线程去执行对应代码import timeimport threading# 跳舞的任务def dance(): # 获取当前执行代码的线程 current_thread = threading.current_thread() print("dance:", current_thre...原创 2018-05-03 19:54:21 · 2982 阅读 · 0 评论 -
简述python多线程中的互斥锁
在编程中,为了保证共享数据操作的完整性,引入了互斥锁的概念。每个对象都对应于一个可称为" 互斥锁" 的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象。在python中由于多线程的存在,并且对全局变量作用时有可能产生全局变量紊乱问题,所以也加入了同步和互斥等方法,但是我们主要讲解互斥锁:如下代码定义了一个my_num的全局变量,而函数sum1和函数sum2都执行对my_n...原创 2018-05-04 10:13:03 · 3647 阅读 · 1 评论 -
python多线程完成udp聊天和tcp聊天服务器
上一次贴出我写的单线程聊天服务器,单线程在服务器上肯定是不能满足需求的,这一次写个多线程的框架,下回再写多进程的把首先我们了解一下线程和进程的概念和区别问题:1. 进程: 通俗理解一个运行起来的程序或者软件叫做进程,而线程就是执行代码的分支 1.1 每启动进程都需要向操作系统索要运行资源(内存空间),进程是操作系统资源分配的基本单位, 只有进程把资源准备好了才能让线程执行对应的代码 1.2 默认情...原创 2018-05-05 21:27:25 · 2852 阅读 · 2 评论 -
Python 3.5 协程究竟是个啥(好懂么)
Python 3.5 协程究竟是个啥2016/09/23 · 基础知识 · 2 评论 · 协程分享到:原文出处: snarky 译文出处:Yushneng 作为 Python 核心开发者之一,让我很想了解这门语言是如何运作的。我发现总有一些阴暗的角落我对其中错综复杂的细节不是很清楚,但是为了能够有助于 Python 的一些问题和其整体设计,我觉得我应该试着去理解 Python 的核心语法和...转载 2018-05-06 10:27:07 · 1247 阅读 · 0 评论 -
python GIL全局解释器锁的理解
GIL的全称是:Global Interpreter Lock,意思就是全局解释器锁,这个GIL并不是python的特性,他是只在Cpython解释器里引入的一个概念,而在其他的语言编写的解释器里就没有这个GIL例如:Jython,Pypy为什么会有gil?: 随着电脑多核cpu的出现核cpu频率的提升,为了充分利用多核处理器,进行多线程的编程方式更为普及,随之而来的困难是线程之间数据...原创 2018-05-12 22:00:15 · 9171 阅读 · 2 评论 -
python中的迭代和迭代器
在python甚至编程中都经常能看到迭代,所谓迭代就是访问集合元素的一种方式,我们对可以对迭代对象进行依次拿取的过程称为遍历,也叫做迭代,而在python中常见的可以迭代的对象有元组,列表,字典,集合,range,字符串,而如何通过代码得知我们的对象是否是可以迭代的呢,我们导入collections模块的Iterable类,通过isinstance()方法返回的布尔值True/False来判断是否...原创 2018-05-07 00:32:25 · 455 阅读 · 0 评论 -
python用迭代器,生成器完成斐波那契数列
我们发现迭代器最核心的功能就是可以通过next()函数的调用来返回下一个数据值。如果每次返回的数据值不是在一个已有的数据集合中读取的,而是通过程序按照一定的规律计算生成的,那么也就意味着可以不用再依赖一个已有的数据集合,也就是说不用再将所有要迭代的数据都一次性缓存下来供后续依次读取,这样可以节省大量的存储(内存)空间。 数学中有个著名的斐波拉契数列(Fibonacci...原创 2018-05-07 00:55:03 · 2061 阅读 · 0 评论 -
手写用进程池复制文件夹模型
import osimport shutilimport multiprocessingimport time# 文件拷贝任务def copy_work(src_dir, dst_dir, file_name): # 查看进程对象 pid = multiprocessing.current_process().pid print(pid) # 拼接源文...原创 2018-05-07 08:12:08 · 393 阅读 · 0 评论 -
理解python中的装饰器
理解python的装饰器,需要先理解函数闭包,相信有其他编程语言的程序员都会有闭包的思想。在python中的闭包:什么是闭包:在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包#定义一个函数def test(number): #在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包 ...原创 2018-05-22 10:16:36 · 518 阅读 · 0 评论 -
一句话说清楚多个装饰器的执行顺序
要理清楚多个装饰器的执行顺序,对于很多人来说是噩梦一般的存在,但是,这个其实一句话就能说明白的,先看下面代码:def out_1(func): print('i am out_1') def inner_1(): print('i am inner_1') return func() return inner_1def out_2(...原创 2018-05-22 10:50:33 · 1779 阅读 · 1 评论