下一篇   Python趣味入门02: 妥妥地安装配置Python(Windows版)>

小牛叔倾情出品,史上更简单有趣的Python入门系列教程,用认真、上心的原创带你飞。

0、Why Python ?

什么入门用python,其实这和它的气质有关,根据CHM(计算机历史博物馆)网站介绍[1],Van Rossum 曾经在1999年陈述过创造Python的动机,“她”应该是这样:

- “她” 简洁而直观,功力却能比肩同僚。
- “她” 坦诚而开源,方能博采众家所长。
- “她” 亲切而易懂,孩童级的英语足矣。
- “她” 贴心而实用,日常杂事速战速决。
—放羊的小牛叔
 

Guido: 我说过这么优美的诗?

Guido Van Rossum 的初心原话:

It should be an easy and intuitive language, just as powerful as major competitors.
It should be open source, so anyone can contribute to its development.
Its code should be understandable as plain English.
It should be suitable for everyday tasks, allowing for short development times.

你是不是已经开始倾心于“她”了呢?

可以说Python就是在编程芸芸世界里,专修语言类专业,十八般功夫具全,并且养眼的小学妹。

 
王者貂蝉

Who am I?

貂蝉:想欣赏亲身的舞姿麼?

不好意思有点辣眼睛,肯定是小编搞错了,王者里的貂蝉-略做作、略官宦、功夫略专业了点(e~~),真正能代表Python江湖地位的只有这货了,精通72变的-齐天大圣!非官方出品,真正草根出身,衣冠整洁而技能超多。

 
悟空:俺老孙来也

1 Python江湖地位 ?

从IEEE Spectrum 网站[2]上证实,Python已然是最流行的编程语言,有图为证。

 
编程语言排名

