1.锁:Lock(1次放1个)同步锁线程安全,多线程操作时,内部会让所有线程排队处理。如:list/dict/Queue线程不安全+人=>排队处理。需求:a.创建100个线程,在列表中追加8b.创建100个线程v=[]锁-把自己的添加到列表中。-在读取列表的最后一个。解锁以后锁一个代码块:importthreadingimporttimev=[]lock=threading.Lock()deffunc(arg):lock.acquire()#锁的区域---
系统 2019-09-27 17:52:33 1594
一、异常1.1异常介绍异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下:1.2异常种类在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误1#触发IndexError2l=['egon','aa']3l[3]45#触发KeyError6dic={'name':'egon'}7dic['age']89#触发ValueError10s='hello'1
系统 2019-09-27 17:52:31 1594
由于工作的需求,需要用python做一个类似网络爬虫的采集器。虽然Python的urllib模块提供更加方便简洁操作,但是涉及到一些底层的需求,如手动设定User-Agent,Referer等,所以选择了直接用socket进行设计。当然,这样的话,需要对HTTP协议比较熟悉,HTTP协议这里就不做讲解了。整个python的代码如下:#!/usr/binenvpythonimportsockethost="www.baidu.com"se=socket.so
系统 2019-09-27 17:52:30 1594
一位置传递没什么好过多讲解.#位置传递实例:deffun1(a,b,c):returna+b+cprint(fun1(1,2,3))输出:6二关键字传递更具每个参数的名字写入函数参数#关键字传递deffun2(a,b,c):returna+b+cprint(fun2(1,c=3,b=2))输出:6三参数默认值传递给函数的输入参数设定一个默认值,如果该参数最终没有输入,则使用默认参数出入函数.#默认值传递deffun3(a,b=2,c=3):returna+
系统 2019-09-27 17:52:29 1594
今天模拟定义map函数.写着写着就发现Python可变长度参数的机制真是灵活而强大.假设有一个元组t,包含n个成员:t=(arg1,...,argn)而一个函数f恰好能接受n个参数:f(arg1,...,argn)f(t)这种做法显然是错的,那么如何把t的各成员作为独立的参数传给f,以便达到f(arg1,...,argn)的效果?我一开始想到的是很原始的解法,先把t的各个成员变为字符串的形式,再用英文逗号把它们串联起来,形成一个"标准参数字符串":str_
系统 2019-09-27 17:52:29 1594
本文实例讲述了Python闭包和装饰器用法。分享给大家供大家参考,具体如下:Python的装饰器的英文名叫Decorator,作用是完成对一些模块的修饰。所谓修饰工作就是想给现有的模块加上一些小装饰(一些小功能,这些小功能可能好多模块都会用到),但又不让这个小装饰(小功能)侵入到原有的模块中的代码里去。闭包1.函数引用#coding=utf-8deftest1():print('Thisistest1!')#调用函数test1()#引用函数ret=test
系统 2019-09-27 17:52:24 1594
Git是编程中的基本技能之一,互联网公司几乎都在使用Git进行协作编程,昨天还有位禅友在微信上专门告诉我说星期五面试的时候刚好被问到Git,幸好在这几天学了一下。Git并不难,但会Git至少可以说明一个人的学习能力或者说对技术的嗅觉能跟上主流,如果面试问你GitHub是什么都不知道,面试官就会对你打一个大的问号。简单点评这一道题。在使用for循环迭代一个列表时,有时我们需要获取列表中每个元素所在的下标位置是多少,例如numbers=[10,29,30,41
系统 2019-09-27 17:52:23 1594
3.4.5断言断言(assertions)的使用方式类似于if语句,只是在不满足条件时,会直接抛出异常。类似于下面的if语句(伪代码)ifnotcondition:#如果不满足条件,会直接抛出异常,程序会中断crashprogram那么究竟为什么需要这样的代码呢?主要原因为需要检测程序在某个地方是否满足条件,如果不满足条件,应该及时通知开发人员,而不是将这些bug隐藏起来,知道关键的时候在崩溃。其实在TDD中经常使用断言,TDD会在程序发现异常时执行断言,
系统 2019-09-27 17:52:20 1594
3.5.2for循环hello大家好,不知道在上节中大家练习while循环练习得怎么样了,相信大家都已经熟悉while循环了吧,那么现在我在这里在向大家讲解一下for循环。大家肯定也很懵圈,怎么有个while循环,又有个for循环,for循环又是干嘛的?相信很多刚接触编程的朋友一定很懵圈,哈哈......因为我当时也很懵圈。好了,废话不多说,接下来就给大家将一下for循环和while循环的区别,以及for循环是什么东西。while循环的功能非常强大,它可以
系统 2019-09-27 17:52:18 1594
译注:这是一篇在Stackoverflow上很热的帖子。提问者自称已经掌握了有关PythonOOP编程中的各种概念,但始终觉得元类(metaclass)难以理解。他知道这肯定和自省有关,但仍然觉得不太明白,希望大家可以给出一些实际的例子和代码片段以帮助理解,以及在什么情况下需要进行元编程。于是e-satis同学给出了神一般的回复,该回复获得了985点的赞同点数,更有人评论说这段回复应该加入到Python的官方文档中去。而e-satis同学本人在StackO
系统 2019-09-27 17:52:16 1594