自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python中logging模块的一些简单用法

https://www.cnblogs.com/CJOKER/p/8295272.html

2021-10-10 11:00:11 121

原创 Python中的魔法函数

这里是引用魔法函数

2021-09-28 16:01:15 119

原创 Python基础知识

python

2021-09-28 15:59:34 126

原创 try/except...else

try/except…elsetry/except语句还有一个可选的else子句,如果使用这个子句,那么必须放在所有的except子句之后。else子句将在try子句没有发生任何异常时执行。异常处理并不仅仅处理那些直接发生在try子句中的异常,还能处理子句中调用的函数(甚至间接调用的函数)里抛出的异常。try-finally语句try-finally语句无论是发生异常都将执行最后的代码实例:详细可参考https://www.runoob.com/python3/python3..

2021-09-26 20:28:34 767

原创 anaconda使用遇到的问题

Anaconda 使用总结使用anaconda创建python的虚拟环境流程以及遇到的问题简单总结一下,方便下次使用。创建新的环境# 指定创建python的版本conda create -n your_name python=2.7激活环境activate your_name可以查看当前环境下已经安装的packageconda list安装package# 可以指定安装包的版本conda install numpy==1.12.1卸载包conda rem

2021-09-03 20:52:30 2125

原创 Opencv图像处理--形态学操作

1 连通性在图像中,最小的单位是像素,每个像素周围有8个临界像素,常见的邻接关系有3种:4邻接、8邻接和D邻接。分别如下图所示:4邻接:像素p(x,y)的4邻域是:(x+1,y);(x-1,y);(x,y+1);(x,y-1),用N4§表示像素p的4邻域D邻接:像素p(x,y)的D邻域是:对角上的点(x+1,y+1);(x+1,y-1);(x-1,y+1);(x-1,y-1),用ND§表示像素p的D邻域8邻接:像素p(x,y)的8邻域是:4邻域的点+D邻域的点,用N8§表示像素p的8邻域连通

2021-05-16 11:12:19 681 1

原创 Opencv图像处理--几何变换

1 图像缩放缩放是对图像的大小进行调整,即使图像放大或缩小。1.API`cv2.resize(src, dsize, fx=0, fy=0, interpolation=cv2.INTER_LINEAR)`参数:src:输入图像dsize:绝对尺寸,将dsize设置为None,然后将fx和fy设置为比例因子即可interpolation:插值方法示例import numpy as npimport cv2 as cvimport matplotlib.pyplo

2021-05-09 10:40:48 296 1

原创 图像的加法

你可以使用Opencv的cv.add()函数把两幅图像相加,或者可以简单地通过numpy操作添加两个图像,如res = img1+img2。两个图像应该具有相同的大小和类型,或者第二个图像可以是标量值。注意:Opencv加法和Numpy加法之间存在差异。Opencv的加法是饱和操作,而Numpy添加是模运算。代码:import numpy as npimport matplotlib.pyplot as pltimport cv2 as cv# 读取图像rain = cv.imread(".

2021-05-06 23:02:16 186

原创 使用opencv绘制基础图像

1 绘制直线cv.line(img, start, end, color, thickness)参数:img:要绘制直线的图像start,end:直线的起点和终点color:线条的颜色thickness:线条宽度2 绘制圆形cv.circle(img, centerpoint, r, color, thickness)参数:img:要绘制图形的图像centerpoint,r:圆心和半径color:线条的颜色thickness:线条宽度,为-1时生成闭合团并填充颜色3

2021-04-25 17:46:11 194

原创 使用matplotlib和opencv将彩色图转换为灰度图

1 读取图像APIcv.imread()参数:读取方式的标志cv.IMREAD*COLOR:以彩色模式加载图像,任何图像的透明度都将被忽略。这是默认参数。cv.IMREAD*GRAYSCALE:以灰度模式加载图像cv.IMREAD_UNCHANGED:包括alpha通道的加载图像模式。可以使用1,0,-1来代替上面三个标志参考代码import numpy as npimport matplotlib.pyplot as pltimport cv2 as c

2021-04-25 10:36:00 2966 2

原创 机器学习基本环境及图像绘制

