摘要:1. linux安装 anaconda 在安装pycharm之前,如果要安装anaconda,可以先下载(清华镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/): 然后例如:bash Anaconda3-5.2.0-Linux-x86
阅读全文
摘要:python可以在执行时写入日志用于查找问题,这里提供一个类,在需要的时候就可以直接使用: import logging from logging import handlers class Logger(object): level_relations = { 'debug':logging.DE
阅读全文
摘要:Python计算经纬度的方法: 维基百科公式(要求的是公式中的d): Python代码如下(返回结果是单位是:米): from math import radians,sin,cos,asin,sqrtdef haversine_dis(lon1, lat1, lon2, lat2): #将十进制转
阅读全文
摘要:1. 如果pip没有安装或者不小心卸载了,可以使用 easy_install 来安装,如下: easy_install pip 2. 使用 from sklearn.externals import joblib 报错:ImportError: cannot import name 'joblib'
阅读全文
摘要:python参数传递时,主要有位置参数和关键字参数。 1. 位置参数:顾名思义,参数的位置顺序很重要,因为是直接根据位置赋值的。 def func1(a, b): print(a,b) # 位置参数,位置顺序很重要 func1(1,2) 2. 关键字参数:首先使得位置不那么重要了,毕竟参数一多,有些
阅读全文
摘要:1. 使用base64解码时,出现:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xed in position 21: invalid continuation byte 这里不是读文件的时候,需要加入 encoding='utf-8'
阅读全文
摘要:1. Pandas读取csv或excel数据时,很可能遇到的columns中,列名会带有特殊字符,例如:空格、\n、\t、双空格、引号等等,如果不想手动修改的话,可以df.rename()来解决。 df = pd.read_excel(data_path) df_ = df.rename(colum
阅读全文
摘要:Base64常用于对电子邮件、短信、URL等进行编码和传输,在Python和Mysql中都有实现方式。 但这里要说的是它编码的基本原理和步骤。 1. 首先相信大家都会看到这个表:Base64对应的字符表,一共64个字符,包括26个字母的大小写、10个阿拉伯数字、+号和/号;附:(还有一个' =' 号
阅读全文
摘要:Python里面的字符一般默认为Unicode字符,属于str类型;而编码则是将字符转换成字节流的过程,反之解码是将字节流解析为字符的过程。 所谓的字节流,在pyhton里面,属于bytes类型。 1. python有两种方式实现编码和解码: encode 和 decode 方法:encode()函
阅读全文
摘要:字符与编码的问题,之前很少深究,但这次遇到了base64的问题,所以觉得是时候解决一下了,不一定全面,但想尽可能记录一些想知道的点。。。 首先,为什么需要编码??因为计算机本身可不认识:‘你在做什么?’、‘what are you doing?’等这么人类性的语言;在计算机内部,所有的信息都表示为一
阅读全文
摘要:Base64编码常作为电子邮件的传输编码,将邮件内容编码成ascii码进行传输。 Base64编解码原理:可见。 Python和Mysql中都提供了base64编码和解码的函数。 Python:直接使用字符串编码会报错TypeError: a bytes-like object is require
阅读全文
摘要:简要目录: open函数 将文件设置为utf-8编码格式 UnicodeDecodeError f.read() 和 f.read(size) f.readline() 和 f.readlines() f.tell():返回文件指针的位置,注意换行符 f.writelines() 和 f.write
阅读全文
摘要:python存在多重继承机制,但是先说:尽量不要用多重继承。 有点多,慢慢看。。。 目录: 1. 讲多重继承前,先看看:每一代都是单继承的继承问题 2. 子类访问父类 —— super方法 3. 多重继承 非super 4. 多重继承 super 5. MRO顺序 C3算法 # 讲多重继承前,先看看
阅读全文
摘要:Python作为一种面向对象语言,也有着面向对象的三种特性:封装、继承、多态。 封装: 将事物相关的属性和方法封装在某一个类里面,使得在调用类创建实例时,可以不用关心类内部的实现细节。 类的本质: 1. 是将属性(全局变量),方法(函数)都封装在一个黑盒子里面; 2. 类里面的方法可以共享属性,属性
阅读全文
摘要:Python在导入import包的时候,有绝对导入和相对导入方式。 绝对导入:import p1.m1 或者 from p1 import m1 等。 相对导入:from . import m1 或者 from .. import m1 或者 from ..p1 import m1 或者 from
阅读全文
摘要:曾经学C++的时候,经常听到这个名词,它主要是为了避免命名冲突而产生的。 就像有A(4个苹果),B(6个苹果)两个人,10个苹果,如果只标签了苹果,你无法判断哪个苹果是属于哪个人的,因为标签都是一样的;但是如果标签是A.苹果,B.苹果,那么是不是很容易就知道了苹果是谁的了。 命名空间:提供了一种从名
阅读全文
摘要:有时候,很容易忽略一些看上去不起眼的小细节,可能人总是有那么点理所当然的想法。 就像init.py文件,是不是感觉像个熟悉的陌生人?~~~ 这里来浅析一下一些基础概念(都是左右各双下划线)。 1. __init__.py 文件:这个文件,就像一个标识符一样,用来表明一个文件夹是python包还是一般
阅读全文
摘要:用Python实现爬虫的包有很多,可以结合使用,但是目前个人觉得BeautifulSoup至少在看上去会更方便和美观一些。 这里只涉及静态网页的爬取,暂不支持cookie、session等。 Python实现微博热搜榜的爬取 微博热搜地址:https://s.weibo.com/top/summar
阅读全文
摘要:python的内置函数中,有一对函数:chr 和 ord,有着相反的功能。 1. chr(x):用一个数值作参数,返回一个对应的unicode字符,该参数的有效范围是从0到1114111(16进制时为0x10FFFF),参数可以是十进制,也可以是十六进制。 print(chr(105)) # > i
阅读全文
摘要:当你执行大型程序的时候,突然出现exception,会让程序直接停止,这种对服务器自动程序很不友好,而python有着较好的异常捕获机制,不会立刻终止程序。 这个机制就是try-except。 1. 发生异常时可配置备用程序 aa = [1,2,4,5,7,0,2] for ii in aa: tr
阅读全文