自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 python - 服务器

python - 单线程服务器#coding=utf-8from socket import *#创建套接字serSocket = socket(AF_INET, SOCK_STREAM)#重复使用绑定信息serSocket.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)localAddr = ('', 7788)#绑定端口ipserSocket.bind(

2017-08-28 10:07:36 263

原创 Python - 闭包和装饰器

Python - 闭包和装饰器Python的装饰器的英文名叫Decorator,作用是完成对一些模块的修饰。所谓修饰工作就是想给现有的模块加上一些小装饰(一些小功能,这些小功能可能好多模块都会用到),但又不让这个小装饰(小功能)侵入到原有的模块中的代码里去。闭包1.函数引用#coding=utf-8def test1(): print('This is test1!')#调用函数test1

2017-08-24 22:25:50 312

原创 python - 输入目录,输出打印全部文件及文件夹

coding=utf-8import osdir = input('请输入一个目录:')#获取目录列表list_dir = os.listdir(dir)#打印目录列表print(list_dir)#遍历目录列表for temp in list_dir: print(temp)

2017-08-24 17:21:13 3710

原创 python - 多线程 - threading模块

多线程 - threadingpython的thread模块是比较底层的模块,python的threading模块对thread做了一些包装,可以更加方便的被使用。1. 使用threading模块单线程执行#coding=utf-8import timedef saySorry(): print('跑一圈') time.sleep(1)if __name__ == "__main_

2017-08-24 14:27:45 439

原创 python - 进程间通信-Queue

进程间通信-QueueProcess之间有时需要通信,操作系统提供了很多机制来实现进程间的通信。1. Queue的使用可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序,首先用一个小实例来演示下Queue的工作原理: 代码如下:#coding=utf-8from multiprocessing import Queue#初始化一个Qu

2017-08-24 11:28:52 840

原创 python - multiprocessing模块(二)

进程池Pool当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态生成多个进程,此时就可以使用multiprocessing模块提供的Pool方法。初始化Pool时,可以指定一个最大进程数,当有新的请求提交到Pool中时, 如果池还没有满,那么就会创建一个新的进程来执行该请求;但如果池中 的进程数已经达到指定的最大值,那么该请求就会等待,直到池中有进程结

2017-08-24 00:15:56 287

原创 python - multiprocessing模块(一)

multiprocessing模块Python是跨平台的,自然也应该提供一个跨平台的多进程支持。 multiprocessing模块就是跨平台版本的多进程模块。 multiprocessing模块提供了一个Process类来代表一个进程对象。 下面的例子演示了启动一个子进程并等待其结束: 代码如下:#coding=utf-8from multiprocessing import Proce

2017-08-23 23:25:14 914

原创 python - 以下函数会输出什么?

以下函数会输出什么?代码如下:#coding=utf-8def extendList(val,list=[]): list.append(val) return listlist1 = extendList(10)list2 = extendList(123,['a','b','c'])list3 = extendList('a')print('list1 = %s'%list1

2017-08-21 18:02:59 337

原创 python - os模块的应用

举例中的目录形式如下所示:In [36]: pwdOut[36]: '/home/python/Desktop/code'In [37]: lshello.py hello.txt test.py 文件夹01/ 文件夹02/ 文件夹03/1.当前路径及路径下的文件os.getcwd():查看当前所在路径。os.listdir(path):列举目录下的所有文件。返回的是列表类型。In [

2017-08-21 13:55:26 339

原创 python - 自定义一个递归函数用于递归遍历指定目录下的所有文件

代码如下:#coding=utf-8# RecursionDirTree.py 自定义一个递归函数用于递归遍历指定目录下的所有文件import os# level:递归的层数,该参数用于控制打印的缩进# path:遍历指定的路径def recursionFunction(level, path): for i in os.listdir(path): # “-”用于

2017-08-21 12:23:03 1549

原创 python - 列表分组技巧 #写出一段 Python 代码,实现分组一个 list 里面的元素,如 [1,2,3,...100]变成 [[1,2,3],[4,5,6]....]

代码如下:#coding=utf-8#python - 列表分组技巧#请写出一段 Python 代码实现分组一个 list 里面的元素,如 [1,2,3,...100]变成 [[1,2,3],[4,5,6]....]a = [x for x in range(1,101)]b = [a[i:i+3] for i in range(0, len(a),3)]print(b)运行结果:[[1, 2,

2017-08-21 11:59:22 3858

原创 python - 实现带下标索引的遍历

代码如下:#coding=utf-8#python - 实现带下标索引的遍历.str = 'abcdefghigklmn'#方式一:fori = 0for ch in str: print('%d\t%s'%(i,ch)) i+=1print('-'*50)#方式二:enumerate()for i,ch in enumerate(str): print i,ch运

2017-08-18 13:10:34 6444

原创 python - 一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配.

代码如下:#coding=utf-8#一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配.import random# 定义一个列表来保存3个办公室offices = [[],[],[]]# 定义一个列表来存储8位老师的名字names = ['A','B','C','D','E','F','G','H']#开始分配for name in names:

2017-08-18 12:48:38 14207 5

原创 python - 写一个函数,计算给定日期是该年的第几天.

写一个函数,计算给定日期是该年的第几天.代码如下:#coding=utf-8#写一个函数,计算给定日期是该年的第几天.def count(year,month,day): count = 0 #判断该年是平年还是闰年 if year%400==0 or (year%4==0 and year%100!=0): print('%d年是闰年,2月份有29天!'%

2017-08-17 21:41:59 15969 6

原创 写一个函数,给定N,返回斐波拉契数列第N项.

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=1,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)。 有

