第 30 期:Golang 并不简单

@Author : Lewis Tian (taseikyo@gmail.com)

@Link : github.com/taseikyo

@Range : 2021-05-23 - 2021-05-29

Weekly #30

readme | previous | next

本文总字数 3595 个,阅读时长约:7 分 0 秒,统计数据来自:算筹字数统计

*Photo by Airam Dato-on on Unsplash

Table of Contents

  • review

    • 你不了解 Python 的 10 个事实

    • 10 个非常有用的内置标准 Python 库/函数

    • 你可能不了解的 25 个 Python 技巧

  • tip

    • Linux 将 git 升级至最新版

    • Python 如何删除列表一个元素

  • share

    • Golang 并不简单

algorithm 🔝

review 🔝

1、Python 这个名字并不是来自 python(蟒蛇),而是一个电视节目(Monty Python's Flying Circus),而 Guido van Rossum 是该节目的忠实观众,于是取名 Python

2、Python(1991)比 Java(1995)更早出现

3、Python 是一个业余爱好项目(Hobby Project

4、Python 有许多变体

  • CPython,用 C 和 Python 编写的,将 Python 代码编译成字节码,同时使用编译器和解释器

  • JPython,在 Java 平台上运行 Python 代码

  • Brython,在浏览器上运行,类似于 JavaScript

  • MicroPython,适用于微控制器

5、运行慢但仍然是最常用的语言之一

6、一切皆引用(reference)

7、在火星上运行(Running On Mars),这一点是什么鬼哦

You will get surprised to know that python is running on mars. Texting robots on Mars using python to send images to the earth. It uses request module to communicate with the API on mars.

8、可以定义无限的值

9、2015 年,Python 取代法语成为小学最流行的语言,数据显示,70% 的家长更喜欢孩子学 Python 而不是法语(法国人民这么疯狂的吗?)

10、Python 之禅

1、lambda

2、shutil

shutil 库是文件系统上的一个高级接口,基于 os 库实现。

记得用它可以直接删除文件夹,而 os 就不太行。

3、glob

glob 库用于搜索目录中的通配符

4、argparse

命令行解析库,我之前用过

5、re

这个无需多说,正则匹配是很强大一个库

6、math

说实话,这个库我用的很少很少

尽管里面有很多关于数学计算的函数,但是我用到的时候很少

7、statistics

虽然是个内置标准库,但这个库没听过,更别说用过 2333

8、urllib

一般都是用 requests 库去了,基本没咋用这个库

9、datetime

计算时间经常用到,但是总和 time 纠缠不清,每次都要去查

10、zlib

用来压缩的一个库,没用过,我之前是直接用 os.system 调 7z 来进行压缩的

其中最重要的是压缩和解压函数:compressdecompress

总的来说还是习惯用啥库就用啥库,管他是内置标准库还是第三方库,库写出来不就是给人用的吗,好用顺手就行。

1、any & all

最后一个有丶意思,至少一真一假

2、bashplotlib

可以在控制台画图,一个三方库

3、Collections

我知道这个库里面有很多好用的模块,比如我用过的有 namedtuple 和 defaultdict

4、dir

这个在前面的某一篇文章中介绍过,用来查看 Python对象的内部属性

5、emoji

用来展示 emoji 的三方库

6、__future__

这个库里面也有很多好用的模块

7、geopy

从一系列不同的地理编码服务中提取 api 来获得该地点的完整地址、其纬度、经度,甚至其海拔高度

8、howdoi

有意思的命令行工具,使用 pip 安装

9、inspect

inspect 库在理解代码正在做什么方面也很有用

10、jedi

这是一个自动补全和代码分析的库,查了一下有 Sublime 的插件

11、**kwargs

字典中的键是参数的名称,值是传递给函数的值

12、列表推导

老生常谈了

13、map

14、newspaper3k

它允许你从一系列领先的国际出版物中检索新闻文章和相关的元数据。

你可以恢复图像、文本和作者名称。

它甚至还有内置的 NLP 功能。

如果你正在考虑在下一个项目中使用 BeautifulSoup 或者其他网络抓取库,那么为自己节省时间和精力,并安装 newspaper3k。

听上去很牛逼的样子

15、操作符重载

16、pprint

用过,格式化打印,比默认的 print 输出更好看

17、Tail

Python 支持多线程,标准库中的 Queue 模块为此提供了便利

此模块允许实现排队数据结构,这些数据结构允许根据特定的规则添加和检索条目(FIFO、LIFO)

18、__repr__

19、sh

它允许您像调用普通函数一样调用任何程序,这对于自动化工作流和任务非常有用,所有这些都来自 Python 内部。

20、类型注解

Python 3.5+

21、uuid

22、虚拟环境

23、wikipedia

24、xkcd

幽默是 Python 语言的一个关键特征ーー毕竟,它的名字来源于英国喜剧系列片《巨蟒剧团的飞翔的马戏团》。许多 Python 官方文档都引用了该系列中最著名的小品。

然而,幽默感并不仅限于文件,试试下面这句话:import antigravity

25、zip

用两个列表来构建一个字典

zip 函数接受许多迭代对象并返回元组列表,每个元组根据输入对象的位置索引对其元素进行分组。

可以通过调用 *zip() 来 "解压缩" 对象

真受不了这个作者的代码风格,乱加空格,括号加空格(( self )),点也加空格(users = requests. get ( url ) . json ()),服了。

tip 🔝

1. Linux 将 git 升级至最新版

这一看就不是最新的嘛,于是打算直接升级

但是直接 sai git,会说已经安装,而不是升级,于是搜了下

1、添加 Git 官方的软件源

2、更新软件列表

再检查:

1、remove

remove(val) 方法删除指定元素,没有该元素时报错

2、del

利用 del[idx] 函数删除指定索引数的元素

3、pop

利用 pop(idx=-1) 方法弹出元素,默认弹出最后一个元素

4、clear

clear() 会将列表中的元素清空

share 🔝

大多人说 Go 简单,包括之前实验室的一个同学也说过

可能是说它语法简单,会 C 的人学 Go 还是挺快的,但是用起来并不简单

很简单一个例子:删除切片的某个值/索引

像上面的删除 Python 的列表的一个值有很多方法,但是删除 Go 切片中的一个值却没有对应的内置方法,只能手动实现:

显然,这比 Python 麻烦多了,而据作者所说,Ruby 中也有对应的函数:list.delete_at(i)list.delete(value),显然这俩都比 Go 简单。

这段时间在学 Go,从哔哩哔哩上看了一个视频教程(地址 | 笔记),作者骚话一堆,不过看得出来确实是个技术佬

貌似还没更完?毕竟标题是 69 天,从小白到高高手

结果只更新到第八天,不知道后面啥时候才能更完(;;)

readme | previous | next

最后更新于

这有帮助吗?