杂货屋

Python之路:200个Python有趣的小例子一网打尽

概述

博主最近在学习python,看完了一整套学习视频,然后呃呃呃,还是用不太流畅。碰巧在全球最大的 同性交友论坛GayHub(呸!是开源代码托管平台Github)上面发现了一个项目,该项目列举了200多个Python小例子,Python基础、Python坑点、Python字符串和正则、Python绘图、Python日期和文件、Web开发、数据科学、机器学习、深度学习、TensorFlow、Pytorch,一切都是简单易懂的小例子。

从此告别枯燥,60秒学会一个小例子,系统学习Python,从入门到 放弃 大师!!!。

项目地址:https://github.com/jackzhenguo/python-small-examples
在线阅读学习例子:https://python-small-examples.readthedocs.io/en/latest/

目录

感受Python之美

1 简洁之美

通过一行代码,体会Python语言简洁之美

1) 一行代码交换a,b

a, b = b, a

2) 一行代码反转列表

[1,2,3][::-1] # [3,2,1]

3) 一行代码合并两个字典

{**{'a':1,'b':2}, **{'c':3}} # {'a': 1, 'b': 2, 'c': 3}

4) 一行代码列表去重

set([1,2,2,3,3,3]) # {1, 2, 3}

5) 一行代码求多个列表中的最大值

max(max([ [1,2,3], [5,1], [4] ], key=lambda v: max(v))) # 5

6) 一行代码生成逆序序列

list(range(10,-1,-1)) # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

2 Python绘图

Python绘图方便、漂亮,画图神器pyecharts几行代码就能绘制出热力图:

炫酷的水球图:

经常使用的词云图:

3 Python动画

仅适用Python的常用绘图库:Matplotlib,就能制作出动画,辅助算法新手入门基本的排序算法。如下为一个随机序列,使用快速排序算法,由小到大排序的过程动画展示:

归并排序动画展示:

使用turtule绘制的漫天雪花:

timeline时间轮播图:

4 Python数据分析

Python非常适合做数值计算、数据分析,一行代码完成数据透视:

pd.pivot_table(df, index=['Manager', 'Rep'], values=['Price'], aggfunc=np.sum)

5 Python机器学习

Python机器学习库Sklearn功能强大,接口易用,包括数据预处理模块、回归、分类、聚类、降维等。一行代码创建一个KMeans聚类模型:

from sklearn.cluster import KMeans
KMeans( n_clusters=3 )

6 Python-GUI

PyQt设计器开发GUI,能够迅速通过拖动组建搭建出来,使用方便。如下为使用PyQt,定制的一个专属自己的小而美的计算器。

除此之外,使用Python的Flask框架搭建Web框架,也非常方便。

总之,在这个Python小例子,你都能学到关于使用Python干活的方方面面的有趣的小例子,欢迎关注。

一、Python基础

Python基础主要总结Python常用内置函数;Python独有的语法特性、关键词nonlocal, global等;内置数据结构包括:列表(list), 字典(dict), 集合(set), 元组(tuple) 以及相关的高级模块collections中的Counter, namedtuple, defaultdictheapq模块。目前共有86个小例子。

1 求绝对值

绝对值或复数的模

In [1]: abs(-6)
Out[1]: 6

2 元素都为真

接受一个迭代器,如果迭代器的所有元素都为真,那么返回True,否则返回False

In [2]: all([1,0,3,6])
Out[2]: False

In [3]: all([1,2,3])
Out[3]: True

3 元素至少一个为真 

接受一个迭代器,如果迭代器里至少有一个元素为真,那么返回True,否则返回False

In [4]: any([0,0,0,[]])
Out[4]: False

In [5]: any([0,0,1])
Out[5]: True

4 ascii展示对象  

调用对象的__repr__() 方法,获得该方法的返回值,如下例子返回值为字符串

In [1]: class Student():
   ...:     def __init__(self,id,name):
   ...:         self.id = id
   ...:         self.name = name
   ...:     def __repr__(self):
   ...:         return 'id = '+self.id +', name = '+self.name
   ...: 
   ...: 

In [2]: xiaoming = Student(id='001',name='xiaoming')

In [3]: print(xiaoming)
id = 001, name = xiaoming

In [4]: ascii(xiaoming)
Out[4]: 'id = 001, name = xiaoming'

5 十转二

十进制转换为二进制

In [1]: bin(10)
Out[1]: '0b1010'

6 十转八

十进制转换为八进制

In [1]: oct(9)
Out[1]: '0o11'

7 十转十六

十进制转换为十六进制

In [1]: hex(15)
Out[1]: '0xf'

8 判断是真是假  

测试一个对象是True, 还是False.

In [1]: bool([0,0,0])
Out[1]: True

In [2]: bool([])
Out[2]: False

In [3]: bool([1,0,1])
Out[3]: True

9 字符串转字节  

将一个字符串转换成字节类型

In [1]: s = "apple"

In [2]: bytes(s,encoding='utf-8')
Out[2]: b'apple'

10 转为字符串  

字符类型数值类型等转换为字符串类型

In [1]: i = 100

In [2]: str(i)
Out[2]: '100'

太多了,贴不完啦!!!扫描二维码关注公众号,回复关键字“Python之路”获取PDF版《Python之路》全文吧!

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »