![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
月半湾湾
暂时没有
展开
-
python-leetcode删除排序数组中的重复项
class Solution: def removeDuplicates(self, nums): """ :type nums: List[int] :rtype: int """ i = 1 while i < len(nums): if nums[i] ==...原创 2018-07-25 18:20:11 · 374 阅读 · 0 评论 -
python 多线程
进程在os中是分配资源的基本单位,也是能够独立运行的基本单位。而线程则是cpu调度的基本单位,一个进程至少包含一个进程。一个进程中的线程共享资源。在Python中的多线程是真正的多线程而不是模拟出来的。import os,threadingimport time,randomdef loop(): print('thread %s is runing' % thre...转载 2018-09-26 16:43:10 · 112 阅读 · 0 评论 -
Python __slots__ 属性
在Python中,可以动态的为变量(类变量或类实例变量)添加属性(变量属性或方法属性),这有时候很方便,但有时候又会不小心带来麻烦,所以__slots__则是一个限制添加属性的元组,新添加的属性名必须在这个元组里。 ...原创 2018-10-06 13:56:01 · 160 阅读 · 0 评论 -
Python __get__() __getattr__() __getattribute__()
https://blog.csdn.net/yiifaa/article/details/78068962class Employee(object): def __init__(self,username,age): self.username = username self.age = age #当通过'.'运算符访问属性时调用该方法...转载 2018-10-06 20:00:56 · 189 阅读 · 0 评论 -
Python 迭代器
迭代器是实现了迭代器协议的对象(在Python中为定义了next方法)next函数会返回集合对象中的下一个元素,若没有下一个元素泽会引发StopIteration异常在迭代器内部会捕获这个异常来结束便利迭代器最大的优势在于每次只从集合对象中取出一个元素,极大地节约了内存。例如我们逐行读取一个文件的内容,使用readlines我们可以这样写:for line in open('...转载 2018-09-28 15:03:23 · 109 阅读 · 0 评论 -
Python动态添加属性
class Student(object): #@classmethod修饰的属性可以通过类变量和类实例变量直接调用 #因为在这两种情况下都可以将类变量绑定到@classmethod修饰的方法的第一个参数上 @classmethod def eat(cls): print('eating...')#当类的实例动态添加属性时class func...原创 2018-10-06 22:54:39 · 392 阅读 · 0 评论 -
Python迭代器总结
首先要说明的几个概念1 什么是可迭代对象(Iterable)>>> s = 'hello'>>> for i in s: print(i) hello>>> from collections.abc import Iterable,Iterator>>> print(isinstance(s,It...原创 2018-10-07 21:06:56 · 151 阅读 · 0 评论 -
Python copy与deepcopy 深度拷贝与浅拷贝
深度拷贝就是将原有对象在内存中完全复制一份,而浅拷贝就是为原有对象添加签名或者说别名,我们看一下如下的代码。>>> list1 = [1,2,[3,4]]>>> id(list1)4360561608>>> list2 = list1.copy()>>> id(list2)4360561224>>原创 2018-10-15 00:20:33 · 184 阅读 · 0 评论 -
python 协程
子程序或者说函数之间的相互嵌套调用是通过栈来实现的,一个线程就是执行一个子程序,子程序调用总是一个入口对应一次返回,调用的顺序是事先确定的,在一个子程序的执行过程中不能中断去执行其他子程序,而协程则可以在子程序内部中断(类似cpu的中段机制)转而去执行其他子程序(⚠️不是函数调用),在适当的时候再返回执行。协程的特点是一个线程运行,和多线程比协程的优势在哪里?1 没有切换线程时的开销;...转载 2018-09-30 18:40:21 · 94 阅读 · 0 评论 -
Python 多进程
在Windows中Python不能通过调用os模块中的fork()函数创建进程,但Python也提供了其他模块在Windows上也能实现multiprocessing就是Python跨平台的多进程相关的模块from multiprocessing impoty Processimport os#os.getpid()获取当前进程的iddef run(name): prin...转载 2018-09-26 15:22:06 · 91 阅读 · 0 评论 -
python 插入排序
from random import randintdef Insertsort(list): n = len(list) #总共排序n-1次 for i in range(1,n): #初始化待插入下标 k = i tmp = list[i] while i - 1 >=0 and tmp <...原创 2018-09-26 10:49:13 · 300 阅读 · 0 评论 -
python 冒泡排序
from random import randintdef buddlesort(list): n = len(list) #总共排序n-1次 for i in range(n-1): for j in range(n): if j + 1 <= n-1 and list[j] > list[j + 1]: ...原创 2018-09-26 10:08:46 · 134 阅读 · 0 评论 -
python leetcode TwoSum 40ms
class Solution: def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ dic = {} mytarget = 0 ...原创 2018-07-25 22:51:12 · 117 阅读 · 0 评论 -
Selenium Webdriver重新使用已打开的浏览器实例-Chrome版本
本文借鉴了https://blog.csdn.net/wwwqjpcom/article/details/51232302博客,写了一个Chrome浏览器版本的代码地址https://github.com/yuebanwanwan/pythonSeleniumWebdriverChrome.git转载 2018-08-22 14:35:07 · 4961 阅读 · 0 评论 -
初步使用Scrapy-Splash爬取小说网所有小说
1 安装Scrapy2 安装Scrapy-Splash3 Scrapy对接Splash5 通过队列实现爬取所有小说,生产SplashRequest核心代码如下 def start_requests(self): queue = Queue() queue.put(self.base_urls) whil...原创 2018-08-24 19:36:00 · 212 阅读 · 0 评论 -
Python装饰器
转自https://www.zhihu.com/question/26930016/answer/99243411#装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,他的参数一般就是这个需要添加功能的函数对象。# 装饰器的返回值也是一个函数对象,返回经过处理后的函数(添加了新的功能的函数)。用于有切面需求的场景,和java中Spring框架的A...转载 2018-09-09 19:40:34 · 100 阅读 · 0 评论 -
在Ubuntu上安装Python3.6
https://www.cnblogs.com/yjlch1016/p/8641910.htmlhttps://blog.csdn.net/yanzhibo/article/details/75913347转载 2018-09-06 18:47:52 · 123 阅读 · 0 评论 -
在Ubuntu上安装spcapyd时出现Twisted版本问题解决办法/在Ubuntu上安装Twisted
https://blog.csdn.net/jaket5219999/article/details/70146917转载 2018-09-06 18:48:47 · 425 阅读 · 0 评论 -
Ubuntu16.04 No module named _sqlite3 解决方案
sudo apt-get install libsqlite3-dev重新编译python3cd /python-3.6.2$ sudo ./configure$ sudo make && make install转载 2018-09-06 19:30:55 · 3800 阅读 · 1 评论 -
安装scrapyd-client报错: 'scrapyd-deploy' 不是内部或外部命令,也不是可运行的程序或批处理文件
https://www.jianshu.com/p/457003a8dbc4转载 2018-09-06 20:05:18 · 2023 阅读 · 0 评论 -
python 选择排序
from random import randintdef selectsort(list): n = len(list) #总共排序n-1次 for i in range(n-1): min = list[i] k = i for j in range(i+1,n): #记录本次遍历的最小值并更...原创 2018-09-26 09:58:42 · 216 阅读 · 0 评论 -
Python表达式和语句之间的区别
Python代码由表达式和语句组成,并由Python解释器负责执行。它们的主要区别是“表达式”是一个值,它的结果一定是一个Python对象。当Python解释器计算它时结果可以是任何对象。例如42,1+2,int(‘123’),range(10)等。常见的Python表达式操作符有 算术运算符: x+y, x-y, x / y, x*y, x //...原创 2018-11-27 11:51:54 · 7359 阅读 · 0 评论