
py基础
文章平均质量分 76
BBJG_001
手与大脑的距离决定了理想与现实的相似度
展开
-
miniconda envs目录为空
背景在pycharm为项目添加环境时,在miniconda的envs目录下找不到python解释器一个高命中答案在Pycharm下创建Anaconda虚拟环境,但envs目录下没有interpreter解释器问题的解决 中提到一个原因是没有指定具体环境,梗概如下# 没有指定具体环境conda create -n envxx0 # 创建了一个空环境,这就不会再 envs目录下生成内容# 不指定python版本conda create -n envxx1 python # 这样会公用基础的p原创 2022-01-09 17:19:12 · 5761 阅读 · 1 评论 -
python 如何快速起一个http服务
想到http最直接想到的就是浏览器访问,其实它的原理也就是通过网络进行不同机器之间的数据交互。当然数据交互的方式很多,ftp,ssh,还有另外一些可视化的工具。这里就记录一下如何通过python快速的起一个http服务。base demo直接上代码,基于python3.8from http.server import BaseHTTPRequestHandler, HTTPServerimport numpy as npclass MyHandler(BaseHTTPRequestHandler原创 2021-10-24 23:29:27 · 1530 阅读 · 0 评论 -
Windows下操作文件报错:文件名或扩展名太长
原文地址注:我的解决环境时在win10(1089)下问题在用os模块操作某全路径文件时,报错文件名或扩展名太长原因Windows中限定了默认的256个字符路径长度限制(MAX_PATH)解决修改这个最大长度的限制从Windows 10(版本1607)开始,MAX_PATH限制已从Common Win32文件和目录功能中移除。若要使用新的扩展路径行为,必须通过更改注册表项...原创 2020-04-12 09:41:32 · 20867 阅读 · 5 评论 -
Python匿名函数(lambda表达式)
原文地址我的简单理解就是通过一行代码定义一个函数lambda表达式语法如下函数名 = lambda 参数 : 参数表达式在使用的时候函数名(变量)eg.通过常规方式定义函数 if x<y: res = x+y else: res = x-y return resprint(fun(1,3))# 4通过l...原创 2020-03-22 07:49:24 · 2059 阅读 · 1 评论 -
Python:内置函数
原文地址内置函数总表内置函数__import__()abs()all()any()ascii()bin()bool()bytearray()bytes()callable()chr()classmethod()compile()complex()delattr()dict()dir()divmod()enumerat...原创 2020-03-12 09:41:45 · 2066 阅读 · 0 评论 -
Python中shelve序列化与反序列化
原文地址序列化/反序列化将对象转换为可通过网络传输或可以存储到本地磁盘的数据格式(如:XML、JSON或特定格式的字节串)的过程称为序列化;反之,则称为反序列化shelveshelve是一个简单的数据存储方案,类似key-value数据库,可以很方便的保存python对象,其内部是通过pickle协议来实现数据序列化。shelve只有一个open()函数,这个函数用于打开指定的文件...原创 2020-03-11 10:15:38 · 2039 阅读 · 0 评论 -
Python中pickle序列化与反序列化
原文地址序列化/反序列化将对象转换为可通过网络传输或可以存储到本地磁盘的数据格式(如:XML、JSON或特定格式的字节串)的过程称为序列化;反之,则称为反序列化picklepickle模块实现了用于对Python对象结构进行 序列化 和 反序列化 的二进制协议,与json模块不同的是pickle模块序列化和反序列化的过程分别叫做 pickling 和 unpickling:pi...原创 2020-03-10 09:46:58 · 2126 阅读 · 0 评论 -
Python生成器表达式
原文地址先看一个列表推导式l = [i for i in range(10)]print(l)# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]生成器表达式#生成器表达式g1 = (i for i in range(10))print(g1)# <generator object <genexpr> at 0x00000228C7A824...原创 2020-03-09 08:11:28 · 1832 阅读 · 0 评论 -
Python中的推导式
原文地址列表推导式语法如下[每一个元素或者是和元素相关的操作 for 元素 in 可迭代数据类型] #遍历之后挨个处理[满足条件的元素相关的操作 for 元素 in 可迭代数据类型 if 元素相关的条件] #筛选功能实例#------------ 简单的列表推导式print([2*x for x in range(10)])# [0, 2, 4, 6, 8, 1...原创 2020-03-08 10:11:53 · 1881 阅读 · 0 评论 -
Python函数闭包
原文地址#闭包:嵌套函数,内部函数调用外部函数的变量def outer(): a = 1 def inner(): print(a) inner()outer()# 1def outer(): a = 1 def inner(): print(a) return inner # 这就是闭包的写法getin...原创 2020-03-08 10:09:06 · 1828 阅读 · 0 评论 -
Python生成器函数
原文地址生成器本质上也是一个迭代器,我的一点理解的话,它也有点像只能执行一轮的单链表,通过 obj.__next__()就获得了当前指针(并不是真的指针)的指向值,同时将将指针指向一下个,过程不可逆,最后一个元素执行完之后这个生成器基本上就没法用了。首先看一个普通函数# 一个普通函数def generator1(): print(1) return 'a'ret = ...原创 2020-03-07 10:03:58 · 1991 阅读 · 0 评论 -
在Python应用正则表达式
原文地址在python中,可以用string.startwith()、string.endswith()、if string in sentence等等进行字符匹配,但能完成的匹配有限,正则表达式是用来完成精确匹配的一种机制在各种语言中通用正则表达式能够更有效的处理字符串方法处理起来很复杂的匹配——书籍《正则指引》Python写的规则[]表示一个位置,[123]表示这一个位置...原创 2020-03-03 09:05:02 · 2136 阅读 · 0 评论 -
python:迭代器
原文地址顾名思义,就是可以迭代的器(对象)创个实例for i in [1,2,3]: print(t)其实其内部就是调用了迭代器dir()方法dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。...原创 2020-03-02 11:01:19 · 1800 阅读 · 0 评论 -
Python:获得列表最大值索引、获得字典最大值的key
原文地址获得列表最大值/最小值的索引ll = [3, 8, 5, 7, 2, 4]print(ll.index(max(ll))) # 获得列表最大值索引# 1print(ll.index(min(ll)))# 4获得字典最大值/最小值的keydd = {'key33':33, 'key44':44, 'key77':77, 'key22':22}print(ma...原创 2020-03-01 09:31:53 · 4957 阅读 · 0 评论 -
Python中json的简单使用
原文地址What is JSONJSON(JavaScript Object Notation,JavaScript物件表示法,读作/ˈdʒeɪsən/)是一種由道格拉斯·克羅克福特構想和設計、輕量級的資料交換語言,该语言以易於讓人閱讀的文字為基礎,用来传输由属性值或者序列性的值组成的数据对象。儘管JSON是JavaScript的一個子集,但JSON是獨立於語言的文本格式,並且採用了類似...原创 2020-03-01 09:28:54 · 1984 阅读 · 0 评论 -
python变量的作用域
原文地址局部变量全局变量nonlocal先看一个嵌套定义函数的实例a = 1def outer(): a = 1 def inner(): a = 2 def inner2(): nonlocal a #声明了一个上面第一层局部变量 a += 1 #不可变数据类型的修改 ...原创 2020-02-28 09:11:02 · 1938 阅读 · 1 评论 -
python命名空间
原文地址命名空间 有三种内置命名空间 —— python解释器就是python解释器一启动就可以使用的名字存储在内置命名空间中内置的名字在启动解释器的时候被加载进内存里全局命名空间 —— 我们写的代码但不是函数中的代码是在程序从上到下被执行的过程中依次加载进内存的放置了我们设置的所有变量名和函数名局部命名空间 —— 函数就是函数内部定义的名字当调用函数的时候 才会产生这个名称空...原创 2020-02-28 09:08:02 · 2072 阅读 · 0 评论 -
python装饰器wrapper
原文地址分类目录——py基础装饰器,顾名思义,为函数额外装饰一些功能通过这么一个例子来解释装饰器存在的意义,假使我写了几个函数来实现同一个需求,我想测试一下这个函数的效率,通过测运行耗时的方法。但是,如果在每个函数中都去写同样的测时间的操作,三五个函数还好说,一旦想测的函数多了,这个工作量就~~~装饰器就是这样一种机制,只需要在一个函数定义时添加一个标记,就可以给该函数执行前后添加装饰的内...原创 2020-02-24 09:45:45 · 2123 阅读 · 0 评论 -
python装饰器
原文地址装饰器,顾名思义,为函数额外装饰一些功能通过这么一个例子来解释装饰器存在的意义,假使我写了几个函数来实现同一个需求,我想测试一下这个函数的效率,通过测运行耗时的方法。但是,如果在每个函数中都去写同样的测时间的操作,三五个函数还好说,一旦想测的函数多了,这个工作量就~~~装饰器就是这样一种机制,只需要在一个函数定义时添加一个标记,就可以给该函数执行前后添加装饰的内容。其实用方式如下例...原创 2020-02-22 14:21:07 · 1836 阅读 · 0 评论 -
python函数传参默认参数的陷阱——可变数据类型
原文地址python在函数定义时可以定义默认参数,即给定一个默认值,每次调用函数时如果不指定该参数的值,就取用这个默认值。但是,如果这个默认参数设置的是个可变数据类型,然后又在函数中改变了这个值,那就会出问题了,看下面这个函数def fun(x, y=5): y+=1 print(x+y)这个函数,如果我不输入y,每次我是想输出x+5+1,但是实际的效果却是fun(3)...原创 2020-02-22 11:03:46 · 2459 阅读 · 0 评论 -
python函数传参
原文地址形参与实参形参:形式参数,只在函数的定义中形式存在,为了表明运算流程,不在内存中占用空间实参:实际参数,实际声明的参数,会在内存中开辟一块内存位置参数就是通过相对位置进行传参,调用的时候位置参数必须传,且必须按既定顺序传入参数# 位置参数def fun1(name, age): print(name, age, '岁了')fun1('张三', 20)#...原创 2020-02-22 09:40:47 · 1869 阅读 · 0 评论