Python学习记录

Python的创始人为
吉多·范罗苏姆
(Guido van Rossum)
Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),是一种面向对象、直译式的电脑程序语言。它包含了一组功能完备的标准库,能够轻松完成很多常见的任务。它的语法简单,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。
与Scheme、Ruby、Perl、Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理内存使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python虚拟机本身几乎可以在所有的操作系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器运行的程序。
Python的官方解释器是CPython,该解释器用C语言编写,是一个由社区驱动的自由软件,目前由Python软件基金会管理。
Python支持命令式程序设计、面向对象程序设计、函数式编程、面向侧面的程序设计、泛型编程多种编程范式。
Flask-Moment js文件使用CDN
2021年04月22日
Flask-Moment是一个很好的插件,它可以将UTC标准时间转换成本地时间。项目地址:github - Flask-Moment但是在使用过程中存在一些问题,主要是依靠的moment.js托管在cloudflare上,有的时候中国访问非常缓慢,所以需要将moment.js托关于国内CDN厂家。可以使用local_js,来指定moment.js的文件地址,具体代码如下:{{ moment.inc...
Python 多进程与多线程的应用场景
2021年04月16日
如果你想对 CPU 密集型任务加速,使用多线程是无效的,请使用多进程。这里所谓的 CPU 密集型任务,是指会消耗大量 CPU 资源的任务,比如求 1 到 100000000 的乘积,或者是把一段很长的文字编码后又解码等等。使用多线程之所以无效,原因正是我们前面刚讲过的,Python 多线程的本质是多个线程互相切换,但同一时刻仍然只允许一个线程运行。因此,你使用多线程,和使用一个主线程,本质上来说并...
Python GIL 与多线程的关系
2021年04月16日
GIL 的存在与 Python 支持多线程并不矛盾。GIL 是指同一时刻,程序只能有一个线程运行;而 Python 中的多线程,是指多个线程交替执行,造成一个“伪并行”的结果,但是具体到某一时刻,仍然只有 1 个线程在运行,并不是真正的多线程并行。这个机制,我画了下面这张图来表示:举个例子来理解。比如,我用 10 个线程来爬取 50 个网站的内容。线程 1 在爬取第 1 个网站时,被 I/O bl...
BeautifulSoup 解析表格示例
2021年04月09日
最近需要使用BeautifulSoup解析表格,下面是表格的一个代码:<div class="rtfragc" id="rtfragc_asnr" data-hasmore="0" data-finished="1" data-clen="1469"> <table class="whois"> <tbody> <tr> <td>route<...
Python中strip()、lstrip()、rstrip()用法详解
2021年04月09日
Python中有三个去除头尾字符、空白符的函数,它们依次为:strip: 用来去除头尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)lstrip:用来去除开头字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)rstrip:用来去除结尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)注意:这些函数都只会删除头和尾的字符,中...
Python requests下载文件
2021年04月08日
最近需要通过Python自动下载文件,使用的是requests包,以下是示例代码:def download_maxmind_file(): import io import requests import zipfile # 远程下载maxmind_asn_csv file r = requests.get(DOWNLOAD_MAXMIND_CSV_URI) z...
Python CIDR计算IP数量
2021年04月06日
最近需要通过Python计算CIDR的IP数量,具体情况如下:'255.255.128.0/17'的IP地址数量是:32768。通过Python计算如下:from IPy import IP IP('255.255.128.0/17').len()这里使用的是IPy库,文档在此处:python-ipy通过也可以参考这里,确定IP数量:CIDR,子网掩码和可用IP地址快速参考指南(备忘单)参考资料...
Python判断IP是否是私有地址
2021年04月06日
在Python中如何判断一个IP地址是否是私有IP地址?具体代码如下:import ipaddress ipaddress.ip_address('192.168.0.1').is_private # output True从Python 3.3开始,ipaddress模块才可以使用,具体文档可以参考这里:ipaddress参考资料:1、How do you determine if an ...