想学好一个东西,先得搞懂你为什么要学它。

01. Why Python?

Python 是数据科学界的主流编程语言,相对于传统的 Excel 等数据处理工具,Python 具备处理海量数据的能力,并且可以执行机器学习算法。从数据获取(网络爬虫等工具)、数据清理到数据分析拟合再到最终的可视化呈现,Python都能胜任。

相比 C、C++、Fortran 等编译语言,Python 作为动态解释语言,可以像 Matlab 等科学计算工具一样“写一行,跑一行”——对用户更加友好,也更适于新手入门。在日渐繁荣的机器学习、人工智能领域更是独当一面,这是 Python 近年来热度稳步攀升甚至在有的统计中高居榜首的原因,也是我站(http://jizhi.im)选择 Python 作为主要编程语言的原因。下图为2016年编程语言相对热度(图片来自:https://www.codeeval.com)

/>

当然,如果你想要在计算机科学领域有更深入的研究,我们还是推荐你也学习一下 C 或 Java 等语言。

02. 边学♂边做

始终觉得,看视频不是一种很好的学技能方式,尽管视频仍是在线教育的绝对主流。很多朋友报名过不少编程网课,并加入了学员交流群组,最后发现很多令人困惑的问题不在课程内容本身,而是本地开发环境的部署,或者操作系统、软件版本差异造成的障碍。

即使克服了以上软硬件的底层困难,看视频还是一种比较容易疲倦的体验,因为过程中缺少互动和反馈。游戏之所以好玩,有的UI让人沉浸,其根本要素都在于反馈。在UI设计中,每个组件都有多种状态的外观,时刻让人获知自己的行为(点击、聚焦、失焦)及其结果。而游戏,特别是动作游戏,则对反馈提出了毫秒级的精确要求,才能得到理想的“打击感”。

集智(http://jizhi.im)希望能够让每一位读者都能发挥主观能动性,不仅是单向的信息输入,而是时刻知道自己在做什么,做的是否正确优雅,产生了哪些影响,这是用户与文章课程的互动。

如果发展顺利,用户与用户的互动(PK)将是更好的催化剂,初步计划是建立 Kaggle 那样的竞赛平台,并融入类 Github 的社区功能,大家一言不和就 show code,就像斗图一样自然。

03. Python基本元素之变量(Variable)

在实际应用当中,很多数值将反复出现,比如圆周率 π,或者自然常数 e(常量也是一种变量),如果不想每次都重复输入十几位小数的话,最好预先定义为变量,更不用说那些需要频繁变动的参数。

Python 中定义变量非常简单,只需要起好名字,用等号赋值。比如要定义一个变量叫 answer 其值是 42 ,则代码就是:

/>

除下划线_以外的特殊符号如+,-不能用于命名变量。Python中已有的关键字如 for,if,import 也不能直接用作变量名,当然只要不是完全匹配的,像 forif,for_if 还是可以的,只是一般不推荐。

对一个变量多次赋值即可完成更改,请运行查看程序执行结果。

/>

如果程序编写正确,你将获得 Excited 提示,否则将获得其他评价(试了就知道)。

04. 注释

稍有常识的人都看得出,Python 不是易语言,不可能执行中文(至少当前的3.5版本是这样),而上面的初始代码中却含有“# 代码补完”字样,并且没有报错。

这是因为有注释符号#,其所在行之后的内容都不会被解释器执行,只是显示给代码的阅读者。注释可以提高代码的可读性,这在团队协作中尤为重要。

/>

05. Print函数

我们仍未知道那天程序运行时发生了什么,也没有必要全都知道,但有些变量的值还是需要关心的,这时就可以用 print() 函数将它们输出到屏幕上。函数是封装好的程序,普通的使用者并不需要深入了解 print() 的作用机理,只在需要时调用即可,这就避免了每次都自创一套输出内容的方法(重复造轮子)。活用函数使程序更加模块化,提高了代码的重复利用率。

函数的最基本构成是输入、执行语句和返回值,print 以变量为参数,返回值就是变量的值,并且会输出到屏幕。

下面请读者自定义一个名为 age 的变量,并定义为 90,再用print()将其输出。(

/>

06. 数据类型

之前出现过的几个变量,比如42,9527都是整型变量。除此之外还有浮点型变量,字符型变量等。

浮点型变量可以表示小数:233.333,1926.0817。

字符型变量可以同来表示文本信息,用单引号('')或双引号("")表示:'苟',"苟"。注意单引号和双引号虽然没有太大区别,但是不能混用,像'苟"是不行的。

在赋值过程中,不需要明文指定变量的类型,Python 解释器接到消息,会根据数值是否含有小数和引号自动判断。

07. Type函数

type() 函数的用法与 print() 类似,应该说所有函数用起来都是差不多的,它的作用是返回输入参数的类型(整型,浮点,字符或其他)。与 print() 不同的是,type() 不会把结果直接显示到屏幕上,它本身就像一个包含返回值的变量,可以嵌入程序中调用。

/>

08. 算术运算

Python 支持基本的四则运算符:加+,减-,乘*,除/,运算符的优先级顺序也与日常计算相同:括号优先、乘除优于加减。

已有变量 nineteen=19, 请通过基本运算得到值 42,然后赋值予变量 forty_two;再由 forty_two 计算得到 420,并赋值予变量 four_hundred_twenty。

/>

09. 类型转换

除了在定义变量时指定数据类型以外,Python 也提供灵活改变数据类型的函数。str() 将数值变量转换为字符,字符类型可以直接与其他文本连接或进行字符操作,但是就不能再参与算数计算了。float() 可以将字符变量转换为浮点数(前提是字符内容必须确实是数字),int() 函数可以将字符或浮点数转换为整数,对于浮点数,int() 相当于向下取整。

10. 类和对象

类(class)是具有相似属性的存在集合,对象(object)是类的实例。如果把哺乳动物看作一个类,它哺乳(这是关键属性,名称由来)、有脊椎、恒温等等,而一条狗就是哺乳动物的一个对象。而胎生就不是哺乳动物类的属性,因为鸭嘴兽是卵生。(注意不要脑补成呆呆兽)

在 Python 中,每个变量都是一个对象,它们都属于各自的数据类型。0和1都是整数类的对象,3.14是浮点数类的对象,“谈笑风生”是字符类的对象。

每个类都包含所有对象共有的属性,有些属性像函数一样可以完成特定功能,称为方法(method)。

11. 列表(List)

列表是一种数据结构的类,每个具体的列表都是一个对象。一个列表对象是由若干元素组成的集合,元素之间被逗号(,)分隔。比如一串数字[1,1,2,3,5,8],或者一系列字符["金坷垃","圣地亚哥","威廉伯爵","流失","蒸发"],当然也可以是由不同类型元素组成的混合列表。

应用中一般先定义一个空列表l = [],再调用列表类的.append()方法添加元素。调用方法的具体格式是对象 + . + 方法名:(

/>

除了向空集中append元素,也可以在定义时直接指定列表所含的元素

/>

12. 列表索引(index)

/>

(Index Librorum Prohibitorum)

创建列表是为了在程序中使用,多数情况下我们需要的是列表中的某个元素而非整个集合,而指向某个特定元素就是通过索引(index)。

列表中的元素是有序的,第一个元素的索引为0,第二个索引为1,依次类推。

获取某个元素的方法是:在列表对象后面紧跟方括号([]),方括号内写有该元素的索引值。元素的索引可以是负数,此时表示倒序排列,如[-1]对应最后一个元素。

试从下面的列表中提取出第6个元素和倒数第4个元素,分别赋值予变量 the_sixth 和last_but_three。(

/>

13. 列表切片

除了个别元素,有时我们也想要重点考察列表的一部分,或者整个列表非常大,同时操作太耗资源,这时就需要进行切片操作。对列表切片并获取其中一部分仍然是通过索引,但是加入了冒号(:)操作符来产生一个区间:切片索引[3:7]对应的是索引3到索引6(前闭后开)。len()函数可以返回列表的长度即元素个数。

对下面的列表进行切片,获取索引2至10(包含索引为10的元素)的列表,并命名为 second_tenth。然后将此列表的长度赋值予变量 length_2_10。

/>

拓展阅读:

官方微博:@景略集智

微信公众号:jizhi-im

集智QQ群:557373801

商务合作:chenyang@jizhi.im

投稿转载:kexiyang@jizhi.im

python入门自学-你是如何自学 Python 的?相关推荐

  1. 自学python买什么书比较好-python入门学习哪个书比较好(python视频教程知乎)

    自学python的学习路线是什么?推荐一些python学习资源 第一段 初级,掌握Python的语法和常用库的使用 这里首先推雪锋在网上的书籍,这是Python2.7的,这本书适合于重头开始一直读完, ...

  2. python入门视频教程推荐-python入门学习哪个书比较好(python视频教程知乎)

    自学python的学习路线是什么?推荐一些python学习资源 第一段 初级,掌握Python的语法和常用库的使用 这里首先推雪锋在网上的书籍,这是Python2.7的,这本书适合于重头开始一直读完, ...

  3. 视频教程-Python入门-系列游戏开发/太空阻击-Python

    Python入门-系列游戏开发/太空阻击 20年软件项目开发管理经验 工信部人才交流中心特聘专家讲师 日本U-CAN在线教育特聘主任讲师 国家十二·五规划软件工程教材作者(书:清华大学出版社出版) 中 ...

  4. python入门指南pdf-跟老齐学Python+从入门到精通 PDF 下载

    相关截图: 资料简介: 本书是面向编程零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步应用.以比较轻快的风格,向零基础的学习者介绍一门时下比较流行.并且用途比较广泛的编程语言, ...

  5. Python入门(第二节):Python编译器安装

    一 前言 上一篇Python入门(第一节):Python版本如何选和安装末尾我放了一个投票 大家选择的是vscode,我们就来一篇vscode安装使用讲解 其实vscode和pycharm一个是插件下 ...

  6. (Python入门)学习笔记二,Python学习路线图

    (Python入门)学习笔记二,Python学习路线图 千里之行始于足下,谋定而后动,冰冻三尺非一日之寒.之所以说这三句话,就是对于下面整理的路线图,即不让自己感觉路途的遥远而感到达到巅峰神界的遥遥无 ...

  7. python入门教材论坛_GitHub - aisuhua/codeparkshare: Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐...

    PythonShare Python初学者(零基础学习Python.Python入门)书籍.视频.资料.社区推荐 本文 主要 针对 零基础 想学习Python者.本文本文由@史江歌(shijiangg ...

  8. 小学生python入门-周边 | 小学生都开始学Python了,你还在等什么?

    原标题:周边 | 小学生都开始学Python了,你还在等什么? 关注"BRC求职" 超越Java,Python成功上位! 被微软拥抱,集万千宠爱与一身! 登顶编程界头牌,Pytho ...

  9. 编程小白的第一本python入门书-编程小白的第一本 Python 入门书

    编程小白的第一本 Python 入门书 侯爵 (作者) 既然笨办法不能让我学会 Python,那么我决定用一种聪明方法来学,为自己创造学习的捷径.这种高效学习法的核心在于: 1.精简:学习最核心的关键 ...

  10. python入门指南阅读答案_【python】入门指南1

    基础的数据结构:int, float, string 注意:python入门系列的文章的示例均使用python3来完成. #!/bin/python a= 1b= 1.0c= 'string' pri ...

最新文章

  1. 三步10分钟搞定数据库版本的降迁 (将后台数据库SQL2008R2降为SQL2005版本)
  2. Java IO (二),常见的输入/输出流
  3. HoughCircles 函数
  4. ESP32 OTA 接口简略说明
  5. 【数据竞赛】Kaggle秘技,用Sigmoid函数做回归问题!
  6. python,面向对象的各种方法
  7. 使用Java客户端操作elasticsearch
  8. 【牛客 - 373B】666RPG(线性计数dp)
  9. .bin文件如何打开并使用
  10. TFIDF算法Java实现
  11. 团队如何开会,开会准则
  12. NX/UG二次开发—其他—NX中C++调用C#工具并传参
  13. 知识管理在企业竞争发展中的作用
  14. 关于学习的几个经典定律
  15. 什么是抽象类,接口?他们的区别?(详解)
  16. 华为认证报考流程(详细步骤)-手把手教你注册华为账号,预约华为考试,下载华为证书
  17. 大学计算机D(VB.NET)
  18. linux中mut目录,Linux 下常见文件目录及作用
  19. 詳解 Router 路由器
  20. Linux远程连接Mysql配置

热门文章

  1. python简单入门_Python简明入门教程
  2. python读取excel数据并饼图_python生成excel表格以及饼图 示例源码
  3. tensorBoard 初级实现
  4. openssl 从cer文件中提取公钥
  5. 记录一下自己在区块链领域创业的经过
  6. 区块链死亡项目列表小程序:死亡硬币
  7. linux 如何显示一个文件的某几行(中间几行)
  8. oc35--自定义构造方法
  9. 1. 自然语言处理描述
  10. 微信公众平台开发中-SAE不支持XStream框架的解决方案