
Python
肯德基套餐
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ImportError: cannot import name create_prompt_application
用ipython创建kernel时出现下面问题参考该方法:https://github.com/jupyter/jupyter_console/issues/158sudo pip install prompt-toolkit==1.0.15原创 2020-06-22 11:09:00 · 1338 阅读 · 0 评论 -
python itertools groupy踩坑
groupy前必须对key进行排序, 不然结果不是期望的from itertools import groupbyarray = []for i in ['a', 'a', 'b']: for j in range(10): array.append([i, j])for key, val in groupby(array,key=lambda x:x[0]):...原创 2019-10-25 15:06:27 · 642 阅读 · 1 评论 -
ImportError: No module named 'src'
把本地python项目,比如pycharm中的项目拷贝到服务器运行时,出现Module引入错误解决方法:在project的根目录下运行子目录的文件,而不是直接在子目录下运行文件...原创 2019-11-06 22:07:13 · 8488 阅读 · 3 评论 -
VSCode配置python环境
配置settings文件.vscode下建立, settings.json文件{ "python.testing.pytestArgs": [], "python.testing.unittestEnabled": false, "python.testing.nosetestsEnabled": false, "python.testing.pytestEna...原创 2019-10-24 17:35:21 · 723 阅读 · 0 评论 -
python装饰器代替set get方法
对于变量的访问和设置,我们可以使用get、set方法,如下:class student: def __init__(self,name): self.__name = name def get_name(self): return self.__name def set_name(self,name): self.__n...原创 2019-01-05 20:36:28 · 2818 阅读 · 0 评论 -
python 自定义排序
我们都知道python中有两种排序的方法,原地排序的x.sort(),和不改变原列表有返回值的sorted(x)自定义排序函数先不关心其实原地排序还是有返回值的排序,研究其内部的排序原理,其内部是根据什么排序的呢,默认的排序方法是内建的cmp函数对于cmp(x,y):如果想要x排在y前面那么返回一个负数,如果想x排在y后面那么返回一个正数根据这个原理我们可以自定义一些排序函数comp...原创 2019-01-05 11:27:26 · 22884 阅读 · 1 评论 -
三元运算符的运算逻辑
对于下面的代码flag = Trueif flag ==Ture: value = 1else: value = 0我们可以有如下两个方法可以代替flag = Truevalue = 1 if flag else 0value = (0,1)[flag]上面两种方法产生的结果是一样的,但是运行逻辑不同。1.if else遵循if else的逻辑树,也就是如果if成立那么e...原创 2019-01-04 20:56:14 · 705 阅读 · 0 评论 -
python生成器(Generators)
生成器定义了要产生的值的列表,并只在运行时对外输出。只可迭代一次可以自己定义一个生成器,也可以使用python自带的函数iter来构建一个生成器自定义生成器使用关键字yield定义生成器函数,然后用for或者next调用def generator_function(): for i in range(10): yield igen1 = generator_fun...原创 2019-01-04 20:39:10 · 231 阅读 · 0 评论 -
python中利用try..except来代替if..else
在有些情况下,利用try…except来捕捉异常可以起到代替if…else的作用。比如在判断一个链表是否存在环的leetcode题目中,初始代码是这样的# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# ...原创 2018-12-28 12:32:45 · 13072 阅读 · 0 评论 -
python守护线程
如果python线程是守护线程,那么以为着这个线程是“不重要”的,“不重要”意味着如果他的父进程结束了但该守护线程没有运行完,守护进程就会被强制结束。如果线程是非守护线程,那么父进程只有等到守护线程运行完毕后才能结束。在python中,线程通过threadName.setDaemon(True|False)来设置是否为守护线程代码实例:父进程中调用两个线程,但父进程会瞬间运行完,观察两个线程...原创 2018-10-14 17:35:16 · 1759 阅读 · 0 评论 -
ubuntu 下安装anaconda
1.下载下载链接 https://repo.continuum.io/archive/index.html 选择对应的版本,linux下为.sh文件2.安装在下载路径下 输入bash conda文件名安装过程中会让你选择安装路径,不用默认路径的话手动输入路径3.验证安装完毕后重启终端 输入conda 上述操作不行的话,gedit /etc/profile加入环...原创 2018-08-17 11:11:51 · 253 阅读 · 0 评论 -
ImportError: No module named '_tkinter'
ImportError: No module named ‘_tkinter’学习tensorflow的时候,运行第一行代码就遇到这个错误,给的提示如下,提示安装python3-tk packageImportError: No module named '_tkinter', please install the python3-tk packagepython3-tk packag...原创 2018-08-17 10:43:14 · 508 阅读 · 0 评论 -
python 序列中的可变、不可变对象与=、*操作
可变对象与不可变对象可变对象指的是对象的内容是可变的,而不可变的对象表示内容不可变。常用的可变不可变对象有不可变对象:int 、string、float、tuple可变对象:list、dict这里的可变与不可变是指在原来保存地址的基础上是否可变。= 操作可变对象的=操作是将等号右边的变量赋给左边,所以这两个变量指向的是同一片内存,所以只要这两个对象中的任何一个修改了内存中的变量,...原创 2019-01-08 10:21:46 · 584 阅读 · 0 评论 -
Difference between anconda and conda
conda is the package manager. Anaconda is a set of about a hundred packages including conda, numpy, scipy, ipython notebook, and so on.You installed Miniconda, which is a smaller alternative to Anaco...原创 2019-04-21 13:15:56 · 173 阅读 · 0 评论 -
Windows 下安装conda可能遇到的各种问题
添加环境变量添加 anaconda\Scripspycharm配置pycharm 配置conda环境的时候添加已有的而不是创建新的安装包如果在命令行安装不要使用cmd,使用Anaconda prompt。不然会出现通信错误...原创 2019-04-21 14:23:31 · 2883 阅读 · 0 评论 -
python中的四舍五入
python中的小数存储python中小数都是以二进制形式存储的,但是二进制可能无法精确的表示十进制数,所以有些数字只能无限接近的存储。由于python二进制的存储形式以及存储误差的存在,所以在四舍五入的时候会出现一些问题。(1)roundround函数可以保留n位小数,首先不建议使用, 比如一个四舍五入了一个没有,因为2.235在python内部存的是2.23499…的形式,四舍五入...原创 2019-09-29 10:24:56 · 3366 阅读 · 2 评论 -
python list和dict作为默认参数
今天面试被问到了这样一道题,不幸的是我答错了def function(n, res=[]): res.append(n) return resfunction(1)function(2, res=[1])print(function(3))结果是[1, 3]解释当list , dict等可变类型作为默认参数时,只会在定义函数的时候执行一次,有点像静态变量,定义...原创 2019-08-28 23:13:40 · 1632 阅读 · 1 评论 -
oserror: [winerror 126] the specified module could not be found
调用LightGBM的时候出现下面的错误,包已经安装了oserror: [winerror 126] the specified module could not be found lgb原因是缺乏 VC++相关运行库解决方法:下载VC++运行库,64位版本下载地址为 https://www.microsoft.com/zh-cn/download/confirmation.aspx?id...原创 2019-07-07 12:11:44 · 3113 阅读 · 0 评论 -
OSError: [WinError 126] The specified module could not be found
卸载2.2.3版本安装2.2.2版本原创 2019-07-05 16:58:20 · 1898 阅读 · 0 评论 -
A column-vector y was passed when a 1d array was expected
使用网格搜索时报错A column-vector y was passed when a 1d array was expected把optimizer = GridSearchCV(estimator=model, param_grid=grid_params,scoring='accuracy', cv=5, verbose=1, n_jobs=4)bst = optimizer.f...原创 2019-06-26 16:23:11 · 1924 阅读 · 0 评论 -
python全局变量的修改
举个例子。外部函数定义了count变量,而后在内部函数中去使用并修改它。可以看到,我们可以打印它,但是不能修改它。原因python 不可变变量(比如str, int, double,tuple这些),如果在外部函数申明,那么内部只能使用不能修改,如果想要修改只能在外部申明的时候加上global关键字。而python中的可变变量(比如list,dict)外部申明后内部函数可以进行修改。...原创 2019-06-20 08:34:01 · 7701 阅读 · 0 评论 -
python & 运算优先级
&运算得优先级是小于+ -运算的,国内一些网站写错了if __name__ == '__main__': print(2&1) print(3-2&1)原创 2019-06-14 11:21:37 · 422 阅读 · 0 评论 -
windows 下使用conda安装xgboost问题
https://anaconda.org/search?q=xgboost可以看到conda在windows上不支持直接装xgboost这个包的,取而代之的是py-xgboost这个包conda install py-xgboost即可原创 2019-04-21 14:54:37 · 2285 阅读 · 0 评论 -
windows下pip无法安装包
windows下初次使用pip无法安装包(终端和pycharm都不行)解决方法:在终端安装requests包(pip install requests),之后就能正常安装了原创 2018-08-15 20:07:41 · 3392 阅读 · 0 评论 -
Python中的*args 和**kwargs
这是一种特殊的语法,在函数定义中使用*args和kwargs传递可变长参数. *args用作传递非命名键值可变长参数列表(位置参数); kwargs用作传递键值可变长参数列表第一个参数是固定参数def test1(arg1,*args): print(arg1) for i in args: print(i) test1(“hello”,1,2,3,...原创 2018-08-15 20:05:45 · 214 阅读 · 0 评论 -
Python with语句
常用用法:with open("file_location") as f: body一、术语:上下文管理协议(Context Management Protocol):包含方法 enter() 和 exit(),支持该协议的对象要实现这两个方法。上下文管理器(Context Manager):支持上下文管理协议的对象,这种对象实现了enter_() 和 exit() ...原创 2018-08-04 17:37:34 · 9778 阅读 · 0 评论 -
python 文件的读写
打开文件:形式如下f=open('/tmp/hello','w')open(路径+文件名,读写模式),注意路径中可能含有转义字符比如”\t”,要在路径名前加r读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式如:’rb’,’wb’,’r+b’等等,读写模式的类型有: rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP ...原创 2018-02-12 00:04:39 · 239 阅读 · 0 评论 -
python中的文件迭代操作
文件的迭代相当于对文件中的内容进行遍历和操作: 1.用read方法,每次读取一定量的字节数,对读到的字节数进行process: 两种方法遍历: (1)f = open(filename) char = f.read(1) while char: process(char) char= f.read(1) f.closef.read(1)每执行一次,...原创 2018-02-09 13:35:34 · 3162 阅读 · 0 评论 -
Python中append和+以及extend的区别
当我我们在使用List的扩展操作时候,常常会用到append方法和+运算符,不注意他们之间的区别常常会导致错误,下面举例说明他们的错误1)append:s1 = [1,2,3]s2 = [4]s1.append(s2)s1.append({'1':'2'})print(s1)输出如下[1,2,3,[4],{'1':'2'}]使用append相当把整个s2当原创 2018-01-19 07:47:30 · 13407 阅读 · 1 评论 -
python list倒序输出中的一些问题
我们可以使用Python的切片操作来完成list的倒序操作,比如:a=['a','b','c','d','e','f']print(a[ : :-1])可以得到如下结果:['f', 'e', 'd', 'c', 'b', 'a']下面来看看如下操作: (1)a=['a','b','c','d','e','f']print(a[ 4: :-1])结果:['e原创 2018-02-01 17:07:13 · 4918 阅读 · 0 评论 -
二十行代码实现图片转字符图片
要达到的效果如右图所示 或者这样 源码如下:from PIL import Imageascii_char =list("/\|()1{}$@B%8&WM#ZO0QLCJUYX*hkbdpqwmoahkbdpqwmzcvunxrjft[]?-_+~)imgname = "D:/jzm.png"output ="D:/a.txt"width =60height=35原创 2018-01-16 16:15:54 · 20440 阅读 · 0 评论 -
AttributeError: module ‘urllib’ has no attribute ‘urlopen’
AttributeError: module ‘urllib’ has no attribute ‘urlopen’学习网络编程的时候用到的urllib模块里的urlopen方法,结果出现如下图所示的问题: 网上搜了搜,说可能是工程里面有和urllib重名的类导致import进来的事自定义的urllib,看了下卧槽,果然是,新建的py文件名就是urllib,原创 2018-01-15 21:20:31 · 541 阅读 · 0 评论 -
PythonIO编程
文件读写读文件opentype表示打开类型,当打开非utf-8编码的文本时要用encoding之处编码方式,当文本打开的时候因为一些特殊字符导致错误时,用errors=’ignore‘来忽略这些错误f =open('filenlocation','opentype',encoding='gbk',errors='ignore')如果文件不存在,open()函数就会抛出一个I...原创 2018-08-04 17:40:25 · 9435 阅读 · 0 评论 -
python正则表达式
正则表示概念1.使用单个字符串来描述匹配一系列符合某个语法规则的字符串2.对字符串操作的一种逻辑模式3.应用场景:处理文本和数据4.正则表达式过程:依次拿出表达式和文本中的字符比较。如果每一个字符都能匹配成功。则匹配成功,否则匹配失效要使用re模块第一个正则表达式pattern->compile -> match输入:import rest...原创 2018-08-15 20:04:58 · 303 阅读 · 0 评论 -
python装饰器
python装饰器是一个以函数作为参数并返回一个替换函数的可执行函数,在不改变函数源码的情况下为函数增添一些新功能函数装饰器不带参数的装饰器python接收函数返回函数实现:def outer(func): def innner(): print("before func") ret =func() return ...原创 2018-08-06 16:46:35 · 646 阅读 · 0 评论 -
python线程和进程
多进程:启动一个程序后就会自动创建一个进程,可以在该进程的基础上创建一些子进程来完成任务创建进程:1)Process创建进程:利用multiprocessing模块创建进程,Process(target =funtion,args=()):from multiprocessing import Processimport osdef function(sa...原创 2018-08-14 07:57:12 · 204 阅读 · 0 评论 -
python网络编程
TCP编程:创建一个基于TCP的socketimport socket# 创建一个socket:s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 建立连接:s.connect(('www.sina.com.cn', 80))s.send(b'GET / HTTP/1.1\r\nHost: www.sina.com.c...原创 2018-08-10 07:20:37 · 658 阅读 · 5 评论 -
python面向对象编程
python 模板内容#!/usr/bin/env python # -*- coding: utf-8 -*-__author__ = 'Michael Liao'第一行指明运行环境第二行配置编码方式第三行说明作者eg1:import sysdef test(): args =sys.argv if len(args) ==1: ...原创 2018-08-10 07:20:04 · 579 阅读 · 0 评论 -
python 垃圾回收
Python的GC模块主要运用了“引用计数”(reference counting)来跟踪和回收垃圾。在引用计数的基础上,还可以通过“标记-清除”(mark and sweep)解决容器对象可能产生的循环引用的问题。通过“分代回收”(generation collection)以空间换取时间来进一步提高垃圾回收的效率。一、引用计数原理:当一个对象的引用被创建或者复制时,对象的引用计数加...原创 2018-08-10 07:18:55 · 233 阅读 · 0 评论 -
python函数式编程
函数式编程简介:一种编程范式把计算视为函数而非指令纯函数式编程:不需要变量,没有副作用,测试简单支持高阶函数,代码简单高阶函数:能接收函数做参数的函数变量可以指向函数函数的参数可以接收变量一个函数可以接收另一个函数作为参数能接收函数作为参数的函数被称为高阶函数eg1:def add(x,y,f): return f(x)+f(y)pri...原创 2018-08-10 07:18:25 · 585 阅读 · 0 评论