Python
文章平均质量分 81
yolosliu
那些寂寞的岁月,成全最美的人生!
展开
-
Python开发之数据类型和变量
1、Python中数据类型在Python中,能够直接处理的数据类型有以下几种:一、整数Python可以处理任意大小的整数,包括负整数。计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。二、浮点数浮点数也就是小数,之所以称为浮点数,是因为按照科学记数原创 2017-03-05 21:38:01 · 319 阅读 · 0 评论 -
用 Python 进行贝叶斯模型建模 (0)
第0节:导论欢迎来到“用Python进行贝叶斯模型建模”——用 Python 学习贝叶斯统计的教程,你可以在 项目首页(https://github.com/markdregan/Hangout-with-PyMC3) 中找到本教程的目录。统计学是我大学时期从未认同过的一门学科。我们被传授的频率论方法(如 p 值等)看起来很牵强。最终,我对统计学失去兴趣并放转载 2017-06-25 21:18:26 · 3063 阅读 · 0 评论 -
深入了解 Python 字符串对象的实现
本文介绍了 python 内部是如何管理字符串对象,以及字符串查找操作是如何实现的。PyStringObject 结构体Python 中的字符串对象在内部对应一个名叫 PyStringObject 的结构体。“ob_shash” 对应字符串经计算过的 hash值, “ob_sval” 指向一段长度为 “ob_size” 的字符串,且该字符串以‘null’结尾原创 2017-06-15 19:34:06 · 472 阅读 · 0 评论 -
Python 函数中,参数是传值,还是传引用?
在 C/C++ 中,传值和传引用是函数参数传递的两种方式,在Python中参数是如何传递的?回答这个问题前,不如先来看两段代码。代码段1:def foo(arg): arg = 2 print(arg) a = 1foo(a) # 输出:2print(a) # 输出:1原创 2017-06-15 19:36:21 · 2017 阅读 · 0 评论 -
Python 协程
协程概念协程,又称微线程,纤程,英文名Coroutine。协程的作用,是在执行函数A时,可以随时中断,去执行函数B,然后中断继续执行函数A(可以自由切换)。但这一过程并不是函数调用(没有调用语句),这一整个过程看似像多线程,然而协程只有一个线程执行。优势执行效率极高,因为子程序切换(函数)不是线程切换,由程序自原创 2017-07-16 11:08:04 · 753 阅读 · 0 评论 -
机器学习算法实践:决策树 (Decision Tree)
决策树学习决策树学习是根据数据的属性采用树状结构建立的一种决策模型,可以用此模型解决分类和回归问题。常见的算法包括 CART(Classification And Regression Tree), ID3, C4.5等。我们往往根据数据集来构建一棵决策树,他的一个重要任务就是为了数据中所蕴含的知识信息,并提取出一系列的规则,这些规则也就是树结构的创建过程就是机器学习的过程。转载 2017-07-18 20:43:34 · 2568 阅读 · 0 评论 -
那些有趣/用的 Python 库
图片处理pip install pillowfrom PIL import Imageimport numpy as np a = np.array(Image.open('test.jpg'))b = [255,255,255] - aim = Image.fromarray(b.astype('uint8'))转载 2017-08-07 21:30:47 · 12821 阅读 · 0 评论 -
用 Python 进行贝叶斯模型建模(2)
第2节:分层模型贝叶斯模型的一个核心优势就是简单灵活,可以实现一个分层模型。这一节将实现和比较整体合并模型和局部融合模型。import itertoolsimport matplotlib.pyplot as pltimport numpy as npimport pandas as pdimport pymc3 as p转载 2017-07-24 22:34:46 · 2525 阅读 · 3 评论 -
Python 爬虫实践:《战狼2》豆瓣影评分析
目标总览主要做了三件事:抓取网页数据清理数据用词云进行展示使用的python版本是3.5.一、抓取网页数据第一步要对网页进行访问,python中使用的是urllib库。代码如下:from urllib import requestr转载 2017-08-20 08:58:44 · 1264 阅读 · 0 评论 -
Python 源码理解: '+=' 和 'xx = xx + xx' 的区别
在我们使用Python的过程, 很多时候会用到+运算, 例如:a = 1 + 2print a # 输出3不光在加法中使用, 在字符串的拼接也同样发挥这重要的作用, 例如:a = 'abc' + 'efg'print a # 输出abcefg原创 2017-08-20 09:00:11 · 406 阅读 · 0 评论 -
Python 面向对象(初级篇)
概述面向过程:根据业务逻辑从上到下写垒代码函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可面向对象:对函数进行分类和封装,让开发“更快更好更强…”面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,即:将之前实现的代码块复制到现需功能处。转载 2017-08-13 20:46:32 · 371 阅读 · 0 评论 -
Python 面向对象(进阶篇)
上一篇《Python 面向对象(初级篇)》文章介绍了面向对象基本知识:面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中)对象,根据模板创建的实例(即:对象),实例用于调用被包装在类中的函数面向对象三大特性:封装、继承和多态转载 2017-08-13 20:49:17 · 250 阅读 · 0 评论 -
Python 标准库笔记:string模块
1. 常用方法2.字符串常量3.字符串模板Template通过string.Template可以为Python定制字符串的替换标准,下面是具体列子:>>>from string import Template>>>s = Template('$who like $what原创 2017-09-03 09:17:04 · 15158 阅读 · 0 评论 -
Python 判断文件是否存在的三种方法
这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句、pathlib模块。1.使用os模块os模块中的os.path.exists()方法用于检验文件是否存在。判断文件是否存在import osos.path.exists(test_file.txt)#True原创 2017-09-03 09:18:19 · 12405 阅读 · 0 评论 -
Python标准库:itertools模块
简介官方描述:Functional tools for creating and using iterators.即用于创建高效迭代器的函数。itertools.chain(*iterable)将多个序列作为一个单独的序列返回。 例如:import itertoolsfor each in itertool原创 2017-09-03 09:20:29 · 494 阅读 · 0 评论 -
Python 魔术方法(Magic Method)
介绍在Python中,所有以“__”双下划线包起来的方法,都统称为“Magic Method”,例如类的初始化方法 __init__,Python中所有的魔术方法均在官方文档中有相应描述,但是对于官方的描述比较混乱而且组织比较松散。很难找到有一个例子。构造和初始化每个Pythoner都知道一个最基本的魔术方法, __init__ 。通过此转载 2017-09-03 09:23:30 · 1114 阅读 · 0 评论 -
代码这样写更优雅(Python 版)
Python 这门语言最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净、整洁、一目了然。但有时候我们写代码,特别是 Python 初学者,往往还是按照其它语言的思维习惯来写,那样的写法不仅运行速度慢,代码读起来也费尽,给人一种拖泥带水的感觉,过段时间连自己也读不懂。《计算机程序的构造和解释》的作者哈尔·阿伯尔森曾这样说:“Programs must be written原创 2017-06-25 21:12:47 · 2134 阅读 · 0 评论 -
python实现贝叶斯分类器
python实现贝叶斯分类器的主要代码import csvimport ramdomimport math def loadCsv(filename): lines = csv.reader(open(filename,"rb")) dataset = list(lines) for i in range(len(dataset)): dataset[i] = [f原创 2017-07-01 16:27:29 · 1670 阅读 · 0 评论 -
python基础之函数
1、Python之什么是函数我们知道圆的面积计算公式为:S = πr²当我们知道半径r的值时,就可以根据公式计算出面积。假设我们需要计算3个不同大小的圆的面积:r1 = 12.34r2 = 9.08r3 = 73.1s1 = 3.14 * r1 * r1s2 = 3.14 * r2 * r2s3 = 3.14 * r3 * r3当代码出现有规律的重原创 2017-03-19 19:43:43 · 628 阅读 · 0 评论 -
python基础之切片、迭代和列表生成式
切片1、对list进行切片取一个list的部分元素是非常常见的操作。比如,一个list如下:>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']取前3个元素,应该怎么做?笨办法:>>> [L[0], L[1], L[2]]['Adam', 'Lisa', 'Bart']之所以是笨办法是因为扩展一下,取前N个元素就原创 2017-03-19 19:55:24 · 386 阅读 · 0 评论 -
python面试
这是一篇很棒的文章,转来给大家一起看看:https://github.com/qiwsir/interview_pythonTable of ContentsPython语言特性1 Python的函数参数传递2 Python中的元类(metaclass)3 @staticmethod和@classmethod4 类变量和实例变量5 Python自省6 字典推转载 2017-03-19 21:46:42 · 578 阅读 · 0 评论 -
pycharm快捷键
1、编辑(Editing)Ctrl + Space 基本的代码完成(类、方法、属性)Ctrl + Alt + Space 快速导入任意类Ctrl + Shift + Enter 语句完成Ctrl + P 参数信息(在方法中调用参数)Ctrl + Q 快速查看文档Shift + F1 外部文档Ctrl + 鼠标 简介Ctrl + F1 显示错误描述或警告信息Alt原创 2017-03-12 17:27:35 · 235 阅读 · 0 评论 -
python开发之安装过程及常用设置
python是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNU General Public Licence)。同时由于其具有丰富和强大的库,能够把其他语言制作的各种模块很轻松的粘接到一起,因此,受到越来越多的受众的喜爱。那下面我们一起来看看python的安装吧。(以下以windows系统为例)首先,进入python的官网:https://www.python.org,选择d原创 2017-03-03 12:15:43 · 532 阅读 · 0 评论 -
python基础之条件判断和循环
1、Python之if语句计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,可以用if语句实现:age = 20if age >= 18: print 'your age is', age print 'adult'print 'END'注意: Python代码的缩进原创 2017-03-14 15:46:24 · 619 阅读 · 0 评论 -
python基础之Dict和Set类型
1、Python之什么是dict我们已经知道,list 和 tuple 可以用来表示顺序集合,例如,班里同学的名字:['Adam', 'Lisa', 'Bart']或者考试的成绩列表:[95, 85, 59]但是,要根据名字找到对应的成绩,用两个 list 表示就不方便。如果把名字和分数关联起来,组成类似的查找表:'Adam' ==> 95'Lis原创 2017-03-15 20:21:00 · 318 阅读 · 0 评论 -
如何使用sublime编辑器运行python程序
首先你需要安装一个Sublime Text(http://www.sublimetext.com/)和一个Python(https://www.python.org/downloads/),接下来打开Sublime Text:1、如下图所示,点击菜单栏中的Tools —> Build System —> New Build System… (可以看到系统默认选择的是Automati原创 2017-04-04 22:32:26 · 102066 阅读 · 15 评论 -
提高 Python 运行效率的六个窍门
Python是一门优秀的语言,它能让你在短时间内通过极少量代码就能完成许多操作。不仅如此,它还轻松支持多任务处理,比如多进程。不喜欢Python的人经常会吐嘈Python运行太慢。但是,事实并非如此。尝试以下六个窍门,来为你的Python应用提速。窍门一:关键代码使用外部功能包Python简化了许多编程任务,但是对于一些时间敏感的任务,它转载 2017-05-25 14:59:46 · 505 阅读 · 0 评论 -
按位运算
就是说不用乘法,除法,求模运算来实现两个整数相除,看起来很简单,我可以用除数减去被除数,直到除数小于被除数,记录减法操作的次数即可。假设是计算m/n,那么时间复杂度为O(m/n)。用Python实现后,Time Limit Exceeded。我们考虑有没有更加优化的算法呢?如果很难想得到,那就先来回忆下二进制数按位运算的一些知识。二进制数按位运算原创 2017-05-25 15:02:57 · 516 阅读 · 0 评论 -
Python 面试问答 Top 25
Python 是一种解释型,交互式,面向对象的高级编程语言。和别的一些使用标点符号的语言不同,Python使用了大量的英语单词作为关键字,因而具有很好的可读性。而且跟其他编程语言相比,它有更少的语法结构。Python 是一种解释性语言:这意味着你的程序在执行之前不需要编译,而是由解释器在运行时处理。这个特点跟PERL,PHP很像。Python是可交互的:这意转载 2017-05-25 15:04:54 · 778 阅读 · 0 评论 -
Python 算法实战系列:栈
栈(stack)又称之为堆栈是一个特殊的有序表,其插入和删除操作都在栈顶进行操作,并且按照先进后出,后进先出的规则进行运作。例如枪的弹匣,第一颗放进弹匣的子弹反而在发射出去的时候是最后一个,而最后放入弹匣的一颗子弹在打出去的时候是第一颗发射出去的。栈的接口如果你创建了一个栈,那么那么应该具有以下接口来进行对栈的操作原创 2017-05-26 17:20:25 · 637 阅读 · 0 评论 -
完全理解 Python 迭代对象、迭代器、生成器
在了解Python的数据结构时,容器(container)、可迭代对象(iterable)、迭代器(iterator)、生成器(generator)、列表/集合/字典推导式(list,set,dict comprehension)众多概念参杂在一起,难免让初学者一头雾水,我将用一篇文章试图将这些概念以及它们之间的关系捋清楚。容器(container)原创 2017-07-10 21:26:36 · 412 阅读 · 0 评论 -
什么时候使用 Lambda 函数?
Python 中定义函数有两种方法,一种是用常规方式 def 定义,函数要指定名字,第二种是用 lambda 定义,不需要指定名字,称为 Lambda 函数。Lambda 函数又称匿名函数,匿名函数就是没有名字的函数,函数没有名字也行?当然可以啦。有些函数如果只是临时一用,而且它的业务逻辑也很简单时,就没必要非给它取个名字不可。好比电影里面的群众演员,往往他转载 2017-07-10 21:27:56 · 1222 阅读 · 0 评论 -
Python:整数比较
在 Python 中一切都是对象,毫无例外整数也是对象,对象之间比较是否相等可以用==,也可以用is。==和is操作的区别是:is比较的是两个对象的id值是否相等,也就是比较俩对象是否为同一个实例对象,是否指向同一个内存地址。==比较的是两个对象的内容是否相等,默认会调用对象的__eq__()方法。清楚is和==的区别之后,对此也许你转载 2017-07-10 21:29:09 · 766 阅读 · 1 评论 -
subline快捷键
ctrl+B:快速编译 ctrl+N:快速创建 ctrl+p:find anything查找框 输入@查找元素 ctrl+shift+p:切换语言 ctrl+L:选中一行 ctrl+D:光标选中多行操作 也是替换功能 这时ctrl+k:掉过一行也可以ctrl+d选中后 按alt+f3 全选 也可以按住shift+鼠标右键拖拽 ctrl+shift+D:复制换行 Ctrl+L 选择整行(按住-继续选...原创 2018-03-13 20:25:35 · 660 阅读 · 0 评论