1.机器学习概述1.1人工智能概述1.人工智能起源图灵测试达特茅斯会议2 .人工智能、机器学习和深度学习垃圾邮件分类属于机器学习,识别物体属于深度学习;机器学习是人工智能的一种实现途径;深度学习是机器学习的一种方法发展而来3.主要分支介绍1.计算机视觉人脸识别2.自然语言处理语音识别语义识别3.机器人4.人工智能发展必备三要素1.数据2.算发3.计算力5.CPU,GPUGPU – 计算密集型CPU – IO密集型1.2机器学习工作流程1.定义数据、自动分析、

2020-10-14 17:17:45 594

原创 format

1、format的基本用法(1)不带编号,即 {}(2)带数字编号,可调换顺序,即 {1} ,{2}(3)带关键字,即 {a} ,{tom}name = 'xz'gender = '女'age = 18print('姓名:%s,性别:%s,年龄:%d'%(name,gender,age))print('姓名:{},性别:{},年龄:{}'.format(name,gender,age))# 有数字编号的可以反复使用print('姓名:{0},性别:{1},年龄:{2}'.format

2020-10-14 14:50:03 127

原创 文件的其他操作

1、读取模式(1)读取文本文件① t 读取文本文件(默认值)② size 是以字符为单位的(2)读取二进制文件① b 读取二进制文件② size 是以字节为单位2、tell()- 查看当前读取的位置3、seek()- 可以修改当前读取的位置- seek()需要两个参数(1)要切换到的位置(2)计算位置方式① 0 从头计算,默认值② 1 从当前位置计算③ 2 从最后位置开始计算4、其他操作(1)os.listdir()- 获取指定目录的目录结构,需要一个路径作

2020-10-05 23:02:09 94

原创 文件的打开和关闭

一、文件(File)- 通过Python程序来对计算机中的各种文件进行增删改查的操作- I / O(Input / Output)- 操作文件的步骤①打开文件②对文件进行各种操作(读、写),然后保存③关闭文件1、打开文件(1) 使用open函数来打开一个文件(2) 参数:file 要打开文件的名字(路径)返回值:返回一个对象,这个对象就代表了当前打开的文件(3) 如果目标文件和当前文件在同一级目录下,则直接使用文件名即可- 在window系统使用路径时,可以使用 / 来代替 \

2020-10-05 20:10:47 1424

原创 异常

一、异常- 程序在运行过程中,不可避免的出现一些错误,这些错误在程序中,将其称为异常- 程序运行过程中,一旦出现异常会导致程序立即终止,异常以后的代码全部都不会执行二、处理异常的方法1、try 语句try :代码块(可能出现的语句)except 异常类型 :代码块(出错以后的处理方式)else :代码块(没出错时要执行的语句)finally :代码块(该代码块总会执行)① 如果except后不跟任何内容,则此时他会捕获到所有的异常② 如果在except后跟着异常的类型,那么此时

2020-10-05 13:12:26 115

原创 Python标准库

一、开箱即用- 为了实现开箱即用的思想,python中提供了一个模块的标准库,在这个标准库中,有很多很强大的模块可以直接使用,并会随着python的安装一同安装1、sys模块- 提供了一些变量和函数,使我们可以获取到python解析器的信息或者通过函数来操作python解析器(1)引入sys模块 : import sys(2)sys.argv- 获取执行代码时,命令行中所包含的参数- 该属性是列表,列表中保存了当前命令的所有参数(3)sys.modules- 获取当前程序中的

2020-10-05 10:38:36 103 1

原创 模块