2017-08-17 20:52:21 6368

原创 从0到9中随机选择,生成1到10个随机数,组成集合A, 同理生成集合B, 输出A和B以及其交集和并集.

从0到9中随机选择,生成1到10个随机数,组成集合A, 同理生成集合B, 输出A和B以及其交集和并集.代码如下:#coding=utf-8#从0到9中随机选择,生成1到10个随机数,组成集合A, 同理生成集合B, 输出A和B以及其交集和并集.import random#定义一个函数用来生成满足题目要求的集合def myFunc(): '''生成一个满足特定要求的集合''' #定义

2017-08-17 18:11:13 12141 3

原创 写一个函数:给定一个整数N, 判断N是否为素数.

素数的定义: 质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数。因数的定义:因数,数学名词。假如a*b=c(a、b、c都是整数),那么我们称a和b就是c的因数。需要注意的是,唯有被除数,除数,商皆为整数,余数为零时,此关系才成立。 反过来说,我们称c为a、b的倍数。解题思路:给定一个数,首先判断其是否大于1

2017-08-17 17:34:34 28614

原创 python - 统计一个字符串中的每一个字符出现了多少次(先将字符串转换为列表再统计)

#coding=utf-8#统计一个字符串中的每一个字符出现了多少次#定义一个字符串str = 'abbcccdddd'#在字符串的每一个字符之间插入一个空格组成一个新的字符串str = ' '.join(str)#打印新的字符串看看print('str = ',str)#将新字符串按空格分割成一个列表li = str.split(' ')#打印新的列表print('li = '

2017-08-09 21:12:41 16565 2

原创 python - 统计一个列表当中的每一个元素出现了多少次

#coding=utf-8#方式一print('*'*20 + '方式一' + '*'*20)li1 = [1,2,2,3,3,3,4,4,4,4,5,5,5,5,5]set1 = set(li1)for i in set1: print('%d 出现了 %d 次!'%(i,li1.count(i)))#方式二print('*'*20 + '方式二' + '*'*20)List

2017-08-09 20:49:37 7235

原创 文章标题

单例模式代码如下:class Singleton(object): __instance = None __first_init = False def __new__(cls, age, name): if cls.__instance is None:#等价于if not cls.__instance: cls.__instance

2017-08-09 17:12:19 189

原创 python - 匿名函数及其应用

python - 匿名函数及其应用lambda关键词能创建⼩型匿名函数。这种函数得名于省略了def声明函 数的标准步骤。 代码如下:#定义lambda函数sum = lambda arg1,arg2:arg1+arg2#调用函数totle = sum(3,5)print ('totle = %d'%totle)运行如下totle = 8Lambda函数能接收任何数量的参数但只能返回一个表

2017-08-08 23:40:30 784

原创 python -- 深拷贝与浅拷贝

1、对象的赋值对象的赋值实际上是对象之间的引用:当创建一个对象,然后将这个对象赋值给另外一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用。当对对象做赋值或者是参数传递或者作为返回值的时候,总是传递原始对象的引用,而不是一个副本。如下所示:#在python中将一个变量赋值给另一个变量,传递的是引用.无论是a的内层变化还是外层变化,b都会发生同样的变化.因为b和a指向了同一

2017-08-08 22:55:57 309

原创 Python -- 函数传递参数的四种形式

Python中函数传递参数有以下四种形式:位置参数:fun1(a,b,c) 关键字参数:fun2(a=1,b=2,c=3) 多个参数以元组的形式传递:fun3(*args) 多个参数以字典的形式传递:fun4(**kargs)四种中最常见是前两种,基本上一般点的教程都会涉及,后两种一般很少单独出现,常用在混合模式中第一种 fun1(a,b,c

2017-08-08 16:28:35 925

原创 进程和线程 --- 的联系和区别

1.定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.2.关系

2017-08-08 15:26:24 241

原创 操作系统 --- 中断和轮询

轮询与中断 外部设备与中央处理器交互一般有两种手段:轮询和中断。 (1)轮询(Polling) 很多I/O设备都有一个状态寄存器,用于描述设备当前的工作状态,每当设备状态发生改变时,设备将修改相应状态寄存器位。通过不断查询设备的状态寄存器,CPU就可以了解设备的状态,从而进行必要的I/O操作。为了节约CPU资源,查询工作往往不是连续的,而是定时进行。 轮询方式具有简单、易实现、易控

2017-08-08 15:19:40 3907

原创 写一个函数满足:给定一个int list a,满足a[i+1]>=a[i],给定int key,找出list a中第一个大于等于key的元素的index,无满足要求的元素则返回-1.

”’ 题目: 给定一个int list a,满足a[i+1]>=a[i],给定int key,找出list a中第一个大于等于key的元素的index,无满足要求的元素则返回-1. 函数定义: def findIndex(int_list,int_key)”’#定义函数def findIndex(int_list, int_key): ''' 给定一个int list a,

2017-08-05 19:51:04 1085 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除