Python笔记
CrazyVertigo
主修计算机视觉与深度学习,欢迎学习交流!
展开
-
os.path.join()
os.path.join()函数功能:连接两个或更多的路径名组件如果各组件名首字母不包含’/’,则函数会自动加上如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃如果最后一个组件为空,则生成的路径以一个’/’分隔符结尾Demo1import os Path1 = 'home'Path2 = 'develop'Path3 = 'code'Path10 =...原创 2018-05-12 10:51:57 · 25045 阅读 · 6 评论 -
Python闭包
闭包一个函数和它的环境变量合在一起,就构成了一个闭包(closure)。在Python中,所谓的闭包是一个包含有环境变量取值的函数对象。环境变量取值被保存在函数对象closure)属性中。例1def line_conf(): b = 15 def line(x): return 2*x+b return line # return a functi原创 2017-03-05 16:27:55 · 314 阅读 · 0 评论 -
Python-运算符重载
本博客用于记录学习Python的运算符重载,欢迎学习交流!常见的运算符重载方法:__getitem__拦截索引运算__getitem__和__iter__实现迭代用户定义的迭代器__getattr__和__setattr__捕捉属性的引用原创 2017-01-29 17:08:26 · 390 阅读 · 0 评论 -
面向对象
1.面向对象类:具有同种属性的对象称为类,是个抽象的概念。比如说:汽车、人、狗、神; 对象:日常生活中的所有东西都是对象,是类的实例化。比如说:推土车是汽车的实例化;姚明是人的实例化;小白(狗的名字)是狗的实例化;二郎神是神的实例化; 属性:用来描述具体某个对象的特征的是属性,是静态的。比如:姚明身高2.6米多;小白的毛发是棕色的;二郎神额头上有只眼睛; 方法:每个对象有它们自己的行为或者是使原创 2017-01-31 21:09:52 · 293 阅读 · 0 评论 -
Python-迭代器、生成器、yield
Python-迭代器、生成器、yield迭代器迭代器:具有next方法的对象。几何数据类型:如list、tuple、dict、set、str等。 generator:包括生成器和带yield的generator function。 这些可以直接作用于for循环的对象统称为可迭代对象:Iterabel。 可以使用isinstance()判断一个对象是否是Iterable对象:原创 2017-01-29 17:25:36 · 502 阅读 · 0 评论 -
python中sort()方法自定义cmp PythonTip-最大正整数
cmp内建函数>>>L=[1,3,2]>>>L.sort()>>>L[1, 2, 3]#默认就是调用cmp内建函数>>>L.sort(cmp)>>>L[1, 2, 3]重定义比较函数def mycmp1(x,y): #升序排列 if x < y: return -1 elif x > y: return 1 else:原创 2017-02-23 11:01:17 · 7763 阅读 · 4 评论 -
Python中sort、sorted高级排序技巧
在python中对list进行排序有两种方法:1.用List的成员函数sort进行排序2.用built-in函数sorted进行排序sorted与sort除了一个是序列作为参数,一个是序列调用该函数,其他参数几乎完全一致,下面逐一来介绍其用法及效果:原创 2017-02-22 20:14:15 · 22990 阅读 · 3 评论 -
06-抽象(类)
本文先介绍python类的一些基本概念,然后通过创建类,创建实力对象,访问属性,类的属性、继承类等逐步介绍类,最后介绍类属性与方法。### 基本概念**类(Class):** 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。原创 2017-01-23 12:05:06 · 324 阅读 · 0 评论 -
07-抽象(类)2
1.基本类最简单的类class Super: #定义类 age=20Sub=Super() #实例化类print Sub.age2.高级类1.调用超类的构造器class Super: def __init__(self,x) #构造器 self.name=xclass Sub(Super): def __init__(self,x,y)原创 2017-01-24 21:29:51 · 574 阅读 · 0 评论 -
Python生成器、迭代器、装饰器
Python生成器、迭代器、装饰器1.生成器(Generator)1.列表生成式实现最简单的生成器:g = (x*x for x in range(10))for i in g: print i2.函数实现函数方法实现稍复杂的生成器:def fib(max): n,a,b=0,1,1 while n<max: yield b a,b=b,a+原创 2017-03-05 19:36:28 · 2410 阅读 · 0 评论 -
Python中os.fork()产生子进程
例1import osprint 'Process (%s) start...' %os.getpid()pid = os.fork()if pid==0: print 'I am child (%s) and my father is %s.'%(os.getpid(),os.getppid())else: print 'I (%s) just created a chi原创 2017-03-05 22:37:52 · 5097 阅读 · 0 评论 -
Python 多进程
os.fork()普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。子进程永远返回0,而父进程返回子进程的ID。这样做的理由是,一个父进程可以fork出很多子进程,所以,父进程要记下每个子进程的ID,而子进程只需要调用getppid()就可以拿到父进程的ID。 Pyth原创 2017-03-06 11:17:15 · 257 阅读 · 0 评论 -
【python】PIL resize图片
PIL库进行图片的resizefrom PIL import Imageimport os.pathimport globdef convertjpg(jpgfile,outdir,width=768,height=384): img=Image.open(jpgfile) new_img=img.resize((width,height),Image.BILINEAR)原创 2017-08-23 20:59:46 · 2987 阅读 · 0 评论 -
error: Microsoft Visual C++ 9.0 is required
在Windows下用pip安装Scrapy报如下错误,看错误提示就知道去http://aka.ms/vcpython27找解决方法了error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27打开http://aka.ms/vcpytho原创 2017-05-20 15:19:49 · 19312 阅读 · 5 评论 -
Python-01-列表和元组
列表和元祖列表和元祖是python的基本数据结构。本文首先对序列做一个概览,然后讲解序列的通用操作,然后分别讲解列表和元祖。序列列表元祖内建序列在python中最基本的数据结构是序列,在序列中每个元素被分配一个序号-即元素的位置,也成索引。Python包含6种内建的序列:列表、元祖、字符串、Unicode字符串、buffer对象、xrange对象。python之中还有一种名为容器(conta原创 2017-01-19 00:16:41 · 353 阅读 · 0 评论 -
Python学习方法路线总结
首先当然收官网了: https://www.python.org/廖雪峰的官网网站有Python 2.7教程: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/RUNOOB.COM也有一份非常不错的基础教程: http://www.runoob.com/python/pytho原创 2017-02-21 08:49:46 · 2887 阅读 · 0 评论 -
python 读取并显示图片的两种方法
一、matplotlib1. 显示图片2. 显示某个通道3. 将 RGB 转为灰度图4. 对图像进行放缩5. 保存图像5.1 保存 matplotlib 画出的图像5.2 将 array 保存为图像5.3 直接保存 array二、PIL1. 显示图片2. 将 PIL Image 图片转换为 numpy 数组3. 保存 PIL 图片4. 将 numpy 数组转换为 PIL 图片5. RGB 转换为灰度原创 2017-06-02 17:29:50 · 4354 阅读 · 0 评论 -
Python apply()函数
python apply函数的具体含义如下:apply(func [, args [, kwargs ]]) 函数用于当函数参数已经存在于一个元组或字典中时,间接地调用函数。args是一个包含将要提供给函数的按位置传递的参数的元组。如果省略了args,任何参数都不会被传递,kwargs是一个包含关键字参数的字典。apply()的返回值就是func()的返回值,apply()的元素参数是有序的,元素的原创 2017-03-06 19:57:50 · 1761 阅读 · 0 评论 -
Python 多线程2
#import threadingfrom time import ctime,sleepdef music(func): for i in range(2): print "I --> %s. %s" %(func,ctime()) sleep(1)def movie(func): for i in range(2): pri原创 2017-03-06 19:38:44 · 292 阅读 · 0 评论 -
Python 多线程
ThreadingPython的标准库提供了两个模块:thread和threading,thread是低级模块,threading是高级模块,对thread进行了封装。绝大多数情况下,我们只需要使用threading这个高级模块。启动一个线程就是把一个函数传入并创建Thread实例,然后调用start()开始执行:import time,threadingdef loop(): print原创 2017-03-06 16:36:34 · 283 阅读 · 0 评论 -
Python 格式限定符
填充与对齐它有着丰富的的“格式限定符”(语法是{}中带:号),比如: 填充与对齐 填充常跟对齐一起使用 ^、<、>分别是居中、左对齐、右对齐,后面带宽度 :号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充 比如 In [15]: ‘{:>8}’.format(‘189’) Out[15]: ’ 189’ In [16]: ‘{:0>8}’.format原创 2017-02-21 21:52:48 · 3154 阅读 · 0 评论 -
因子平方和
题目描述如下: 6 的因子有 1, 2, 3 和 6, 它们的平方和是 1 + 4 + 9 + 36 = 50. 如果 f(N) 代表正整数 N 所有因子的平方和, 那么 f(6) = 50.现在令 F 代表 f 的求和函数, 亦即 F(N) = f(1) + f(2) + .. + f(N), 显然 F 一开始的 6 个值是: 1, 6, 16, 37, 63 和 113. 那么对于任意给原创 2017-02-21 21:06:09 · 2708 阅读 · 1 评论 -
Python的集合(Set)
Python的集合(set)和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算.由于集合是无序的,所以,sets 不支持 索引, 分片, 或其它类序列(sequence-like)的操作。集合也存在不可变形式原创 2017-02-21 08:52:16 · 545 阅读 · 0 评论 -
用Pyinstaller打包Python发布exe应用
用Pyinstaller打包Python发布exe应用本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦: [TOC]目录用 [TOC]来生成目录:Markdown及扩展 Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— [ 维基百科 ]使用简单的符号标识不同的原创 2016-11-15 09:36:08 · 3382 阅读 · 0 评论 -
Python time模块操作
Python time模块操作参考: http://www.runoob.com/python/python-date-time.htmlPython 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。 Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。Markdown及扩展 Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯原创 2016-11-14 14:18:13 · 435 阅读 · 0 评论 -
001 Python Test
06-Student Becomes the Teacher在Codeacademy上学习Python课程,刷题的笔记记录如下,欢迎交流!Practice Makes Perfact06-Student Becomes the TeacherPractice Makes PerfactFun With NumbersPractice Practice Practiceii Whats the原创 2016-11-10 18:47:27 · 396 阅读 · 0 评论 -
1007 Python之List中remove,pop,del区别分析
Python之List中remove,pop,del区别分析目录Python之List中removepopdel区别分析目录代码块removepopdel代码块remove#remove删除首个符合条件的元素,并不删除特定的索引。**n =[1,2,2,3,4,5]n.remove(3)print (n)**#输出 [1, 2, 2, 4, 5]pop#pop按照索引删除字符,返回原创 2016-11-09 20:46:16 · 25114 阅读 · 0 评论 -
Codeacademy Python-07-Student Becomes the Teacher
06-Student Becomes the Teacher在Codeacademy上学习Python课程,刷题的笔记记录如下,欢迎交流!目录06-Student Becomes the Teacher目录Good Morning Classi Lesson Number One 19ii Whats the Score 29iii Put It Together 39iv For th原创 2016-11-09 20:25:56 · 517 阅读 · 0 评论 -
Codeacademy Python-06-Student Becomes the Teacher
欢迎使用Markdown编辑器写博客本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:代码块i. Lesson Number One 1/9lloyd = { "name": "Lloyd", "homework": [], "quizzes": [], "tests": []}alice = { "nam原创 2016-11-09 19:43:08 · 387 阅读 · 0 评论 -
1006- Python 字典(Dictionary) items()方法
Python 字典的一些操作目录用 [TOC]来生成目录:Python 字典的一些操作目录字典基础Markdown及扩展代码块字典基础http://www.runoob.com/python/python-dictionary.htmlPython 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。 d = {key1 : value1, key2原创 2016-11-09 17:21:21 · 561 阅读 · 0 评论 -
1006- Python 字典(Dictionary)
Python 字典的一些操作目录用 [TOC]来生成目录:Python 字典的一些操作目录字典基础Markdown及扩展代码块字典基础字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示: d = {key1 : value1, key2 : value2 }原创 2016-11-09 14:26:00 · 350 阅读 · 0 评论 -
Python 文件I/O
Python 文件I/O在Codeacademy上学习Python课程,刷题的笔记记录如下,欢迎交流!Python 文件IO文件操作打开和关闭文件open 函数Close 函数write方法read方法文件定位重命名和删除文件rename方法remove方法文件夹操作mkdir方法chdir方法getcwd方法rmdir方法文件操作打开和关闭文件open 函数说明:先用原创 2016-11-15 10:48:49 · 386 阅读 · 0 评论 -
Codeacademy Python-12-File Input/Output
12-File Input/Output在Codeacademy上学习Python课程,刷题的笔记记录如下,欢迎交流!目录12-File InputOutput目录Good Morning ClassSee it to Believe itThe open FunctionWritingReadingThe Devils in the DetailsReading Between t原创 2016-11-15 10:23:19 · 447 阅读 · 0 评论 -
06-Student Becomes the Teacher
06-Student Becomes the Teacher在Codeacademy上学习Python课程,刷题的笔记记录如下,欢迎交流!目录06-Student Becomes the Teacher目录Good Morning Classi Lesson Number One 19ii Whats the Score 29iii Put It Together 39iv For th原创 2016-11-10 14:03:14 · 444 阅读 · 0 评论 -
Python入门
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:pippip是类似yum的工具,安装Python包非常方便。NumpyNumpy提供常用的数值数组、矩阵等函数ScipyScipy是一种使用Numpy来做高等数学、信号处理、优化、统计的拓展包PamdasPandas是一种构建与Numpy的高级数据结构和精巧工具,快速简单的处原创 2016-12-11 16:04:23 · 580 阅读 · 0 评论 -
Python中的enumerate函数
enumerate 函数用于遍历序列中的元素以及它们的下标:>>>for i,j in enumerate(('a','b','c')):print i,j输出如下:0 a1 b2 c>>> for i,j in enumerate([1,2,3]):print i,j0 11 22 3>>> for i,j in enumerate({'a':1,'b':2}):print i,原创 2017-02-20 22:14:30 · 469 阅读 · 0 评论 -
05-抽象(函数)
本文将详细介绍参数(parameter)和作用域(scope)的概念,以及递归的概念及其在程序中的用途。抽象(函数)创建函数def fib(num): fibs = [0,1] for i in range(num): fibs.append(fibs[-2]+fibs[-1]) if i==num-1:原创 2017-01-21 23:59:31 · 406 阅读 · 0 评论 -
04-条件、循环和其它语句
赋值魔法1.序列解包(sequence unpacking)序列解包也称递归解包:将多个值的序列解开,然后放到变量的序列中,只需要一个表达式就可以完成同时为多个变量赋值的操作。# 1>给多个变量一次赋值>>> x,y,z = 1,2,3>>> print x,y,z1 2 3 # 2>交换变量的值--相比C语言真的方便不要太多吧>>> x,y=y,x>>> print原创 2017-01-20 22:48:44 · 319 阅读 · 0 评论 -
python中 __name__及__main()__
# module1.pydef pr(): print 'Hello world!' if __name__=="__main__": print "__name__==__main__" if __name__=="module1": print "__name__==__module1__"if __name__ == '__main__原创 2017-02-28 22:40:56 · 615 阅读 · 0 评论 -
03-字典
映射(mapping):通过名字来引用值得数据结构,字典是python中唯一内建的映射类型,字典中的值没有特殊的顺序,但是都存储在一个特定的键(Key)下,键可以使数字、字符串设置是元祖。字典的使用字典:可以通过轻松查找某个特定的词语(键),从而找到它的定义(值)。 例如: 表示一个游戏棋盘的状态,每个键都是由坐标值组成的元组;创建字典原创 2017-01-19 22:59:25 · 533 阅读 · 0 评论