自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Excel的第一天学习

在视图里面点击显示网格线 就会显示出网格线页面切换区 在右下角 分为普通视图 页面布局 分页预览enter向下,tab向左tab+shift向右 或者直接使用键盘上下左右移动双击栏位边线自动适配文字长度跨栏置中按钮使得标题跨栏居中1.跨栏置中:按钮选择合并后居中框选多格,调整任意格长度后所有格长度变得一致1.将所有栏宽设为一致:选中所有栏,设置其中一栏的宽度,其余自动变更日期标准格式为/分开格式,如2021/7/3 这种格式的日期可以右键-储存格格式更改日期格式或..

2021-07-03 11:41:52 360

原创 FCM算法分割图像代码

FCM算法分割图像 1clcclearclose all%% create samples:img = imread(‘1.jpg’); %img为uint8类型的subplot(1,2,1),imshow(img,[])data = double(img(????); %将img转换成double类型的,用data表示,data是一个列数组,只有一列%cluster_n = 4;%分类总数iter = 6;%迭代次数m = 2;%m属于(1到无穷大)本文选m=2num_data =

2020-07-23 22:24:40 1213

原创 matlab FCM算法实现

代码实现:clcclearclose alldata = rand(100,2);[center,U,obj_fcn] = fcm(data,2);subplot(1,2,1);plot(data(:,1), data(:,2),‘o’);hold on;maxU = max(U);% Find the data points with highest grade of membership in cluster 1index1 = find(U(1,:) == maxU);% Fi

2020-07-22 10:59:45 591

原创 json模块

一,将字典写入文件hello中dic=’{‘name’:‘alex’}’ #加引号成为字符串f=open(‘hello’,‘w’)f.write(dic)读取该文件内容f_read=open(‘hello’,‘r’)data=f_read.read()print(type(data)) #此时拿到的数据类型是字符串,不可以进行字典的操作data=eval(data)print(data[‘name’]) #此时拿到的是alex二,使用json模块来实现上述功能dic={’‘name

2020-06-16 11:47:52 138

原创 sys模块的介绍

进度条制作的原理:import timefor i in range(50):sys.stdout.write(’#’)time.sleep(0.1)sys.stdout.flush()间隔0.1秒打印#,共50个,每打印一次屏幕会显示一个。

2020-06-16 10:05:22 299

原创 OS模块的介绍

1,os.getcwd()ccs.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径2,os.chdir(‘dirname’) 改变当前脚本工作目录 os.chdir(’…’)两个点是返回到上一层目录,一个点是返回当前目录。3,os.makedirs(‘dirname1/dirname2’) 可生成多层递归目录。4,os.removedirs(‘dirname1/dirname2’) 删除dirname2,若目录为空则删除,并递归到上一级目录,若上一级也是空的则一并删除,以此类推

2020-06-10 11:32:03 352

原创 BASEDIR的介绍

一,通过这样的方式取bin目录下的bin 文件

2020-06-06 15:46:25 970

原创 random模块

一,例子:import randomprint(random.random())print(random.randint(1,3))print(random.randrange(1,3))print(random.choice([11,22,33,‘we’]))print(random.sample([11,22,33,44,55],2))print(random.uniform(2,9))shuffle.>>打乱顺序a=[1,2,3,4,5]random.shuffle

2020-06-03 16:09:33 123

原创 time时间模块

一,时间戳 #计算时间import timeprint(time.time())二,结构化时间,计算当下的时间import timeprint(time.localtime())结构化时间UTCprint(time.gmtime())将结构化时间转化为时间戳print(time.mktime(time.localtime()))将结构化时间转化为字符串时间print(time.strftime(’%Y-%m-%d %X’,time.localtime()))将字符串时间转化为结构

2020-06-03 11:44:52 119

原创 模块的执行以及--name--

一,两种方式执行函数采用第一种灰色字体的方式,要写成 print(cal.add(2,6))二,在执行文件中打印print(name)输出结果是 main如果在执行文件中运行函数前加入if name==‘main’目的是不想让这个文件成为被调用文件。如果在调用文件中打印print(name),输出结果是路径 。...

2020-06-02 21:44:59 82

原创 module模块和包的介绍

一,模块 import 1.执行对应文件2.引入变量名在一个文件中写入功能函数,另一个文件中进行调用caal文件中写入下面的函数在text文件中写入如下代码:import caalprint(caal.add(3,5))print(caal.sub(3,5))或者1:from caal import addfrom caal import subprint(add(3,5))print(sub(3,5))或者2:(星号代表引入文件的全部内容)不推荐from caal impor

2020-06-02 16:08:45 306

原创 程序的解耦

目的是将修改功能和查询功能中的文件操作放到一个新的函数中,用到的时候直接调用即可。这样可以节省空间。结果在return ret执行change操作时:函数调用写法如下(不全):

2020-05-30 13:12:15 129

原创 修改功能

这篇与上一篇博客结合着看,中间未展示的内容上一篇有。由于菜鸟博主这块内容还有些燃,似懂非懂,所以只把代码贴出来,希望可帮助到大家。

2020-05-30 11:13:02 79

原创 查询功能

查询以backend 开头的内容

2020-05-28 15:02:29 156

原创 函数闭包带参数装饰器

一,

2020-05-26 15:15:09 84

原创 函数闭包模拟session

一,将函数进行修改后只需要输入一次用户名和密码即可执行全部函数。

2020-05-25 23:04:21 81

原创 函数闭包补充:解压序列

一,将l=[1,2,3,4,5]中第一个和最后一个取出来在终端输入:a,*_,b=l即a=1,b=5二,交换f1,f2的值在终端输入f1,f2=f2,f1三,函数闭包为函数加上认证功能利用闭包加参数编写函数。strip() 去除首尾空格...

2020-05-25 16:52:55 103

原创 函数闭包加上返回值

一,执行print(res)返回值是None,执行text相当于执行timmer,相当于执行里面的wrapper函数,由于没有返回值,故返回None。当wrapper有了返回值后,才能打印text中的返回值

2020-05-24 18:23:47 254

原创 函数闭包装饰器基本实现

一,满足了装饰器的条件

2020-05-24 18:08:03 82

原创 函数闭包加参数

2020-05-24 16:49:16 101

原创 装饰器基本理论和使用

一,装饰器:本质就是函数,功能是为其他函数添加附加功能原则:不修改被修改函数的源代码不修改被修改函数的调用方式装饰器=高阶函数+函数嵌套+闭包导入个时间函数,来计算运行的时间。二,高阶函数定义:1,函数接收的参数是一个函数名2,函数的返回值是一个函数名3,满足上述条件的任意一个都可以称之为高阶函数...

2020-05-24 15:24:49 68

原创 生成器内容回顾

一,生成器只能遍历一次(sum,list,next,map,filter…都可遍历),故输出结果为0,1,2,3,[]二,执行t=test()并不会有任何值的传入,只有执行next之后才会有值。执行t1,t2之后也不会有值传入,并没有进行遍历,执行第一个print后,list是遍历了一遍t,将值全部取出,故执行第二个print不会有任何值的输出,生成器只能遍历一次。...

2020-05-24 10:31:31 139

原创 练习题2

一,转字节的两种方式s=‘老男孩’print(type(s))a=bytes(s,‘utf8’)s.encode(‘utf8’)二,reduce+lambda实现7!from functools import reduceprint(reduce(lambda x,y:x*y,[x for x in range(1,8)]))使用函数的方式实现7!三,利用with实现同时打开两个文件(一读一写,并将读取的内容写入到写入模式的文件中)四,猴子吃桃,每天吃全部桃子的一半加1,第十天剩1个

2020-05-23 18:32:49 87

原创 练习题

一,输出结果为:1 () {‘name’: ‘fuck’}()None二,结果为:[11, 22, 33, 44, 55][11, 22, 33, 44, 55, 55]None三,结果为:1087NoneNone四,

2020-05-22 22:34:29 55

原创 生产者消费者模型

一.yield相当于return,他控制的是函数返回值,x=yield另一个特性是接收send传来的值,然后赋值给x。最后一行的print是生成器的第三种表达形式,在上一行运行到的位置继续往下执行,与上一句的print功能一样,只是多加了个赋值,将send里的值赋给yield,yield再传给first。例:上述两个程序并发运行...

2020-05-22 11:04:24 55

原创 生成器特性阐释

一,生成器优点:1.延迟计算,一次返回一个结果,不会一次生成所有结果。2.生成器可有效提高代码可读性。注意:生成器只能遍历一次。(母鸡一生只能下一定数量的蛋,下多了会over)例子:人口普查文件内容如下:此时输出的是文件第一行内容的人口数,eval是将字符串转化为字典将文件中所有的人口数据取出来并求和计算得到人口的总数求各省所占总人口比例:执行上述的代码并不会输出结果,因为生成器只能遍历一次,我们在执行sum语句时,就遍历了我们的生成器,当两次遍历生成器时就不会有任何的记录。

2020-05-21 18:49:54 334

原创 母鸡下蛋例子

上述方法1.占空间大2.效率低使用这种方法解决了上述问题

2020-05-21 16:26:27 204

原创 生成器函数的好处

一,不需要等函数全部运行出结果,执行一个next输出一个结果。

2020-05-21 10:17:34 248

原创 三元运算,列表解析,生成器表达式

一,生成器就是可迭代对象,可以理解为一种数据类型,这种数据类型自动实现了迭代器协议。1.生成器函数:常规函数定义,但是使用yield语句而不是return语句,yield可以返回多个值。2.第二行的式子称为 三元表达式(没有四元表达式,可以两元)name=‘alex’res=‘hk’ if name==‘song’ else ‘pl’print(res)3.列表解析l=[‘鸡蛋%s’ %i for i in range(5)]print(l)等价于:egg_list=[]for i

2020-05-19 22:31:29 126

原创 迭代器补充

补充上篇文章中的print(iter_text.next())语句等价于:print(next(iter_text))这里的next是python内置的函数。

2020-05-19 15:17:14 56

原创 迭代器协议和for循环工作机制

一,1.迭代器协议:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个stoplteration异常,以终止迭代,只能往后走,不能往前退。可迭代对象:实现了迭代器协议的对象例子:l=[1,2,3]iter_text=l.iter() #遵循迭代器协议,生成可迭代对象print(iter_text)print(iter_text.next())print(iter_text.next())print(iter_text.next())输出结果为1,2,3列表,

2020-05-19 15:05:55 161

原创 文件seek方法补充

1.若不指定括号中的1,系统默认为0f=open(‘test’,‘r’,encoding=‘utf-8’)print(f.tell())f.seek(10)print(f.tell())f.seek(3)print(f.tell())输出结果为0,10,32.指定为1,只能使用b模式f=open(‘test’,‘rb’)print(f.tell())f.seek(10,1)print(f.tell())f.seek(3,1)print(f.tell())输出结果为0,10,13

2020-05-19 10:33:54 359

原创 文件操作的其他方法

f.flush() #刷新 f.tell() # 告诉指定位置 f=open('test','r',encoding='utf-8',newline='') #newline=''是读取文件中真正的换行符号 f.seek() #控制光标的移动 #一个中文代表三个字节,若读取的文件中有中文,则f.seek(1) print(f.read()),直接读取文件内容会报错,若是改为f.seek(3)之后再读取就会读取到第一个文字之后的内容。 f.read(4) #读取的是文...

2020-05-16 11:36:02 48

原创 文件处理b模式

一, rb 二进制方式读取f=open(‘test’,‘rb’) #b的方式不能指定编码#‘字符串’ ———encode——字节#字节———decode——‘字符串’print(f.read(),decode(‘utf-8’))f.close()二,进行编码操作bytes(‘玥’,encoding=‘utf-8’)等价于:‘玥’.encode(‘utf-8’)三,wb 二进制方式写入f=open(‘test’,‘wb’) #b的方式不能指定编码f.write(bytes(‘hello

2020-05-14 11:20:10 190

原创 前几节回顾

一,用map函数将列表转为字符串l=[1,2,3,4]print(list(map(str,l)))二,用reduce函数实现列表元素相加l=[1,2,3,4]from functools import reduceprint(reduce(lambda x,y:x+y,l))三,用filter函数将结尾是OK的人名去掉name=[‘alex_ok’,‘song’]print(list(filter(lambda x :not x.endswith(‘ok’),name)))四,使用‘r

2020-05-14 10:00:52 61

原创 文件操作的其他模式

一,打开文件‘宋’,并读取内容f=open(‘宋’,encoding=‘utf8’)data=f.read() #打开文件print(data)f.close() #关闭文件二, r 只读 w 只写 af=open(‘宋’,‘r’,encoding=‘utf-8’)print(f.readable()) #输出为trueprint(‘第一行’,f.readline()) #读取文件的第一行(一次读一行)print(‘第二行’,f.readline()) #读取文件的第二行print

2020-05-13 11:18:26 87

原创 其他内置函数

一,含义相反,数字与ASCII相互转化print(chr(97))print(ord(‘a’))二,立方,立方后取余print(pow(3,3)) #3的3次print(pow(3,3,2)) #3的3次,后对2取余三,反转l=[1,2,3,4]print(list(reversed(l)))四,四舍五入print(round(3.5))五,变成集合print(set(‘hello’))六,切片s=[1,2,3,4,5,6]s1=slice(3,5)s2=slice(1,4,

2020-05-12 22:31:02 61

原创 max和min的高级使用

一,比较年龄的最大值并输出 同时输出keys和valuesage_dic={‘agesong’:18,‘ageliu’:7,‘agezhang’:45}print(list(max(zip(age_dic.values(),age_dic.keys()))))二,不同类型间不能进行比较l1=[‘a19’,‘b19’,‘c2’]print(list(max(l1)))按照第一位进行比较,分出大小后就不会继续进行比较,第一位相同就比较第二位。三,直接比较字典最大值,默认比较keyage_dic=

2020-05-12 10:06:25 794

原创 内置函数

一,1.print(abs(-1))2.print(all([‘120’,0])) 输出为False,列表元素布尔值全为True,输出结果为True,含有0,’ ‘,None,输出结果为False若可迭代对象是空 print(all(’ ')),则返回True3.print(any([‘120’,0])) 输出结果为True,只要有一个结果为True,返回值为True4.print(bin(3)) 将十进制转化为二进制5.print(bool(0)) 判断布尔值6.print(bytes(‘宋

2020-05-10 11:27:37 164

原创 map reduce filter总结

#map()处理序列中的每个元素,得到的结果是一个‘列表’,该‘列表’元素个数和位置与原来一样。#filter()遍历序列中的每个元素,判断每个元素得到的结果是布尔值,若结果是True则保留下来。#reduce()处理一个序列,然后把列表进行合并操作。...

2020-05-09 21:18:53 75

空空如也

空空如也

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

TA关注的人

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