Python创建自己的package

...

2024-05-25 · 2 min · 716 字 · Niuhe

Pytorch模型可视化

...

2024-04-10 · 3 min · 1170 字 · Niuhe

GDB调试Python代码

Core Dump文件 凡事皆有两面性,OS在出Core的同时,虽然会终止掉当前进程,但是也会保留下第一手的现场数据,OS仿佛是一架被按下快门的相机,而照片就是产出的Core文件。里面含有当进程被终止时内存、CPU寄存器等信息,可以供后续开发人员进行调试。 Gdb可以附着在特定进程上调试,但...

2020-10-16 · 2 min · 946 字 · Niuhe

Python进阶下

有两种常用的方法可以使得代码并行执行,多线程和多进程 。因为Cython解释器的实现不是线程安全的,具有GIL锁,同一时刻,只有一个线程可以获得解释器的锁。因此,Python利用多核心的CPU只能通过多进程,而多线程只适用于IO密集型的程序。 多进程基础 创建并开启进程 可以使用mult...

2020-10-13 · 5 min · 2417 字 · Niuhe

Python进阶中

生成器Generator def countdown(num): print('Starting') while num > 0: yield num num -= 1 # this will not print 'Starting' cd = countdown(3) # this will print 'Starting' and the first value print(next(cd)) # will print the next values print(next(cd)) print(next(cd)) # this will raise a StopIteration print(next(cd)) 迭代器使用方式 # you can iterate over a generator object with a for in loop cd = countdown(3) for x in cd: print(x) # you can use it for functions that take iterables as input cd = countdown(3) sum_cd = sum(cd) print(sum_cd) cd = countdown(3) sorted_cd = sorted(cd) print(sorted_cd) 生成器表达式 # generator expression mygenerator = (i for i in range(1000) if i % 2 == 0) print(sys.getsizeof(mygenerator), "bytes") # list comprehension mylist...

2020-10-12 · 8 min · 3535 字 · Niuhe

正则表达式基本使用

基础 1.1 字符匹配 字符 说明 \ 转义符 \d [0-9]。表示是一位数字。 \D [^0-9]。表示除数字外的任意字符。 \w [0-9a-zA-Z_]。表示数字、大小写字母和下划线。 \W [^0-9a-za-z_]。非单词字符。 \s [\t\v\n\r\f]。表示空白符,包括空格、水平制表符、 垂直制表符、换行符...

2020-10-11 · 11 min · 5265 字 · Niuhe

编程工具之Git

Git版本控制 尽管 Git 的接口有些丑陋,但是它的底层设计和思想却是非常优雅的。丑陋的接口只能靠死记硬背,而优雅的底层设计则非常容易被人理解。因此,我们将通过一种自底向上的方式像您介绍 Git。我们会从数据模型开始,最后再学习它的接口。一旦您搞懂了 Git 的数据模型,再学习其接口并理解这些接口...

2020-09-27 · 8 min · 3786 字 · Niuhe

Python进阶上

Python种基本类型的比较: List is a collection which is ordered and mutable. Allows duplicate members. Tuple is a collection which is ordered and immutable. Allows duplicate members. Set is a collection which is unordered and unindexed. No duplicate members. Dictionary is a collection which is unordered, mutable and indexed. No duplicate members. Strings are immutable sequences of Unicode code points. List Python中的list是一个有序容器,容纳不同类型的数据(但推荐列表内数据类型相同),同时其是可变类型的. 创建列表 list_1 = ["banana", "cherry", "apple"] print(list_1) # Or create...

2020-09-26 · 7 min · 3404 字 · Niuhe

Python3操作二维码图片

python3中如何对二维码QRcode进行编码解码 通常对于二维码,我们需要进行两种操作: 将二维码图片扫描后解析成字符串 将字符串编码生成二维码图片 这是两个逆过程,在python2中,我们可以通过zbar这个第三方库实现两个功能。可以zbar并不支持python3,而且,zbar在...

2019-04-27 · 3 min · 1014 字 · Niuhe

Pyserial快速上手

现在很多传感器都使用串口进行数据传送,我们再window上通常使用sscom33这类调试工具,在linux下通常使用带界面的cutecom或者命令行界面的minicom进行调试。 而使用Python写几行程API序进行自定义调试,就非常有用。并且可以快速的对传感器进行测试。本文介绍...

2018-09-13 · 1 min · 462 字 · Niuhe

Python对称AES和DES加密算法

Python3实现AES和DES对称加密算法的 ...

2018-05-18 · 8 min · 3863 字 · Niuhe

Python实现MD5和Sha256

Python3实现哈希散列算法,包含MD5和sha256。 Hash函数算法编写 本实验是使用python来编写MD5和SHA256加密函数,并对加密函数的正确性进行验证。 验证的方式是通过和已有的标准库加密结果进行比较,如果结果相同,则加密函数正确。 1.实验目的 熟悉MD5和SHA25...

2018-05-18 · 6 min · 2646 字 · Niuhe

在Linux终端里浏览知乎日报

程序效果图如下: 程序的效果就是可以在Terminal浏览一下每天知乎日报的标题和url,然后根据兴趣选择是否继续阅读。 程序十分简单,只十几行代码。使用python3,需要安装requests包。 源代码如下,也可以从我的github下载。 #!/usr/bin/python3 #-*- coding: utf-8 -*- import requests import json headers = {'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'} def get_daily(): page...

2018-05-18 · 2 min · 607 字 · Niuhe

wordcloud源码阅读2——Cython

上一节中,IntegralOccupancyMap()函数用来确定单词位置,其中调用了query_integral_image()方法。而query_integral_image是用来Cython。下边介绍Cython。 Cython介绍 Cython 的本质可以总结如下:Cython 是包含C 数...

2018-04-17 · 2 min · 958 字 · Niuhe

wordcloud源码阅读1——初探

wordcloud是python用来生成词云的第三方库,github地址是word_cloud 下载源码: git clone https://github.com/amueller/word_cloud 然后,直接看最老的版本,有精力的话看完最老版本可以再看最新的版本。 git tag git checkout 1.2.1 现在我们的目录结构如下: 可以看到,核心代码都在wordcloud目录下: wordcloud项目...

2018-04-16 · 2 min · 607 字 · Niuhe