IEEE Spectrum网站(建议收藏https://spectrum.ieee.org)是行业的大拿,希望入门后各位汉子(包括女汉子)们能在它的期刊上发几篇论文,给自己的院士之路多添加几块砖。

2、怎么盘她?

到底Python的功夫有多少?我们怎么盘她比较好呐?我们来细数一下,以下列出的应用都是非常成熟的应用。

2.1 游戏开发

微软著名的“我的世界” Minecraft教育版(可运行在“树莓派”上)即mini版,是使用Python编写的。使用Python来控制游戏当中的角色的动作、物品,编程创造游戏环境。

PS: 如果你感兴趣,请在本文后留言,本系列结束后,将会重磅推出我的世界系列!

https://education.minecraft.net/

 
使用Python构建环境

著名的游戏 Sid Meier's Civilization就是使用 Python 开发的(文明4),游戏的引擎使用的还是C++,使用Python开发游戏的逻辑层。

 
文明

本系列教程,将会涉及游戏的制作。需要使用到pygame游戏引擎,在这里牛粉们可以提前预习一下pygame网站。
https://www.pygame.org/

2.2 智能机器人

在智能设备方面,即使是运算性能比较弱的Arduino智能芯片也可以以多种方式使用Python,(1)使用Python编写“上位机”程序(即机器人的大脑)在电脑上运行程序控制设备(2)采购支持CircuitPython、MicroPython等芯片,像标准的C语言一样对微处理器直接进行编程,把程序直接写进芯片。

像树莓派等那些可以运行linux系统的嵌入式设备早已经可以运行Python。

这是机器人学习的推荐网站,https://mc.dfrobot.com.cn/,很多中小学的机器人比赛都使用他家的零件,有兴趣可以好好研究。

 
谁说python不能当汇编用

2.3 爬虫和黑客

Python本身对于访问网络具有天然的优势,它有众多的组件,(1)可以控制本机上浏览器实现模拟真人点击与访问(用来访问具有复杂Javascript程序的网站比如什么小游戏网页)(2)也可以直接使用http\tcp\ftp\smtp等等互联网协议来直接访问一般的网页或是网络上的各种服务。在网上一找爬虫,又出来那么多辣人眼球的结果,百度,我只是一个单纯的孩子呀!

 
image.png
 
image.png

2.4 创建网站

“不能光爬别人网站,分享才会让世界更美好!”,Python有众多建立网站的工具,django这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。创建网站只需要几个命令就可以搞定。https://www.djangoproject.com/ 以后估计是大家的常用工具,相信不久你就会拥有自己的网站。

2.5 其它

python已经整合进入了linux系统并且成为了命令行的一部分。传说网易大部分网游都是Python写的,由于现在的游戏开发引擎基本上是外包或是使用成熟的引擎,游戏的逻辑层更加地重要。

Python的被battle的最多的就是它的运行速度与效率,所以火箭、核电站、ICU呼吸机、大型3D游戏引擎等等类似的设备和应用不会使用它,基本上其它任何地方都有它的影子。

目前看来,纯手机端使用python还非常少。不过,目前也有使用Python做手机App的组件,python Kivy就可以使用写同时运行于Window,Mac OS, IOS, Android平台的的基于GUI的程序,但是易用性也挺不错。

3、她 的美

你在我心中是最美
只有相爱的人最能体会
你明了 我明了
这种美妙的滋味

-羽泉《最美》

想到Python的美小牛叔不襟吟唱起了90后最喜欢的这首歌... ...

在CSDN[3](这是中国程序员经常交流的网站,建议收藏https://blog.csdn.net/)的高人处拷贝了几行代码,进行了比较。

Python的语句非常整齐的,拥有同样对齐(缩进)的语句,能明显看出来是“一伙的”。对!很高兴你学习到了编程的第1个知识点:代码块( Code Block)。同一块中的代码要么一起被执行,要么因为条件判断或是循环不被执行。

 
整齐的代码

而很多其它语言(Javascript、C#、 C、C++、Java等等)都是使用了成对的花括号作为代码块的标志,以分号作为语句结束的标志,我们来看看效果(好处是如果你是高手在写一个Windows操作系统,完全把上百万行的代码写成一行):

 
image.png

折磨初学者... ...

传说1989年在一个夜黑风高的圣诞夜, Guido大叔在掰脚趾头算C语言花括号时,受到了ABC语言的启发,立刻就停止了抠Jo的动作,说了一句“F**k 花括号!我要创造一个没有花括号的语言!”,就开始埋头使用C语言并且使用了海量的花括号来创造了Python!

4 她 的实用

非诚勿扰的孟爷爷告诉过男嘉宾,勾搭的对象应该是这样子滴:小姐姐即要漂亮也得会持家过日子。python的程序漂亮极了,可实用么?

我们看看C#(java可能代码更长)完成如下的任务的代码。

任务:
以POST方式向某网页提交数据(说大白话就是类似于模拟我们填用户名密码然后按提交按钮),并获得网站反馈。

下面是C#的代码(14行),当然你可以首尾相接全写成1行,不过按分号算代码量还是按14行计薪酬(哦我放心了)。

 
14行代码完成1个功能

再来看看,这是Python的代码:

 
python完成任务只有1种方式

我们从这位Guido老叔开始,也从他结束,欣赏一下他的艳照,感谢一下他给我们带来了“她”。

 
F8DC6CD2-0C18-422A-A59A-AB4AC2506D28.png

看见他的T恤上写了什么中文么:

★ 人生苦短 我用Python ★

关注作者,可以持续获得文章提示!

Python趣味入门01:你真的了解Python么?的更多相关文章

  1. Python趣味入门02: 妥妥地安装配置Python(Windows版)

    < 上一篇:Python趣味入门01:你真的了解Python么? 本篇内容手把手教您如何去网上下载安装Python的运行环境,本文写于2020年Python稳定的版本是3.8,Windows流行 ...

  2. Python趣味入门5:循环语句while

    跟着小牛叔,找准正确编程入门姿势,每天只要阅读10分钟. 任何语言都有循环语句,在Python里循环更是变化无穷,有基本的循环,有循环else语句,引伸出来的还有迭代器.推导式,咱们先学习最简单的一种 ...

  3. python爬虫入门01:教你在 Chrome 浏览器轻松抓包

    通过 python爬虫入门:什么是爬虫,怎么玩爬虫? 我们知道了什么是爬虫 也知道了爬虫的具体流程 那么在我们要对某个网站进行爬取的时候 要对其数据进行分析 就要知道应该怎么请求 就要知道获取的数据是 ...

  4. Python是什么?你真的了解Python吗?

    一.Python是什么相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是一种开发语言,而且已经进阶到 ...

  5. Python趣味入门3:变量、字串输入与输出

    安装配置python环境完毕,非常有必要花十分钟对一些基本概念:变量.数学字符.输入.输出等4个概念进行理解,下面通过简单示例,深入了解python的基本语法. 本文的示例均在IDLE的命令行模式中完 ...

  6. Python趣味入门4:选择往往是最重要的-条件语句

    人生处处有选择,程序也有选择,为了让程序变得更加强壮,程序员必须考虑任何情况,上一篇了解到了如何使用Python来行顺序语句的编写,我们写了一个可以输入姓名的生日祝贺程序,今天我们挑战条件语句! 1. ...

  7. Python趣味入门9:函数是你走过的套路,详解函数、调用、参数及返回值

    1.概念 琼恩·雪诺当上守夜人的司令后,为训练士兵对付僵尸兵团,把成功斩杀僵尸的一系列动作编排成了"葵花宝典剑法",这就是函数.相似,在计算机世界,一系列前后连续的计算机语句组合在 ...

  8. Python爬虫入门——使用requests爬取python岗位招聘数据

    爬虫目的 使用requests库和BeautifulSoup4库来爬取拉勾网Python相关岗位数据 爬虫工具 使用Requests库发送http请求,然后用BeautifulSoup库解析HTML文 ...

  9. python爬虫入门02:教你通过 Fiddler 进行手机抓包

    哟~哟~哟~ hi起来 everybody 今天要说说怎么在我们的手机抓包 通过 python爬虫入门01:教你在Chrome浏览器轻松抓包 我们知道了 HTTP 的请求方式 以及在 Chrome 中 ...

随机推荐

  1. 利用selenium库自动执行滑动验证码模拟登陆

    破解流程 #1.输入账号.密码,然后点击登陆 #2.点击按钮,弹出没有缺口的图 #3.针对没有缺口的图片进行截图 #4.点击滑动按钮,弹出有缺口的图 #5.针对有缺口的图片进行截图 #6.对比两张图片 ...

  2. Python for Data Analysis 学习心得(三) - 文件读写和数据预处理

    一.Pandas文件读写 pandas很核心的一个功能就是数据读取.导入,pandas支援大部分主流的数据储存格式,并在导入的时候可以做筛选.预处理.在读取数据时的选项有超过50个参数,可见panda ...

  3. Redis 千万不要乱用KEYS命令,不然会挨打的

    Redis现如今使用的场景越来越多?如何批量删除key呢? 有人说用KEYS命令,刚开始学Redis的时候就是用这个命令列出库中键. KEYS命令要谨慎使用. 为何?客观别急,我们先一步步来看. KE ...

  4. FUTABA舵机参数大全

    S9150 Digital servo 尺寸:47.5X27X25.3mm 重量:53g 速度:0.18sec/60"(4.8V) 扭力:5.8kg:cm(4.8V) ——————————— ...

  5. 【Spark 内核】 Spark 内核解析-下

    Spark内核泛指Spark的核心运行机制,包括Spark核心组件的运行机制.Spark任务调度机制.Spark内存管理机制.Spark核心功能的运行原理等,熟练掌握Spark内核原理,能够帮助我们更 ...

  6. 原生javascript实现二级延时菜单

    一.实现原理: 使用定时器和排他思想完成 二.代码: <!DOCTYPE html> <html> <head> <title></title&g ...

  7. await Task.Yield()和await Task.CompletedTask有什么不同

    有时候我们在代码中要执行一些非常耗时的操作,我们不希望这些操作阻塞调用线程(主线程)的执行,因为调用线程(主线程)可能还有更重要的工作要做,我们希望将这些非常耗时的操作由另外一个线程去执行,这个时候就 ...

  8. python的range()

    range() 是一个函数,用来生成一个自然数的序列   用list()显示具体内容 扩展 # range()是一个函数,可以用来生成一个自然数的序列 r = range(5) # 生成一个这样的序列 ...

  9. 什么是aPaas?aPaas与低代码又是如何促进应用程序开发现代化的?

    从软件即服务(SaaS)到基础设施即服务(IaaS),云计算的兴起使“一切皆服务”(XaaS)模型得以泛滥,而aPaaS可能是这些模型中最鲜为人知的模型.随着aPaaS市场预计将从2018年的近90亿 ...

  10. Nginx模块讲解

    Nginx模块分为:nginx官方模块.第三方模块 通过nginx -V查看编译参数,可以看到官方编译的模块 --with-compat --with-file-aio --with-threads ...