Python
文章平均质量分 65
Code_LT
以斗争求团结则团结成
公司网络限制,无法进行私信沟通
展开
-
【Python】基础学习&技能提升&代码样例6:日志logging
logging 模块的目标是使客户端不必执行任何特殊操作即可确保线程安全。它通过使用线程锁来达成这个目标;用一个锁来序列化对模块共享数据的访问,并且每个处理程序也会创建一个锁来序列化对其下层 I/O 的访问。如果你要使用 signal 模块来实现异步信号处理程序,则可能无法在这些处理程序中使用 logging。这是因为 threading 模块中的锁实现并非总是可重入的,所以无法从此类信号处理程序发起调用。原创 2024-07-29 18:11:16 · 937 阅读 · 1 评论 -
【Python】基础学习&技能提升&代码样例7:代码测试
使用unittest进行测试,如果是需要实现上百个测试用例,把它们全部写在一个test.py文件中,文件会越来越臃肿,后期维护页麻烦。此时可以将这些用例按照测试功能进行拆分,分散到不同的测试文件中。找到指定目录下所有测试模块,并可递归查到子目录下的测试模块,只有匹配到文件名才能被加载。如果启动的不是顶层目录,那么顶层目录必须单独指定。:让一个函数为测试提供输入,测试函数必须将该函数名称名称作为输入参数。原创 2024-07-29 18:14:58 · 348 阅读 · 0 评论 -
【Python】基础学习&技能提升&代码样例5:argparse优雅的解析命令行参数
Python内置的sys.argv保存了完整的参数列表,我们可以从中解析出需要的参数。但这种方式解析稍微复杂点的参数就非常麻烦,比如可以使用-d复制目录,使用过滤文件名等。argparse模块就可以解决这些问题。原创 2024-07-26 14:16:37 · 579 阅读 · 0 评论 -
【Python】基础学习&技能提升&代码样例4:常见配置文件和数据文件读写ini、yaml、csv、excel、xml、json
dyanconf的最大特点是用一套代码,从不同的配置数据存储方式中读取配置,例如。xml虽然常被用作配置文件,但他本身的设计是用来存储数据的。json 虽然也被用作配置文件,但更多情况是用来传递数据。具体用法参考上面第一个连接,这里不再赘述。不想展开讨论,以下仅列举可读取的方式连接。test1.yaml写入后如下。test2.yaml写入后如下。原创 2024-07-26 14:11:38 · 711 阅读 · 0 评论 -
【Python】基础学习&技能提升&代码样例3:JSON文本处理
对json的处理,无非是编码和解码两部分。原创 2024-07-25 15:15:10 · 465 阅读 · 0 评论 -
【Python】基础学习&技能提升&代码样例2:小功能块
使用 Python 3.x。原创 2024-07-24 16:40:09 · 341 阅读 · 0 评论 -
【Python】基础学习&技能提升&代码样例1:简单句式
可迭代对象的例子包括所有序列类型(如 list, str 和 tuple 等)以及某些非序列类型如 dict, 文件对象 以及任何定义了。如果传入了额外的 iterables 参数,则 function 必须接受相同个数的参数并被用于到从所有可迭代对象中并行获取的项。map() 和 starmap() 之间的区别类似于 function(a,b) 和 function(*c) 之间的差异。返回一个将 function 应用于 iterable 的每一项,并产生其结果的迭代器。时,它会返回该对象的迭代器。原创 2024-07-24 16:38:05 · 1284 阅读 · 0 评论 -
【Python】conda镜像配置,.condarc文件详解,channel镜像
安装miniconda即可,Miniconda 安装包可以到下载。.condarc是conda 应用程序的配置文件,在用户家目录(windows:C:\users\username\),用于管理镜像源。原创 2023-12-11 16:21:29 · 48434 阅读 · 12 评论 -
【Python】Python基础快速入门
运算符结合规律:运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算。例如,2 + 3 + 4被计算成(2 + 3) + 4。一些如赋值运算符那样的运算符是由右向左结合的,即a = b = c被处理为a= (b = c)。模块:Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。逻辑行和物理行:物理行是在编写程序时人所看见的。缩进:缩进在python中很重要,不同缩进层次表示不同语句块。global 变量名。原创 2022-12-19 15:52:16 · 567 阅读 · 0 评论 -
python获取变量名的字符串
有时候为了批量操作,我们会有获取变量名的需求。可以看到如果获取变量a,获取不到a这个字符串,而是获取到a的值。那么如果需要对a这个变量名进行操作,怎么获取到呢?转载 2022-09-20 22:36:15 · 2229 阅读 · 0 评论 -
python获取模块文件路径
以tensorflow 的keras为例。原创 2022-08-31 21:59:56 · 796 阅读 · 0 评论 -
把idea或pycharm的虚拟环境用于jupyterlab
通常,我们如果在idea或pycharm中创建了虚拟环境,都会下载很多各工程需要的库,不希望在jupyterlab中再去下载一遍。这样的背景下,我们只需要把idea或pycharm的虚拟环境,安装到jupyterlab的kenel中就可以了。其中"xxx"表示jupyterlab想显示的虚拟环境的名字,这样就可以在JupyterLab中使用这个虚拟环境了。打开idea或pycharm,点底部的terminal,进入到这个虚拟环境中,然后运行命令。重新打开jupyterlab,即可选用你的"xxx"核。原创 2022-08-24 15:21:01 · 1344 阅读 · 0 评论 -
Scala,Java,Python中的相等性
:Python运行相等测试,递归地比较所有的内嵌对象。(比较内容是否相等):对象一致性。Python测试二者是否是同一个对象。(比较内存地址是否相同):1. 值类型:自然相等性或者说内容相等性2. 引用类型:对象一致性,是否是同一个对象:应用类型的规约相等性(通常由用户自定义,往往定义成比较内容是否相等):1. 值类型:内容相等性2. 引用类型:几乎等价于equals,实际定义为:: 比较对象一致性: 默认从Any继承下来,不重写的话,等价于eq.........原创 2022-06-25 10:17:02 · 458 阅读 · 0 评论 -
一个英文字母,一个中文各占多少字节
首先不同编码,所占字节数不同。Java:(1)、英文和数字占一个字节(2)、中文占一个字符,也就是两个字节(3)、字符 不等于 字节。字符(char)是 Java 中的一种基本数据类型,由 2 个字节组成,范围从 0 开始,到 2^16-1。字节是一种数据量的单位,一个字节等于 8 位。所有的数据所占空间都可以用字节数来衡量。例如一个字符占 2 个字节,一个 int 占 4 个字节,一个 double 占 8 个字节 等等。1字符=2字节;1Byte=8bitb:位;B:字节1kb=10转载 2021-12-27 10:34:35 · 28901 阅读 · 0 评论 -
Python-可扩展性方案,ABC虚拟子类使用
教程:https://www.cnblogs.com/LaoYuanPython/p/11087693.html实例解析原创 2021-10-30 17:46:12 · 224 阅读 · 0 评论 -
Python-可扩展性方案,register使用
文档官方:教程:基础:https://applenob.github.io/python/register/简单示例:https://www.jianshu.com/p/8b2c915dc39f深度学习种使用注册器:https://zhuanlan.zhihu.com/p/350787676笔记#使用注册器if __name__ == "__main__": register_obj = RegisterMachine("register") # decorate metho原创 2021-10-30 17:35:51 · 3504 阅读 · 0 评论 -
Python-单元测试,mock类的使用
官方文档单元测试:https://docs.python.org/zh-cn/3/library/unittest.html (可做更多研究)mock:https://docs.python.org/zh-cn/3/library/unittest.mock.html?highlight=mockhttps://docs.python.org/zh-cn/3/library/unittest.mock-examples.html?highlight=mock注意点:https://www.da原创 2021-10-30 16:51:19 · 443 阅读 · 0 评论 -
python易忘操作和小知识点集锦
取反:s=s[::-1]s=inversed(s)三目运算h = "变量1" if a>b else "变量2"# 可用于推导表达式arr = (x if x>5 else x*2 for x in range(10))造数组a1=[0]*8a1=list(itertools.repeat(0,8)) a2=range(0,8) a3=[[0]*3 for _ in range(0,5)] #5行3列0a1=list(itertools.repeat.原创 2021-09-26 11:20:19 · 195 阅读 · 0 评论 -
常用算法模板与知识点
1.循环def recursion(level,p1,p2...): #终止条件 if level>Max_Level: return #处理当前层的问题 process(level,p1,p2,...) #进入下一层 recursion(level+1,p1,p2,...) #恢复当前层状态(if needed) recover(level,p1,p2,...)2.DFSdef DFS(no原创 2021-02-16 16:11:33 · 167 阅读 · 0 评论 -
【Pyhont笔记】__new__和__init__
一、先理解cls和self此部分原文:https://blog.csdn.net/daijiguo/article/details/784994221、self表示一个具体的实例本身。如果用了staticmethod,那么就可以无视这个self,将这个方法当成一个普通的函数使用。2、cls表示这个类本身。>>> class A(object): def foo1(self): print "Hello",self @原创 2020-06-30 11:14:48 · 3546 阅读 · 1 评论 -
【Python笔记】单下划线和双下划线
一、变量的定义在Python中,有以下几种方式来定义变量:xx:公有变量 _xx:前置单下划线,私有化属性或方法,一般来讲,变量名_xx被看作是“私有 的”,在模块或类外不可以使用。当变量是私有的时候,用_xx 来表示变量是很好的习惯。类对象(及类的实例对象)和子类可以访问,这并不能完全做到真正的私有,只是约定俗成的而已,这样写表示不希望这个变量在外部被直接调用 __xx:前置双下划线,私有化属性或方法,无法在外部直接访问(名字重整所以访问不到,只能是允许这个类本身进行访问了。连子类也不可以)转载 2020-06-28 17:17:45 · 247 阅读 · 0 评论 -
【Python笔记】正确理解Python中的 @staticmethod@classmethod方法
详见:https://zhuanlan.zhihu.com/p/28010894转载 2020-06-30 09:59:59 · 271 阅读 · 1 评论 -
【Python练习cookbook】文件操作,I/O
file对象使用:https://docs.python.org/zh-cn/3.7/library/io.html#module-io关键函数:open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)打开file并返回对应的file object。如果该文件不能打开,则触发OSError。 从流中读取输入时,如果newlin...原创 2020-08-29 17:53:09 · 332 阅读 · 0 评论 -
【Python练习cookbook】迭代器、生成器
1。迭代器都可以用for循环遍历,还可以以下方式:with open('/etc/passwd') as f: try: while True: line = next(f) print(line, end='') except StopIteration: passwith open('/etc/passwd') as f: while True: line = next(f, None...原创 2020-08-06 23:01:19 · 293 阅读 · 0 评论 -
【python笔记】yield详解
yield详解:https://pyzh.readthedocs.io/en/latest/the-python-yield-keyword-explained.htmlhttps://www.jianshu.com/p/d09778f4e055https://blog.csdn.net/dcrmg/article/details/78128041def func(n): for i in range(0,n): val = yield i #若不调用send,.原创 2020-07-06 20:14:13 · 439 阅读 · 0 评论 -
【python笔记】hashable -- 可哈希
hashable-- 可哈希一个对象的哈希值如果在其生命周期内绝不改变,就被称为可哈希(它需要具有__hash__()方法),并可以同其他对象进行比较(它需要具有__eq__()方法)。可哈希对象必须具有相同的哈希值比较结果才会相同。可哈希性使得对象能够作为字典键或集合成员使用,因为这些数据结构要在内部使用哈希值。大多数 Python 中的不可变内置对象都是可哈希的;可变容器(例如列表或字典)都不可哈希;不可变容器(例如元组和 frozenset)仅当它们的元素均为可哈希时才是可哈...原创 2020-07-06 20:13:26 · 462 阅读 · 0 评论 -
【Pyhont笔记】装饰器总结
传送门:https://www.runoob.com/w3cnote/python-func-decorators.html原创 2020-06-30 11:27:08 · 4484 阅读 · 0 评论 -
【python笔记】详解类class的继承、__init__初始化、super方法
2、继承中的_ _init__当在Python中出现继承的情况时,一定要注意初始化函数_init_的行为:如果子类没有定义自己的初始化函数,父类的初始化函数会被默认调用;但是如果要实例化子类的对象,则只能传入父类的初始化函数对应的参数,否则会出错。 如果子类定义了自己的初始化函数,而在子类中没有显示调用父类的初始化函数,则父类的属性不会被初始化 如果子类定义了自己的初始化函数,在子类中显示调用父类,子类和父类的属性都会被初始化2.1、子类没有定义自己的初始化函数,父类的初始化函数会被默认调用:.转载 2020-06-30 10:00:23 · 1682 阅读 · 1 评论 -
【Pyhont笔记】小知识点
1.文档字符串对于类,函数/方法,以及模块来说是唯一的,也就是说doc属性是不能从父类中继承来的。原创 2020-06-30 09:52:43 · 3561 阅读 · 0 评论 -
【Pyhont笔记】类的属性隐藏
class person(object): tall = 180 hobbies = []对于不可变类型的类属性,隐藏属性可以总结为: 对于不可变类型的类属性person.tall,可以通过实例Bruce进行访问,并且"person.tall is Bruce.tall" 当通过实例赋值/修改tall属性的时候,将为实例Bruce新建一个tall实例属性,这时,“person.tall is not Bruce.tall” 当通过"del Bruce.tall.转载 2020-06-28 11:13:04 · 241 阅读 · 0 评论 -
【Python笔记】深拷贝、浅拷贝、参考
具体看:https://www.runoob.com/w3cnote/python-understanding-dict-copy-shallow-or-deep.htmla=a[:] 属于浅拷贝原创 2020-06-28 10:56:07 · 219 阅读 · 0 评论 -
【Python练习cookbook】时间、日期操作
时间相关三模块:time、calendar、datetime1. time 模块官方:https://docs.python.org/zh-cn/3/library/time.html#time.time尽管此模块始终可用,但并非所有平台上都提供所有功能。 此模块中定义的大多数函数是调用了所在平台 C 语言库的同名函数。 因为这些函数的语义因平台而异,所以使用时最好查阅平台相关文档。 epoch是时间开始的点,并且取决于平台。对于Unix, epoch 是1970年1月1日00:0..原创 2020-06-22 11:37:46 · 797 阅读 · 0 评论 -
【Python练习cookbook】数字操作
1.round(number[,ndigits])返回最近的 10^(-ndigits)的值,若又两个选择,取偶数值的。如:round(0.5)Out[22]: 0round(-0.5)Out[23]: 0round(1.5)Out[24]: 2round(2.5)Out[25]: 2ndigits可取负值>>> a = 1627731>>> round(a, -1)1627730>>> round(a, ...原创 2020-06-12 18:23:58 · 380 阅读 · 0 评论 -
【Python笔记】偏函数partial
官方入口:https://docs.python.org/zh-cn/3.7/library/functools.html#module-functoolsfunctools.partial(func,*args,**keywords)返回一个新的部分对象,当被调用时其行为类似于func附带位置参数args和关键字参数keywords被调用。 如果为调用提供了更多的参数,它们会被附加到args。 如果提供了额外的关键字参数,它们会扩展并重载keywords。 大致等价于:...原创 2020-06-03 14:48:18 · 308 阅读 · 0 评论 -
【Python练习cookbook】字符串实用操作、正则表达式操作
字符串官方文档:https://docs.python.org/zh-cn/3.7/library/stdtypes.html#text-sequence-type-str正则表达式官方:https://docs.python.org/zh-cn/3/library/re.html#module-restr.endswith(suffix[,start[,end]])如果字符串以指定的suffix结束返回True,否则返回False。suffix也可以为由多个供查找的后缀构...原创 2020-06-01 22:09:35 · 604 阅读 · 1 评论 -
【Python练习cookbook】小技巧集锦
1.sum(), min(), max()等可接收iterable的参数的,可直接用generator作为参数,可利用此特性减少内存开销。由于min()和max()还可接收key函数,所以也可用key函数代替generator方式s = sum((x * x for x in nums)) # 用生成器表达式s = sum(x * x for x in nums) # 可更精简portfolio = [{'name':'GOOG', 'shares': 50},{'name':'YHO原创 2020-06-01 17:39:28 · 268 阅读 · 0 评论 -
【Python练习cookbook】实用模块:collections.namedtuple
官方入口:https://docs.python.org/3.7/library/collections.html#collections.namedtuplecollections.namedtuple(typename,field_names,*,rename=False,defaults=None,module=None)用处,代替按位置取元素,使代码更可读。返回tupple的子类,可用tupple的方法和属性。field_names是一个像[‘x’,‘y’]一样的字...转载 2020-06-01 15:26:38 · 237 阅读 · 0 评论 -
【Python练习cookbook】实用模块:itertools
官方入口:https://docs.python.org/3.7/library/itertools.html#module-itertoolspython的迭代模块。都是用生成器 yield方式实现,不占内存,但不做转换的话,只能用一遍。itertools.groupby(iterable,key=None)key函数用iterable中元素做参数,生成键值。groupby把iterable中有相同键值的元素组装到一个生成器中,随键值一起返回。注意1:groupby只向后搜..原创 2020-06-01 11:55:40 · 249 阅读 · 0 评论 -
【Python练习cookbook】实用模块:operator.itemgetter、operator.attrgetter、operator.methodcaller
官方入口:https://docs.python.org/3.7/library/operator.html#module-operatoroperator.itemgetter(item)operator.itemgetter(*items)返回callable对象,调用被操作对象的__getitem__()方法: Afterf=itemgetter(2), the callf(r)returnsr[2]. Afterg=itemgetter(2,...原创 2020-05-30 18:45:00 · 250 阅读 · 0 评论 -
【Python练习cookbook】实用模块:collections.Counter、collections.ChainMap
官方文档入口(英文):https://docs.python.org/3.6/library/collections.html#collections.CounterCounter 是 dict 的子类,具有dict几乎所有属性,用于可哈希对象的计数。创建:可从iterable或 其他mapping(或counter) 创建c = Counter() # 空Counterc = Counter('gallahad') ...翻译 2020-05-30 17:08:05 · 237 阅读 · 0 评论