Python
文章平均质量分 59
Python
行秋
这一生想成为神,下一世想变成石头。
展开
-
Python-使用imgaug 进行图像增强
imgaug是一个用于机器学习实验中图像增强的库。它支持广泛的增强技术,允许轻松组合这些技术并以随机顺序或在多个CPU内核上执行它们,具有简单而强大的随机接口,不仅可以增强图像,还可以增强关键点/地标、边界框、热图和分割图。增强图片1000张。.........原创 2022-07-15 17:05:53 · 2997 阅读 · 0 评论 -
WARNING: Ignoring invalid distribution -umpy (d:\anaconda3\envs\yolov5py\lib\site-packages)
1,到路径d:\anaconda3\envs\yolov5py\lib\site-packages下2,删除~开头的文件夹原创 2022-05-18 15:38:34 · 1397 阅读 · 0 评论 -
Anaconda常用命令及其与pycharm配合使用方法
准备工作Anaconda下载与安装官网:Anaconda | Individual EditionPycharm下载与安装官网:PyCharm: the Python IDE for Professional Developers by JetBrains都安装好后------一、Anaconda命令显示已经安装的包名和版本号condal list创建自己的虚拟环境conda create -n python37python=3.7n是name的简写,pytho..原创 2021-10-30 22:36:44 · 2451 阅读 · 0 评论 -
Python模块化开发——闭包
人生苦短,我学Python!注:本博客实例均是使用的Python编译器--pycharm闭包注意到返回的函数在其定义内部引用了局部变量args,所以,当一个函数返回了一个函数后,其内部的局部变量还被新函数引用,所以,闭包用起来简单,实现起来可不容易。另一个需要注意的问题是,返回的函数并没有立刻执行,而是直到调用了f()才执行。来看一个例子:def count(): fs = [] for i in range(1, 4): def f():原创 2021-08-11 22:30:56 · 191 阅读 · 1 评论 -
Python模块化开发——返回函数
人生苦短,我学Python!注:本博客实例均是使用的Python编译器--pycharm返回函数高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。来实现一个可变参数的求和。通常情况下,求和的函数是这样定义的:def calc_sum(*args): ax = 0 for n in args: ax = ax + n return ax但是,如果不需要立刻求和,而是在后面的代码中,根据需要再计算怎么办?可以不返回求和的结果,而是返原创 2021-08-11 20:49:35 · 163 阅读 · 0 评论 -
Python模块化开发——匿名函数
人生苦短,我学Python!注:本博客实例均是使用的Python编译器--pycharm匿名函数当在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算f(x)=x2时,除了定义一个f(x)的函数外,还可以直接传入匿名函数:#代码L = list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))print(L)#输出[1, 4, 9, 1原创 2021-08-05 21:44:29 · 183 阅读 · 0 评论 -
Python高级特性——异常处理
人生苦短,我学Python!注:本博客实例均是使用的Python编译器--pycharm异常处理#代码try: print('try...') r = 10 / 0 print('result:', r)except ZeroDivisionError as e: print('except:', e)finally: print('finally...')print('END')#输出try...except: division by z原创 2021-08-04 21:35:11 · 266 阅读 · 3 评论 -
Python高级特性——生成器
人生苦短,我学Python!注:本博客实例均是使用的Python编译器--pycharm生成器通过列表生成式,可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制原创 2021-08-04 20:55:42 · 228 阅读 · 0 评论 -
Python高级特性——列表生成式
人生苦短,我学Python!注:本博客实例均是使用的Python编译器--pycharm列表生成式列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11)):#代码L = list(range(1, 11))print(L)#输出[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]原创 2021-08-03 22:05:13 · 204 阅读 · 0 评论 -
Python高级特性——迭代
人生苦短,我学Python!注:本博客实例均是使用的Python编译器--pycharm迭代给定一个list或tuple,可以通过for循环来遍历这个list或tuple,这种遍历称为迭代(Iteration)。在Python中,迭代是通过for ... in来完成的,而很多语言比如C语言,迭代list是通过下标完成的,比如Java代码:for (i=0; i<list.length; i++) { n = list[i];}可以看出,Python的for循环抽象程原创 2021-07-30 21:53:42 · 199 阅读 · 0 评论 -
Python高级特性——切片
人生苦短,我学Python!注:本博客实例均是使用的Python编译器--pycharm切片取一个list或tuple的部分元素是非常常见的操作。比如,一个list如下:L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']取前3个元素,应该怎么做? [L[0], L[1], L[2]]取前N个元素,也就是索引为0-(N-1)的元素,可以用循环:r = []n = 3for i in range(n):... r.原创 2021-07-27 21:32:29 · 293 阅读 · 0 评论 -
Python模块化开发——关键字参数
人生苦短,我学Python!注:本博客实例均是使用的Python编译器--pycharm关键字参数可变参数允许传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。请看示例:def person(name, age, **kw): print('name:', name, 'age:', age, 'other:', kw)函数person除了必选参数name和ag原创 2021-07-21 22:08:10 · 185 阅读 · 0 评论 -
Python模块化开发——递归函数
人生苦短,我学Python!注:本博客实例均是使用的Python编译器--pycharm递归函数在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。举个例子,来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出:fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n所以,fact(n)可以表示为n x fact(n-1),只原创 2021-07-21 21:49:37 · 149 阅读 · 0 评论 -
Python模块化开发——参数组合
人生苦短,我学Python!注:本博客实例均是使用的Python编译器--pycharm参数组合在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。比如定义一个函数,包含上述若干种参数:def f1(a, b, c=0, *args, **kw): print('a =', a, 'b =', b, 'c =', c, 'a原创 2021-07-20 21:02:13 · 175 阅读 · 0 评论 -
Python模块化开发——命名关键字参数
注:本博客实例均是使用的Python编译器--pycharm命名关键字参数对于关键字参数,函数的调用者可以传入任意不受限制的关键字参数。至于到底传入了哪些,就需要在函数内部通过kw检查。仍以person()函数为例,希望检查是否有city和job参数:def person(name, age, **kw): if 'city' in kw: # 有city参数 pass if 'job' in kw: # 有job参数原创 2021-07-20 20:36:49 · 637 阅读 · 0 评论 -
人生苦短,我学Python!
Python基础知识Python基础知识——输入输出Python基础知识——数据类型和变量Python基础知识——数据集合值列表listhttps://blog.csdn.net/weixin_43042683/article/details/108149833原创 2021-07-12 20:54:05 · 296 阅读 · 0 评论 -
Python模块化开发——可变参数
注:本博客实例均是使用的Python编译器--pycharm可变参数在Python函数中,还可以定义可变参数。顾名思义,可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。以数学题为例子,给定一组数字a,b,c……,请计算a2 + b2 + c2 + ……。要定义出这个函数,必须确定输入的参数。由于参数个数不确定,首先想到可以把a,b,c……作为一个list或tuple传进来,这样,函数可以定义如下:def calc(numbers): sum = 0原创 2020-09-10 22:45:26 · 240 阅读 · 0 评论 -
Python模块化开发——位置参数
注:本博客实例均是使用的Python编译器--pycharm位置参数定义位置参数,有时也称必备参数。指必须按照正确的顺序将实际参数传到函数中,换句话说,调用函数时传入实际参数的数量和位置都必须和定义函数时的形式参数保持一致。例如:先写一个计算x^2的函数:def power(x): return x * x对于power(x)函数,参数x就是一个位置参数。当调用power函数时,必须传入有且仅有的一个参数x:#代码print(power(5))#输出25现在原创 2020-09-10 22:09:59 · 295 阅读 · 0 评论 -
Python模块化开发——默认参数
注:本博客实例均是使用的Python编译器--pycharm默认参数问题引入日常中,我们经常经常计算x^2,所以,完全可以把power()第二个参数n的默认值设定为2:def power(x, n=2): s = 1 while n > 0: n = n - 1 s = s * x return s这样,当调用power(6)时,相当于调用power(6, 2):#代码print(power(6))#输出36原创 2020-08-22 16:33:02 · 218 阅读 · 0 评论 -
Python模块化开发——定义函数
注:本博客实例均是使用的Python编译器--pycharm定义函数 在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。定义格式: def 方法名(): 执行体注意:python中的方法都是先定义后执行。# -*- coding: utf-8 -*-#自定义一个求绝对值的my_abs函数#代码def my_abs(x): if...原创 2020-08-22 14:33:52 · 439 阅读 · 0 评论 -
Python模块化开发——内置函数
注:本博客实例均是使用的Python编译器--pycharm内置函数Python内置了很多有用的函数,可以直接调用。Python 所有内置函数:https://www.runoob.com/python/python-built-in-functions.html要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。#代码print(abs(100))print(abs(-20))print(abs(12.34))#输出1002012.34原创 2020-08-22 11:48:26 · 249 阅读 · 0 评论 -
Python基础知识——程序流程的三大结构(顺序、选择、循环)
注:本博客实例均是使用的Python编译器--pycharm顺序结构语句从上到下,从左到右的顺序执行。选择结构if 选择结构1. if 判断条件: 执行体#代码age = 20if age >= 18: print('your age is', age) print('adult')#输出your age is 20adult2. if 判断条件: 执行体 else: ...原创 2020-08-22 10:59:01 · 1173 阅读 · 0 评论 -
Python编译软件——pycharm常用快捷键和设置操作
常用快捷键Ctrl + /:注释(取消注释)选择的行;Ctrl + D:复制选定的区域或行;Ctrl + Y:删除选定的行;Ctrl + Alt + L:格式化代码(与QQ锁定热键冲突,关闭QQ的热键);Ctrl + Shift + +:展开所有的代码块;Ctrl + Shift + -:收缩所有的代码块;Ctrl + N(Navigate | Class)并开始输入类的名称。 从显示的下拉列表中选择类;Ctrl + Shift + J:快捷键将两行合并为一行,并删除不必要的原创 2020-08-22 08:45:52 · 1208 阅读 · 0 评论 -
Python基础知识——数据的集合之集合set
setset:存储数据是无序的,元素是不可以重复的,和java中set集合类似.定义格式:变量名 =set(列表)>>> st=set([1,2,3,4,5])>>> print(type(st))<class 'set'>>>> print(st){1, 2, 3, 4, 5}注意,传入的参数[1, 2, 3, 4, 5]是一个list,而显示的{1, 2, 3, 5. 5}只是告诉这个set内部有1,2,3, 4原创 2020-08-21 17:44:45 · 384 阅读 · 0 评论 -
Python基础知识——数据的集合之字典dict
dictdict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。定义格式:变量名 ={"key1":值1,"key2":值2,.....}>>> dic={"name":"Tom","age":18,"sex":"man"}>>> print(type(dic))<class 'dict'>>>> print(dic){'name': 'Tom', 'age'原创 2020-08-21 17:22:02 · 1027 阅读 · 0 评论 -
Python基础知识——数据的集合之元组tuple
tupletuple是一种有序的集合,和list非常类似,但是tuple一旦初始化就不能修改。定义格式:变量名=(元素1,元素2,...)由于tuple不能修改,所以元组不具有添加,修改,删除的功能。但因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。获取元组元素:方式一:用索引来访问tuple中每一个位置的元素,记得索引是从0开始的方式二:倒着取值,如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素以此类推,原创 2020-08-21 16:47:51 · 2572 阅读 · 0 评论 -
Python基础知识——数据的集合之列表list
listPython内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。定义格式:变量名=[元素1,元素2,....元素N] 。例如:ls =["Tom","Jack","Lily","Jony"] 列表添加元素的方式:方式一:append()向集合中添加元素方式二:在指定的位置插入数据>>> ls =["Tom","Jack","Lily","Jony"]>>> ls.append('Adam'.原创 2020-08-21 16:19:59 · 694 阅读 · 0 评论 -
Python基础知识——输入输出
第一节输入输出1.输出用print()在括号中加上字符串,就可以向屏幕上输出指定的文字。比如输出'hello, world'print('hello,world')print()函数也可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出print('How are you?','I am fain')print()也可以打印整数,或者计算结果print('1+2',1+2)建议:设置文件编码# -*- coding: utf-8 -*-2.输出用inp原创 2020-08-21 15:15:05 · 577 阅读 · 0 评论