一、模块(module)1、模块化(1)指将一个完整的程序分解为一个一个小的模块,通过将模块组合,来搭建出一个完整的程序- 不采用模块化,统一将所有的代码编写到一个文件中- 采用模块化,将程序分别编写到多个文件中(2)模块化的优点:① 方便开发② 方便维护③ 模块可以复用2、创建模块- 在Python中一个py文件就是一个模块,要想创建模块,实际上就是创建一个python文件注意:模块名要符号标识符的规范3、引用模块-在一个模块中引入外部模块① import 模块名(模块名,就是

2020-10-04 12:05:32 415 1

原创 特殊方法

一、特殊方法(魔术方法)- 特殊方法都是使用__开头和结尾的- 特殊方法一般不需要手动调用,需要在一些特殊情况下自动执行1、str()(1)这个特殊方法会在尝试将对象转换为字符的时候调用(2)它的作用可以用来指定对象转换为字符串的结果(print函数)2、repr()(1)这个特殊方法会在对当前对象使用repr()函数时调用(2)它的作用是指定对象在 ‘ 交互模式 ’ 中直接输出的结果3、 object.gt(self,other) 大于(1)会在对象做大于比较的时候调用

2020-09-29 17:00:22 469

原创 类中的属性和方法、垃圾回收

一、类中的属性和方法1、类属性(1)直接在类中定义的属性是类属性(2)类属性可以通过类或类的实例访问到,但是类属性只能通过类对象来修改,无法通过实例对象修改2、实例属性(1)通过实例对象添加的属性属于实例属性(2)实例属性只能通过实例对象来访问和修改,类队形无法访问修改3、实例方法(1)在类中定义,以self为第一个参数的方法都是实例方法,(2)实例方法在调用时,Python会讲调用对象作为self传入(3)实例方法可以通过实例和类去调用- 当通过实例调用时,会自动将当前调用队形作为s

2020-09-29 15:16:03 253

原创 多态

一、多态1、多态是面向对象的三大特征之一2、多态从字面上理解是多种形态,一个对象可以以不同的形态去呈现# 定义两个类class A: def __init__(self,name): self._name = name @property def name(self): return self._name @name.setter def name(self,name) self._name = nam

2020-09-29 10:58:05 99

原创 继承(方法的重写、多重继承)

一、继承1、定义一个类Animal(动物)- 这个类中需要两个方法:run() sleep()class Animal : def run(self): print('动物会跑~~') def sleep(self): print('晚安~~~') 2、定义一个类Dog(狗),这个类中需要三个方法:run() sleep() bark()- 上面的类,能够实现需要的大部分功能,但是不能实现全部功能- 怎样让上面这个类实现全部的功能呢

2020-09-25 22:49:59 557

原创 封装[ 简介、隐藏类的属性、property装饰器]

一、封装1、封装是面向对象的三大特征之一- 封装指的是隐藏对象中一些不希望被外部所访问到的属性或方法2、如何隐藏一个对象中的属性- 将对象的属性名,修改为一个外部不知道的名字class Dog : def __init__(self,name): self.hidden_name = name def say_hello(self) : print('大家好,我是%s'%self.hidden_name)d= Dog('汪汪')# 修改为一个外

2020-09-24 11:56:44 184

原创 类的特殊方法

2020-09-23 23:40:21 85

原创 对象的初始化

一、对象的初始化1、前提:- 目前来说,对于Person类来说name是必须的,并且每一个对象中的name属性基本上都是不同,而现在是将name属性在定义为对象以后,手动添加到对象中,这种方式很容易出现错误- 因此希望,在创建对象时,必须设置name属性,如果不设置对象将无法创建,并且属性的创建应该是自动完成的,而不是在创建对象以后手动完成- 如下:手动向对象添加name属性的方法class Person : def say_hello(self) print ('大家好,我是%

2020-09-23 23:36:34 610

原创 类的定义

一、类的定义1、类和对象都是对现实生活中或程序中的内容的抽象,由两部分组成,数据(属性)和行为(方法)# 尝试定义一个表示人的类class Person : # 在类的代码块中,我们可以定义变量和函数 # 在类中我们所定义的变量,将会称为所有的实例的公共属性 # 所有实例都可以访问这些变量 name = 'xz' # 公共属性,所有实例都可以访问 # 在类中也可以定义函数,类中的定义的函数,我们称之为方法 # 这些方法可以通过该类的所有实例来访问

2020-09-23 21:10:51 1271

原创 面向对象,类

一、面向对象1、什么是对象(1)对象是内存中专门用来存放数据的一块区域(2)对象可以存放各种数据(比如:数字、布尔值、代码)(3)对象由三部分组成:①对象的标识(id)②对象的类型(type)③对象的值(value)2、面向过程的语言(1)面向过程指将我们的程序的逻辑分解为一个一个的步骤,通过对每个步骤的抽象,来完成程序(2)例子:- 孩子上学1、妈妈起床2、妈妈上厕所3、妈妈洗漱4、妈妈做早饭5、妈妈叫孩子起床6、孩子上厕所7、孩子洗漱8、孩子吃饭9、孩子背书包上学

2020-09-21 21:48:54 76

原创 闭包,装饰器引入与使用

一、闭包1、将函数作为返回值返回,也是一种高阶函数,这种高阶函数称为闭包,通过闭包可以创建一些只有当前函数能访问的变量,可以将一些私有的数据藏到闭包中2、形成闭包的要件(1)函数嵌套(2)将内部函数作为返回值返回(3)内部函数必须要使用外部函数的变量def fn() : a = 10 # 函数内部再定义一个函数 def inner() : print ('我是fn2',a) # 将内部函数inner 作为返回值返回 return inner

2020-09-20 22:53:12 73

原创 高阶函数

一、函数式编程1、在Python中,函数是一等对象(1)一等对象一般会具有以下特点①对象是在运行时创建的②能赋值给变量或作为数据结构中的元素③能作为参数传递④能作为返回值返回(2)高阶函数①接受一个或多个多个函数作为参数②将函数作为返回值返回二、高阶函数1、接收函数作为参数,或者将函数作为返回值的函数就是高阶函数# 创建一个列表l = [1,2,3,4,5,6,7,8,9,10]# 定义一个函数# 可以将指定列表中的所有的偶数,保存到一个新的列表中返回def fn(list

2020-09-20 21:03:07 146

原创 递归

1、求10的阶乘(10!)# 创建一个变量保存结果n = 10for i in range(1,10): # 表示数字从1~9 n *= iprint (n)2、创建一个函数,用来求任意数的阶乘def fun(n) : ''' 该函数用来求任意数的阶乘 参数: n 要求阶乘的数字 ''' # 创建一个变量,来保存结果 result = n for i in range(1,n) :

2020-09-15 23:21:09 140

原创 作用域,命名空间

一、作用域与命名空间1、作用域(scope)(1)作用域指的是变量生效的区域def fn(): a = 10 # a定义在了函数内部,所以它的作用域就是函数的内部,函数外部无法访问 print ('函数内部:','a =',a)fn()print('函数外部:','a =',a)(2)在python中一个有两种作用域①全局作用域- 全局作用域在程序执行时创建,在程序执行结束时销毁- 所有函数以外的区域都是全局作用域- 在全局作用域中定义的变量,都属于全局变量,全局变量可

2020-09-15 22:01:09 100

原创 返回值、文档字符串

一、返回值1、返回值就是函数执行以后返回的结果可以通过return 来指定函数的返回值可以直接使用函数的返回值,也可以通过一个变量来接收函数的返回值def fn() : # return 后面跟什么值,函数就会返回什么值 # return 后面可以跟任意的对象,返回值甚至可以时一个函数 # return 100 # return 'hello' # return [1,2,3] # return {'k':'v'} def fn2() :

2020-09-14 21:56:45 170

原创 不定长参数,解包

一、不定长参数1、在定义函数时,可以在形参前边加上一个*,这样这个形参将会获取到所有的实参,它将所有的实参保存到一个元组中注意:*1、带星号的形参只能有一个2、 带星号的参数,可以和其他参数配合使用3、可变参数不是必须卸载最后,但是注意,带的参数后的所有参数,必须以关键字参数的形式传递4、如果在形参的开头直接写一个,则要求我们的所有的参数必须以关键字参数的形式传递5、形参只能接受位置参数,而不能接收关键字参数# *a会接受所有的位置实参,并且将这些实参同意保存到一个元组中(装包)def fn

2020-09-14 16:18:18 578

原创 函数简介,函数参数

一、函数(function)1、函数简介(1)函数也是一个对象,对象是内存中专门用来存储数据的一块区域。(2)函数可以用来保存一些可执行的代码,并且可以在需要时,对这些语句进行多次调用2、创建函数:(1)def 函数名 ([形参1,形参2,…形参n]):代码块(2)函数中保存的代码不会立即执行,需要调用函数代码才会执行3、调用函数(1) fn是函数对象,fn()调用函数print是函数对象,print()调用函数# 定义一个函数def fn() : print('这是我的第

2020-08-21 15:45:54 756

原创 字典,集合

一、字典1、删除(1)deld = {'a':1,'b':2,'c':3}# 使用del来删除字典中的key-valuedel d['a']del d['b']del d['z'] # z不存在,报错print (d)(2)popitem# 随机删除字典中的一个键值对,一般都会删除最后一个键值对# 删除之后,它会将删除的key-value作为返回值返回# 返回的是一个元组,元组中有两个元素,第一个元素是删除的key,第二个是删除的value# 当使用popitem

2020-08-20 21:31:28 97

原创 可变对象,字典

一、可变对象1、每个对象中都保存了三个数据:(1)id (标识)(2)type(类型)(3)value(值)2、列表就是一个可变对象a = [ 1 , 2 , 3 ]3、a[0] = 10(改对象)(1)这个操作是在通过变量去修改对象的值(2)这种操作不会改变变量所指向的对象(3)当修改对象时,如果有其他变量也指向了该对象,则修改也会在其他变量中体现# 可变对象a = [1,2,3]print ('修改前:',a,id(a))# 通过索引修改列表a[0] = 10print

2020-08-19 21:16:30 608

原创 range() 和 元组tuple

一、range()1、range()是一个函数,可以用来生成一个自然数数列2、该函数需要三个参数(1)起始位置(可以省略,默认是0)(2)结束位置(3)步长(可以省略,默认是1)r = range(5) # 生成一个这样的序列【0,1,2,3,4】r = range(0,10)print (list (r))3、通过range()可以创建一个执行指定次数的for循环for()循环除了创建方式以外,其余的都和while一样,包括else、break、continue都可以在for循

2020-08-17 22:06:24 1736

原创 EMS(Employee Manager System 员工管理系统)练习

一、员工管理系统1、功能(1)查询显示当前系统当中的所有员工(2)添加将员工添加到当前系统中(3)删除将员工从系统当中删除(4)退出# 显示系统的欢迎信息print ('-'*20,'欢迎使用员工管理系统','-'*20)# 创建一个列表,用来保存员工的信息,员工的信息以字符串的形式同意保存到列表emps = ['肖战\t29\t男\t四川','邓伦\t28\t男\t河北']# 创建一个死循环while True : # 显示用户的选项 print ('请选择您

2020-08-17 17:33:17 505

原创 序列

一、序列1、序列是Python中最基本的一种数据结构,数据结构指计算机中数据存储的方式2、序列的分类(1)可变序列(序列中的元素可以改变)① 通过切片来修改列表# 在给切片进行赋值时,只能使用序列stus [0:2] = ['hd','zpy'] # 使用新的元素替换旧元素stus [0:0] = ['ji'] # 向索引为0的位置插入元素 ②删除元素del stus[2]# 通过切片删除元素del stus [0:2](2)不可变序列(序列中的元素不能改变)

2020-07-23 23:02:20 399

原创 小游戏1----唐僧大战白骨精

1、身份选择(1)显示提示信息欢迎光临 xxx 游戏!请选择你的身份:1、xxx2、xxx请选择: x(2)根据用户选择分配身份2、游戏进行(1)显示玩家的基本信息(攻击力、生命值)(2)显示玩家可以进行的操作① 练级:提升玩家的攻击力和生命值② 打BOSS玩家对BOSS进行攻击,玩家要攻击BOSS,BOSS对玩家进行攻击计算BOSS是否被玩家消灭,或者玩家是否被BOSS消灭游戏结束③ 逃跑:退出游戏,显示提示内容,游戏结束!...

2020-07-16 20:10:19 416

原创 Python----基础知识7--循环语句

一、循环语句1、while循环(1)语法:while 条件表达式:代码块(2)执行流程:条件表达式恒为true的循环语句,称为死循环,它会一直运行,慎用!(3)循环的三个要件(表达式)–初始化表达式,通过初始化表达式初始化一个变量–条件表达式用来设置循环执行的条件–更新表达式,修改初始化变量的值i=0while i<10 : i+=1 print (i,"hello")else : print ("jisuanji")...

2020-07-12 14:17:02 142

空空如也

空空如也

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

TA关注的人

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