- 博客(37)
- 收藏
- 关注
原创 json文件操作
import json,osdata={'pid':'001','pname':'手机'}strjson=json.dumps(data,ensure_ascii=False)#字典转换为jsonprint('data原始数据',data)print('json转换数据',type(strjson))dict1=json.loads(strjson)#json转换字典print(ty...
2018-11-21 17:22:22
547
原创 python文件操作
import osimport timea=os.path.realpath(__file__)print('当前文件的绝对路径:{0}'.format(a))b=os.path.dirname(a)print('当前文件的目录的绝对路径:',b)fileName=os.path.basename(a)print('当前文件的名称',fileName)c=os.getcwd(...
2018-11-21 16:02:09
233
原创 python中的鸭子模型
python中没有多态,也用不着多态,python崇尚“鸭子模型”在程序设计中,鸭子类型(英语:duck typing)是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由当前方法和属性的集合决定。class A: def prt(self): print("A") class B(A): ...
2018-11-21 15:07:18
1300
原创 socket通讯
socket工作原理Socket通信是由一个服务器端(Server)和N个客户端(Client)组成。首先启动服务器端,当服务器开启后,等待客户端的接入。当某个客户端接入服务器后,即可开始进行数据通信。当通信结束时,客户端断开与服务器的连接。TCP协议TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建...
2018-11-20 11:20:26
195
原创 Mysql 操作
进入数据库:进入cmd,cd进入mysql安装目录bin文件夹里输入mysql -hlocalhost -uroot -p输入密码,进入mysql常用命令:show engines; 查看MySQL服务实例支持的存储引擎craete table 表名 (字段名 数据类型); 建表语句drop table 表名; 删除表...
2018-11-19 19:38:52
136
原创 python的算法
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。for n in range(100,1000): i = n // 100 j = n // 10 % 10 k = n % 10 if n == i ** 3 + j ** 3 + k ** 3:
2018-11-19 15:35:59
216
原创 python读取excel文件
Excel写入操作实现步骤1:获取excel文件的绝对路径步骤2:创建工作簿 workbook函数:xlwt.Workbook( encoding=字符编码集 ) : workbook对象步骤3:在工作簿中创建sheet单页函数:workbook对象.add_sheet( sheet单页的名称):sheet 对象步骤4:添加数据函数:sheet 对象.write( 行下标 , 列下标...
2018-11-19 14:43:07
292
原创 Ajax如何发送异步请求
案例介绍,昵称唯一性验证:1.HTML页面<td><input id="nick" type="text" placeholder="请输入不少于6位字符" name="nickName"><span id="nickInfo"></span></td>2.需要导
2018-11-19 14:34:12
447
原创 python 2与python 3的区别
1.print语句没有了,取而代之的是print()函数2.Python 2 有 ASCII str() 类型,unicode() 是单独的,不是 byte 类型。现在, 在 Python 3,我们最终有了 Unicode (utf-8) 字符串,以及一个字节类:byte 和 bytearrays。3.python 2.x中整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数除法会保留小数点...
2018-11-19 13:21:26
128
原创 jQuery
jQuery基本功能1.访问和操作DOM元素2.对页面事件的处理3.大量插件在页面中的运用4.与Ajax技术的完美结合虽然jQuery与JavaScript的功能基本相同,但使用jQuery能大幅提高开发效率。...
2018-11-19 13:17:21
112
原创 面向对象
面向对象的三大特征:继承:子类拥有父类的可访问属性和方法,提高代码的重用性。封装:通过语句块保护变量或对象的作用域,提高代码的安全性。多态:各种重载和重写的机制,提高代码灵活性。(特别说明,Python OOP没有多态特性)类的方法:1.实例方法 ( instanceMethod )- 使用频次最多2.类方法(classMethod)- 根据需求适度3.静态方法(staticMeth...
2018-11-16 17:56:52
109
原创 python 生成器
生成器 Generator使用( ) 不代表 元组推导式,而是实现了一个生成器,解析器在实时生成数据,数据不会驻留在内存中。因此,其执行效率很高!#生成器GeneratormyGenerator=(i**2 for i in range(10) if i%2==0)for item in myGenerator: print(item)生成器 yield 关键字yield ...
2018-11-16 16:34:03
133
原创 python 闭包 Closure
在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。(相当于给内部函数起别名)。实现规则:定义内部函数外部函数必须有返回值,而且返回值必须为内部函数对象#outer()是外部函数,a、b都是外函数的临时变量def outer(a): b=10 def inner(c):#内函数 print...
2018-11-16 16:00:51
179
原创 装饰器
装饰模式有很多经典的使用场景,例如插入日志、性能测试、事务处理等等。有了装饰器,就可以提取大量函数中与本身功能无关的类似代码,从而达到代码重用的目的。def calcTime(func): print('开始执行') startTime=time.time() func() endTime=time.time() print('结束计时') ms...
2018-11-16 15:40:49
159
原创 python 实现插入排序
"""插入排序"""import random#导入随机模块data=[random.randint(0,100) for i in range(10)]print('待排序的随机数列:{0}'.format(data))length=len(data)#获取列表数据的个数print(length)for i in range(1,length): x=data[i] ...
2018-11-16 14:21:48
182
原创 python实现银行金额大写汉字转换
银行电子支票业务在金额部分需要使用大写的汉字,因此需要将用户录入的数字信息转变为汉字。目前只需完成1~5位整数转换即可。a=['零','壹','贰','叁','肆','伍','陆','柒','捌','玖']b=['圆','拾','佰','仟','萬']money=int(input("请输入五位数"))#数据类型转换m1=money#创建maney副本变量m1#计算出输入数字的位数#...
2018-11-13 14:05:36
5737
2
原创 词云
词云”这个概念由美国西北大学新闻学副教授、新媒体专业主任里奇·戈登(Rich Gordon)于提出。“词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。import numpy as npimport matplotlib.pyplot as pltfrom wo...
2018-11-12 20:43:31
501
原创 布尔型索引
姓名数组names为一个一维的字符数组。存储数据的数组data使用 np.random.randn()自动生成一些正态分布的随机数据的二维数组,import numpy as np# 创建一个存储姓名的一维数组names = np.array(['Jame', 'Bob', 'Jack','Bob'])print (names)# 创建一个随机生成的数据数组4行3列data = np...
2018-11-12 20:07:57
1756
原创 切片索引
一维度数组的切片索引import numpy as np# 创建一个一维数组arr = np.arange(5)print ('arr数组:', arr)# 切片获取数据,从下标索引值为3到结束的切片print ('arrp[3:]的数据:', arr[3:])arrp[3:]的数据: [3 4]二维度数组的切片索引# 创建一个二维数组arr2d = np.array([[1...
2018-11-12 19:45:59
602
原创 基本索引
#创建一维数组arr=np.arange(10)print(arr)# 使用索引查找下标为5的元素print ('arr[5]索引查询结果:', arr[5])# 使用切片查找下标5~7的元素print ('arr[5:8]切片子集结果:', arr[5:8])# 设置切片中的所有元素新值为15arr[5:8] = 15# 输出一维数组print ('重新赋值后的arr数组:'...
2018-11-12 19:33:59
349
原创 数组矢量运算概述
# 创建二维数组矩阵arr(浮点类型)arr=np.array([np.arange(1,5),np.arange(6,10)],dtype=np.float64)print(arr)# 矩阵自乘arr1=arr*arrprint('矩阵自乘结果\n',arr1)# 矩阵自减arr2=arr-arrprint('矩阵自减结果\n',arr2)# 与标量相除arr3=1/arr...
2018-11-12 19:22:50
554
原创 ndarray的数据类型
ndarray对象(即 NumPy数组)中的元素类型可以一致,也可以不一致。但是如果我们在创建 ndarray对象时使用了 dtype 参数,则数组对象元素类型必须一致,否则报错f=np.array(range(5),dtype=np.int64)print(f)print(f.dtype)f_float=f.astype(np.float64)print(f_float)prin...
2018-11-12 19:10:57
3053
原创 nump
import numpy as np#创建全0数组a_zeros=np.zeros(5,dtype=np.int64)#创建数组,值全是0 5代表元素个数print(a_zeros,a_zeros.dtype)#创建全1数组b_ones=np.ones((3,6))#3代表一位数组的个数,6代表数组中的元素个数print(b_ones,b_ones.dtype)#创建多维数组c_e...
2018-11-12 18:57:56
1401
原创 Numpy模块
numpy是高性能科学计算和数据分析的基础模块包。它是科学计算与数据分析中几乎所有高级工具的构建基础。功能如下:ndarray:一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组。用于对整组数据记性快速运算的标准数学函数(无需编写循环)。用于读取磁盘数据的工具以及用于操作内存映射文件的工具。具备线性代数、随机数生成以及傅里叶变换功能。用于集成由 C、C++、Fortran等...
2018-10-31 20:33:08
136
原创 多线程的优势,洗杯子烧水线程
多线程运行优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。程序运行速度可能加快。用户界面可以更加吸引人。在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用。我们可以释放一些珍贵的资源如内存占用等。import threadingimport time#创建洗杯子线程类class WashCup(threading.Thread): def...
2018-10-22 20:57:26
666
原创 进程与线程
进程是操作系统的概念,它是一个应用程序运行的所需资源环境,我们称之为程序运行的上下文环境。进程的创建是由系统执行。线程是程序级别的概念,一个程序可以有多个线程同时执行(子功能可以同时执行)线程依赖进程。线程分为程序主线程和子线程两种。任何进程都会自动启动唯一的主线程,主线程可以随意启动多个子线程。...
2018-10-22 20:30:24
71
原创 生成器
使用()不代表元祖推导式,而是实现一个生成器,解析器在实时生成数据,数据不会驻留在内存中,其执行效率很高。myGenerator=(i*2 for i in range(10))for item in myGenerator: print(item)...
2018-10-22 14:26:56
85
原创 生成器yield关键字
yield是一个类似return的关键字,只是这个函数返回的是个生成器当你调用这个函数时,函数内部代码并不立即执行,这个函数只是返回一个生成器对象。当你使用for迭代时,函数中的代码才会执行。#使用yield方式创建一个生成器def createGenerator(): for i in range(10): yield i**2 pass m...
2018-10-22 14:23:10
319
原创 递归
在调用一个函数的过程中,直接或间接的调用了函数本身这个就叫递归1.递归实现阶乘:def funtion(n): if n==1: return 1 return n*funtion(n-1)res=funtion(5)print(res) 5的阶乘...
2018-10-22 12:43:10
77
原创 lambda函数的参数应用
1.使用默认值参数。lam1= lambda x,y=10:x + y print(lam1(2))结果:122.使用不定长参数 *argslam2=lambda *args:[i**2 for i in args]list1=lam2(1,2,3)print(list1)结果:[1,4,9]3. 使用不定长参数**kwlam3=lambda **kw:{item for ...
2018-10-22 12:10:11
593
原创 lambda函数表达式
1.lambda函数使用内置函数作为表达式lam1=lambda x:print(x)print(lam1(4))42.lambda函数使用自定义函数作为表达式import time def formatTime(nowTime): return time.strftime('%Y-%m-%d')lam2=lambda timedate:formatTime(timedat...
2018-10-22 11:42:22
353
原创 匿名函数lambda
python使用lambda创建匿名函数:1.lambda只是一个表达式,函数体比def简单很多。2.lambda主体是一个表达式,不是代码块。仅仅能在lambda表达式中封装有限的逻辑进去。3.lambda函数拥有自己的命名空间,且不能访问私有参数列表之外或全局命名空间里的参数。4.lambda函数看起来只能写一行,且真正目的为了简化代码。语法:lambda表达式=lambda[arg...
2018-10-22 11:30:11
236
原创 python 函数,*argv和**kw的区别
1.函数(function)是组织好的,可以重复利用的,用来实现单一,或者关联功能的代码段。2.函数能提高应用的模块性和代码的重复利用率。相同点:两个参数必须为函数定义中参数列表中的排名最后的参数不同点:1.*argv代表该参数位置可以放置任意个数的数据,最终都会转化成元祖数据类型在函数体内处理2.**kw代表该参数位置可以放置k=v格式的数据,最终都会转化成字典类型在函数体内处理...
2018-10-22 11:09:32
3216
原创 python输出1-100的奇数
n=1while n<101: k = n % 2 if k==0: pass else: print(n) n=n+1
2018-10-09 20:22:01
21380
原创 python 使用while循环输出1 2 3 4 5 6 8 9 10
#输出1 2 3 4 5 6 8 9 10n=1while n<11: if n==7: pass else: print(n) n=n+1
2018-10-08 21:01:39
16244
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人