
Python
Python的基础语法、内置函数以及各种使用技巧
Wanderer001
AR/VR软件与硬件技术:图像增强、图像分类、语义分割、目标检测、目标跟踪、风格迁移、强化学习、三维重建、SLAM
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
最全的pip install 安装包
XXXXXXXX原创 2023-03-05 23:39:54 · 742 阅读 · 0 评论 -
Python的bisect模块
先看看模块的结构: 前面五个属性大家感兴趣可以打出来看看数值,这里就不介绍了。 先说明的是,使用这个模块的函数前先确保操作的列表是已排序的。先看看 insort 函数: 其插入的结果是不会影响原有的排序。 再看看bisect 函数: 其目的在于查找该数值将会插入的位置并返回,而不会插入。 接着看 bisect_left 和...原创 2022-05-06 08:07:29 · 409 阅读 · 0 评论 -
python逐行读取文本
一、使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。二、需要导入import os三、下面是逐行读取文件内容的三种方法:1、第一种方法:f = open("foo.txt") # 返回一个文件对象 line = f.readline() # 调用文件的 readline()方法 while line: print line,原创 2022-02-16 14:52:23 · 7677 阅读 · 1 评论 -
Python的Albumentations库
基于高度优化的 OpenCV 库实现图像快速数据增强. 针对不同图像任务,如分割,检测等,超级简单的 API 接口. 易于个性化定制. 易于添加到其它框架,比如 PyTorch.1. Albumentations 的 pip 安装sudo pip install albumentations # 或 sudo pip install -U git+https://github.com/albu/albumentations2. 不同图片数据增强库对比albumentation.原创 2022-02-28 10:44:01 · 3622 阅读 · 0 评论 -
Python的codecs模块
codecs专门用作编码转换。# -*- encoding: gb2312 -*- import codecs, sysprint ' - ' * 60 # 创建gb2312编码器 look = codecs.lookup( " gb2312 " )# 创建utf-8编码器 look2 = codecs.lookup( " utf-8 " )a = " 我爱北京 " print len(a), a# 把a编码为内部的unicode, 但为什么方法名原创 2022-02-28 10:44:15 · 1279 阅读 · 0 评论 -
python引入同一目录下的py文件
注意:python2和python3的包内import语法有区别,下面介绍一下python3的包内import语法例如在admin.py文件中要引入dealcode.py文件:在目录下有__init__.py文件 在admin.py文件中加一行:from . import dealcode,如果要引入同一目录下的dealcode.py文件中的一个类Hello,在admin.py文件中加一行:from .dealcode import Hello...原创 2022-03-15 08:22:00 · 8483 阅读 · 1 评论 -
python中带*号的参数,一个星号,两个星号
1.带一个星号(*)参数的函数传入的参数存储为一个元组(tuple)2.带两个星号(*)参数的函数传入的参数则存储为一个字典(dict),并且再调用是采取a=1,b=2,c=3的形式3.传入的参数个数不定,所以当与普通参数一同使用时,必须把带星号的参数放在最后。4.函数定义的时候,再函数的参数前面加星号,将传递进来的多个参数转化为一个对象,一个星号转换成元组,两个星号转换成字典,相当于把这些参数收集起来5.参数前加一个星号,将传递进来的参数放在同一个元组中,该参数的返回值是一个元组6.参原创 2022-03-05 15:08:42 · 2972 阅读 · 1 评论 -
@once_differentiable有什么用?
from torch.autograd.function import once_differentiableclass GOF_Function(Function): @staticmethod #一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。 而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用。 def forward(ctx, weight, gaborFilterBank):# 在forward中,需要定义G.原创 2022-03-05 15:08:46 · 1461 阅读 · 2 评论 -
Python all() 函数
描述all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。元素除了是 0、空、None、False 外都算 True。函数等价于:def all(iterable): for element in iterable: if not element: return False return TruePython 2.5 以上版本可用。语法以下是原创 2022-03-16 08:49:33 · 348 阅读 · 0 评论 -
python中函数嵌套、函数作为变量以及闭包的原理
嵌套函数:python允许创建嵌套函数。也就是说我们可以在函数里面定义函数,而且现有的作用域和变量生存周期依旧不变。例子:#encoding=utf-8def outer(): name="python" def inner():#outer函数内部定义的函数 print name return inner()#返回该内部函数outer()结果:理解:在inner函数中,python解析器需要找一个叫name的本地变量,查找失败后会原创 2022-03-10 13:27:28 · 940 阅读 · 0 评论 -
Python exec 内置语句
描述exec 执行储存在字符串或文件中的Python语句,相比于 eval,exec可以执行更复杂的 Python 代码。需要说明的是在 Python2 中exec不是函数,而是一个内置语句(statement),但是Python 2中有一个 execfile() 函数。可以理解为 Python 3 把 exec 这个 statement 和 execfile() 函数的功能够整合到一个新的 exec() 函数中去了。语法以下是 exec 的语法:exec obj参数.原创 2022-03-17 09:11:48 · 371 阅读 · 1 评论 -
Python del
del Keyword注意del是python关键字,就像def、and、or一样。它不是字典、列表的方法,但是可以用来删除字典、列表的元素。比如:del list_item[4]del dictionary["a"]除此之外,还可以用del删除变量。比如:del foodel好用,含义也非常的清晰,以后在适当的场景可以用起来。承接Matlab、Python和C++的编程,机器学习、计算机视觉的理论实现及辅导,本科和硕士的均可,咸鱼交易,专业回答请走知乎,详谈请联系Q.原创 2022-03-08 12:48:22 · 343 阅读 · 3 评论 -
from __future__ import XXX
from __future__ import division ,from __future__ import absolute_import ,from __future__ import with_statement 。等等加上这些,如果你的python版本是python2.X,你也得按照python3.X那样使用这些函数。在开头加上from __future__ import print_function这句之后,即使在python2.X,使用print就得像python3.X那样加括号使用原创 2022-03-18 10:40:25 · 313 阅读 · 0 评论 -
Python any() 函数
描述any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。元素除了是 0、空、FALSE 外都算 TRUE。函数等价于:def any(iterable): for element in iterable: if element: return True return FalsePython 2.5 以上版本可用。语法以下是 any原创 2022-03-20 13:39:50 · 415 阅读 · 0 评论 -
Python repr() 函数
描述repr() 函数将对象转化为供解释器读取的形式。语法以下是 repr() 方法的语法:repr(object)参数object -- 对象。返回值返回一个对象的 string 格式。实例以下展示了使用 repr() 方法的实例:>>>s = 'RUNOOB'>>> repr(s)"'RUNOOB'">>> dict = {'runoob': 'runoob.com', 'google': 'goo原创 2022-03-18 10:41:33 · 533 阅读 · 0 评论 -
os.path.isfile() 判断问题
运行以下代码:可以得到当前目录的下的目录for x in os.listdir('.'):if os.path.isdir(x):print (x)如果将 os.listdir() 的参数替换为 其他路径,将会出错,比如for x in os.listdir('/root'):#print (x) #若此处将 x 输出 即可知道错误的原因 , x 的值 只是文件名 ,并 不是路径if os.path.isdir(x):print (x)运行后将会发现,第二个 p.原创 2022-03-21 10:35:53 · 949 阅读 · 0 评论 -
Python round() 函数
描述round() 方法返回浮点数x的四舍五入值。语法以下是 round() 方法的语法:round( x [, n] )参数x -- 数值表达式。 n -- 数值表达式,表示从小数点位数。返回值返回浮点数x的四舍五入值。实例以下展示了使用 round() 方法的实例:实例#!/usr/bin/pythonprint "round(80.23456, 2) : ", round(80.23456, 2)print "round(100.000056原创 2022-03-21 10:36:25 · 614 阅读 · 0 评论 -
Python sorted() 函数
描述sorted() 函数对所有可迭代的对象进行排序操作。sort 与 sorted 区别:sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。语法sorted 语法:sorted(iterable, cmp=None, key=None, reverse=False)参数原创 2022-03-19 10:24:10 · 466 阅读 · 0 评论 -
Python rfind()方法
描述Python rfind() 返回字符串最后一次出现的位置,如果没有匹配项则返回 -1。语法rfind()方法语法:str.rfind(str, beg=0 end=len(string))参数str -- 查找的字符串 beg -- 开始查找的位置,默认为 0 end -- 结束查找位置,默认为字符串的长度。返回值返回字符串最后一次出现的位置,如果没有匹配项则返回-1。实例以下实例展示了rfind()函数的使用方法:实例#!/usr/bin/pyt原创 2022-03-19 10:23:55 · 1076 阅读 · 0 评论 -
python Shapely使用指南详解
Shapely是一个Python库,用于操作和分析笛卡尔坐标系中的几何对象。引入包from shapely.geometry import Pointfrom shapely.geometry import LineString共有的变量和方法object.area Returns the area (float) of the object.object.bounds 返回对象的(minx,miny,maxx,maxy)元组(float类型)object.le原创 2022-03-09 10:12:31 · 5168 阅读 · 4 评论 -
Python的.py与Cython的.pxd.pyx.pyd 文件格式之间的主要区别
.py 文件Python 最常用格式就是 .py (另一较常用格式为 .pyw),由 python.exe 解释,可在控制台下运行。当然,也可用文本编辑器或其它专用 Python IDE (集成开发环境) 工具进行修改。常见情形是,用 Python 快速生成程序原型 (有时甚至是程序最终界面),然后对其中有特别要求的部分,用更合适的语言改写;譬如:3D 游戏中的图形渲染模块,性能要求特别高,就可用 C/C++ 重写,而后封装为 Python 可调用的扩展类库。需要注意的是,在您使用扩展类库时可能原创 2022-03-09 10:13:03 · 3470 阅读 · 1 评论 -
shutil.rmtree()
shutil.rmtree() #递归地删除文件如果存在以下树结构 - user - tester - noob - developer - guru即 user 目录下存在多级子目录如果要递归删除user\tester 目录的内容,可使用shutil.rmtree()函数import shutilshutil.rmtree(r'user\tester') mkdir -p foo/barpythonimport shuti.原创 2022-03-22 10:43:04 · 563 阅读 · 0 评论 -
python--函数os.sep
Windows系统通过是“\\”,Linux类系统如Ubuntu的分隔符是“/”,而苹果Mac OS系统中是“:”。实例:实例2:适用于:在目录路径编程中例子:datas_root = 'mnist_data/train' #需要修改的路径for i in range(10):file_name = datas_root + os.sep + str(i) # 即:mnist_data/train/iif not os.path.exists(file_name)原创 2022-03-22 10:43:11 · 411 阅读 · 0 评论 -
使用python删除一个文件或文件夹
使用python删除一个文件或文件夹,需要使用os模块。import osos.remove(path) # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用rmdir()来删除os.rmdir(path) # path是文件夹路径,注意文件夹需要时空的才能被删除os.unlink('F:\新建文本文档.txt') # unlink的功能和remove一样是删除一个文件,但是删除一个删除一个正在使用的文件会报错。import ospat.原创 2022-03-14 10:50:04 · 11952 阅读 · 0 评论 -
Python os.getcwd() 方法
概述os.getcwd() 方法用于返回当前工作目录。语法getcwd()方法语法格式如下:os.getcwd()参数无返回值返回当前进程的工作目录。实例以下实例演示了 getcwd() 方法的使用:#!/usr/bin/python# -*- coding: UTF-8 -*-import os, sys# 切换到 "/var/www/html" 目录os.chdir("/var/www/html" )# 打印当前目录print "当前工作目原创 2022-03-14 10:50:12 · 3357 阅读 · 0 评论 -
python查询字符串中指定字符的索引
python查询字符串中指定字符的索引当你想查询一个字符串中指定字符的位置时,很容易就想到用index方法,但如果字符串有多个该字符,你会发现只能查到第一次出现的位置,而python是没有内置方法去解决这个问题的,所以需要自己去定义一个方法去查询。def indexMany(s,str): #str是要查询的字符 length = len(s) #获取该字符串的长度 str1 = s #拷贝字符串 list = [] sum = 0原创 2022-03-24 13:09:42 · 6889 阅读 · 0 评论 -
Python type() 函数
实例返回这些对象的类型:a = ('apple', 'banana', 'cherry')b = "Hello World"c = 55x = type(a)y = type(b)z = type(c)运行实例定义和用法type() 函数返回指定对象的类型。语法type(object, bases, dict)参数值参数 描述 object 必需。如果仅设置一个参数,则 type() 函数将返回此对象的类型。 bases .原创 2022-03-24 13:09:53 · 1206 阅读 · 0 评论 -
Python choice() 函数
描述choice() 方法返回一个列表,元组或字符串的随机项。语法以下是 choice() 方法的语法:import randomrandom.choice( seq )注意:choice()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。参数seq -- 可以是一个列表,元组或字符串。返回值返回随机项。实例以下展示了使用 choice() 方法的实例:#!/usr/bin/pythonimport ran原创 2022-03-24 13:09:59 · 2648 阅读 · 1 评论 -
python之__call__()
__call__在Python中,函数其实是一个对象:>>> f = abs>>> f.__name__'abs'>>> f(-123)123由于 f 可以被调用,所以,f 被称为可调用对象。所有的函数都是可调用对象。一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__()。我们把 Person 类变成一个可调用对象:class Person(object): def __init__原创 2022-03-25 11:08:44 · 243 阅读 · 0 评论 -
Python yield 使用浅析
您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念。如何生成斐波那契數列斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到。用计算机程序输出斐波那契數列的前 N 个数是一个非常简单的问题,许多初学者都可以轻易写出如下函数:清单 1. 简单输出斐波那契數列前 N 个数实例原创 2022-03-25 11:08:51 · 257 阅读 · 0 评论 -
Python __iter__ 深入理解
先看一个例子:class Fib: def __init__(self, max): self.max = max def __iter__(self): print('__iter__ called') self.a = 0 self.b = 1 return self def __next__(self): print('__next__ called') fib原创 2022-03-23 14:44:49 · 2209 阅读 · 0 评论 -
Python isinstance() 函数
描述isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。isinstance() 与 type() 区别: type() 不会认为子类是一种父类类型,不考虑继承关系。 isinstance() 会认为子类是一种父类类型,考虑继承关系。 如果要判断两个类型是否相同推荐使用 isinstance()。语法以下是 isinstance() 方法的语法:isinstance(object, classinfo)参数object转载 2022-03-23 14:44:53 · 320 阅读 · 0 评论 -
列表切片[0::2]和[1::2]
原创 2022-03-27 09:58:33 · 4970 阅读 · 0 评论 -
python程序计算运行时间差
import datetime# from time import timetime0 = datetime.datetime(2020,1,3,21,11,31,994824)time1 = datetime.datetime(2020,1,3,21,11,32,765880)interval = (time1 - time0).total_seconds() # 如果时间差在1秒内,.seconds方法得出的结果为0print(interval)注意: 一般控制台输出的个位数...原创 2022-03-28 10:47:26 · 1369 阅读 · 0 评论 -
Python pass 语句
Python pass 是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。Python 语言 pass 语句语法格式如下:pass测试实例:实例:#!/usr/bin/python# -*- coding: UTF-8 -*- # 输出 Python 的每个字母for letter in 'Python': if letter == 'h': pass print '这是 pass 块' print '当原创 2022-04-01 10:39:09 · 440 阅读 · 2 评论 -
python 文件读写操作
读文件打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的):>>> f = open('test.txt', 'r')r表示是文本文件,rb是二进制文件。(这个mode参数默认值就是r)如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在:>>> f=open('test.txt', 'r')Traceback (most recent call last): F原创 2022-04-01 10:40:18 · 616 阅读 · 0 评论 -
Python: 去掉字符串开头、结尾或者中间不想要的字符
①Strip()方法用于删除开始或结尾的字符。lstrip()|rstirp()分别从左右执行删除操作。默认情况下会删除空白或者换行符,也可以指定其他字符。②如果想处理中间的空格,需要求助其他技术 ,比如replace(),或者正则表达式③strip()和其他迭代结合,从文件中读取多行数据,使用生成器表达式④更高阶的strip可能需要使用translate()方法。承接Matlab、Python和C++的编程,机器学习、计算机视觉的理论实现及辅导,本科和硕士...原创 2022-04-06 10:12:51 · 19993 阅读 · 1 评论 -
Python按行读文件
1. 最基本的读文件方法:# File: readline-example-1.pyfile = open("sample.txt")while 1: line = file.readline() if not line: break pass # do something 一行一行得从文件读数据,显然比较慢;不过很省内存。 在我的机器上读10M的sample.txt文件,每秒大约读32000行2. 用fileinput模块原创 2022-04-03 19:35:48 · 11041 阅读 · 1 评论 -
Python的内置函数(三十六)、 sorted()
描述sorted() 函数对所有可迭代的对象进行排序操作。sort 与 sorted 区别:sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。语法sorted 语法:...原创 2022-05-18 10:04:49 · 380 阅读 · 0 评论 -
Python的内置函数(五十二)、 round()函数
描述round() 方法返回浮点数x的四舍五入值。语法以下是 round() 方法的语法:round( x [, n] )参数x -- 数值表达式。 n -- 数值表达式,表示从小数点位数。返回值返回浮点数x的四舍五入值。实例以下展示了使用 round() 方法的实例:#!/usr/bin/pythonprint "round(80.23456, 2) : ", round(80.23456, 2)print "round(100.000056, 3)原创 2022-04-05 10:40:43 · 535 阅读 · 0 评论