0基础学python一本通(上)——AI未来系列1

在未来面前,每个人都是学生

江海升月明,天涯共此时,关注江时

本篇为AI未来系列第一篇。为什么要研究学习python?python是未来屠龙的屠龙宝刀,再辅助以我们的高中数学基础(足够用的屠龙术),小白们即可把握人工智能的未来。本系列初步阶段主要攻克数据分析问题,中阶攻克爬虫问题,高阶进入人工智能阶段,顺带会穿插一些硬件知识。

想想比尔盖茨的发家史,也有点小小激动哟。未来已来,just do it。时不我待,今天是2019年2月12日农历初八,赶紧开始第一篇——幼儿园级,老妪也会,0基础学python一本通。

为什么Python这么受欢迎?

简单的来说,有下面五点原因:1、Python可以在多种计算机操作系统中运行(Unix,Windows,MacOS,Ubuntu等等),python在这些语言中是最简单易用的。2、Python能够实现交互式命令输出。对于非专业程序员而言,都希望边编写程序,边查看结果。3、Python是开源免费的,有很多强大易用的标准库。对于非专业的程序员而言,使用这些库可以免去自己编写的烦恼。4、Python是一种解析性的、面向对象的编程语言。面向对象编程和一般的编程不太一样,有其自身的优势。5、Python是可以连接多种语言的胶水语言。

Python与其他数据分析语言对比

一、Python基础语法

初次使用Python,首先要明确三点:

Python的标识符(例如变量名、函数名等),可用字母、数字和下划线构成,不能以数字开头,且区分大小写。Python对于缩进敏感。在Python中,是使用缩进来写代码块。Python的注释语句一般用#开头。多行注释可以有用三引号。

1 2 3 4 5

15

二、Python基础数据类型

Python中基础的数据类型只有两类:字符串string和数字。在数字类型下,可细分为4个类型整型int、长整型long、浮点数float和复数complex。常用的数字类型为整型int和浮点数float。

2.1 字符串string

关于字符串,有下面三点需要注意。其中第三点尤为关键,且不光是针对字符串,对于python中所有的索引都是适用的。

1、Python用单引号'',双引号"",三引号''''''来标识字符串,三引号用于多行文本2、字符串也是一个序列,可以截断和切片3、注意python中的索引:从左到右索引默认从0开始,最大范围为字符串长度-1。从右向左索引默认从-1开始,最大范围是字符串开头

I love Wind!

I love Wind

and Wind welcomes everyoneWe are a family

字符串的第一个元素(注意索引为0): I字符串的倒数第一个元素(支持负索引): !原字符串(注意空格也占据一个字符): I love Wind!字符串索引2至5(注意索引的话左包含右不包含): love字符串索引2至最后: love Wind!字符串索引-2至最后: d!

字符串重复2遍: I love Wind!I love Wind!字符串的拼接: I love Wind! and Wind welcomes everyone!

我想换行换行成功

我想插入一个制表符 插入成功

2.2 数字number

数字可以细分为四个类型,一般常用的是整形int和浮点数float。

(int, float)

三、Python数据集合类型

在基础数据类型的基础上,Python有6中数据集合的类型:

1、列表list,最常用的数据类型,以[]为标识2、元组tuple,和list很相似,但是不能二次赋值,用()标识3、集合set,和list类似,但是set中没有重复的元素,常用于集合间的运算,用{}标识4、字典dict,无序的对象集合,字典中的元素通过关键词key来调用,同样以{}来标识5、数组array,科学计算和代数运算常用的数据类型,在后续numpy库系列详细说明6、数据框dataframe,数据分析处理常用的数据类型,在后续pandas库系列详细说明

3.1 列表list

这里定义了一个列表list——x1,注意到列表x1中的元素是可以不同的,这里由两个数字1和2,一个字符串James,一个列表[1,2,3]这四个元素构成了x1这个列表list。[1, 2, 'James', [1, 2, 3]]

如何来调用列表x1中的某个或者某几个元素呢??

调用列表x1的第一个元素(注意第一个元素的索引为0): 1调用列表x1的最后一个元素(注意最后一个元素的索引为-1): [1, 2, 3]调用列表x1的前2个元素(注意索引的时候右不包含): [1, 2]这里要说明的是,python下序列(例如数组,列表,元组等)的索引,是从0开始而非从1开始。从左到右索引默认从0开始,从右到左索引默认从-1开始。一般索引的方式为 序列[索引开始:索引结尾],且要注意python索引是右不包含,即索引结尾对应的元素是不包含在结果中的。

关于列表的运算

将两个列表x1和x2拼接起来 [1, 2, 'James', [1, 2, 3], 'a', 'b', 'c']在列表x1中添加一个元素 [1, 2, 'James', [1, 2, 3], '新增元素']将列表x2重复两遍 ['a', 'b', 'c', 'a', 'b', 'c']

原列表: [1, 2, 'James', [1, 2, 3], '新增元素']在索引2位置添加了新的元素: [1, 2, 1000, 'James', [1, 2, 3], '新增元素']

原列表: [1, 2, 1000, 'James', [1, 2, 3], '新增元素']删除索引3上的元素后: [1, 2, 1000, [1, 2, 3], '新增元素']

原列表: [1, 2, 1000, [1, 2, 3], '新增元素']添加多个元素后: [1, 2, 1000, [1, 2, 3], '新增元素', 0, 1, 2, 3, 4, 5, 6]

原列表: [1, 2, 1000, [1, 2, 3], '新增元素', 0, 1, 2, 3, 4, 5, 6]删除"新增元素"元素后: [1, 2, 1000, [1, 2, 3], 0, 1, 2, 3, 4, 5, 6]

查看元素1在列表中出现的次数: 4

关于列表的排序

原列表: [-10, -2, 1, -100, 333, 1000]按从小到大排序: [-100, -10, -2, 1, 333, 1000]按从大到小排序: [1000, 333, 1, -2, -10, -100]

3.2 元组tuple

这是一个元组tuple: (66.6, '万得资讯', 1.0)

关于元组tuple的相关计算:(66.6, '万得资讯', 1.0, 'a', 'b')(66.6, '万得资讯', 1.0, 66.6, '万得资讯', 1.0)可以发现,当想对一个元组tuple的第一个元素(索引0)重新赋值时,则会报错。说明元组一旦定义好了就不能二次赋值了。但是要注意如下这种情况

('jack', 1000, [1, 1000, 3])在x4这个元组中,索引2对应的元素是一个列表[1,2,3],那么这个列表中的元素做一个更改的话是可以的

3.3 集合set

含有重复元素的一个列表x0: [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]将列表x0转化一个集合:可以发现集合x0_set中没有重复的元素

关于集合set的计算集合set1:集合set2:集合set1和集合set2的差集:集合set1和集合set2的交集:

集合set1:集合set2:集合set1和集合set2的交集:集合set1和集合set2的并集:

3.4 字典dict

{'能力值': 1000, '年龄': 0.5, '姓名': '万矿'}{'身高': 198, '冠军数': 5, '姓名': 'Kobe Bryant'}

{'B': 1000, 'A': 1000, 'C': 1000}{'B': 10, 'A': 1, 'C': 100}

字典由关键词key和值value两个部分构成查看字典dict2的关键词: dict_keys(['身高', '冠军数', '姓名'])查看字典dict2的值: dict_values([198, 5, 'Kobe Bryant'])

删除关键词“姓名”: {'能力值': 1000, '年龄': 0.5}

清除字典中的所有元素: {}

四、Python基本运算符

五、条件和循环

5.1条件语句

条件语句基本框架如下:if 判断语句1:执行语句块1elif 判断语句2:执行语句块2else:执行语句块3

10 是偶数

张三 是张家人

20 在20~80之间

5.2 循环语句5.2.1 for循环

45

45

5.2.2 while循环

循环结果为: 6

5.2.3 循环控制语句——break

break语句的含义是终止当前循环,且跳出整个循环

5.2.4 循环控制语句——continue

continue语句的含义是终止当次循环,跳出该次循环,直接执行下一次循环

5.2.5 pass语句

当执行到pass语句时,其含义就是不执行任何操作

5.2.6 循环、条件嵌套

例如我们要寻找2-100中的所有素数,本身需要一个循环。而判断某一个数是否为素数也需要一个循环,所以这里嵌套了两个循环。循环中还有一些条件语句。

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

函数,模块,异常处理,读取文件等未完待续。

来源:我的印象笔记整理

ABO

Me

JiangShi【ID:siteacher】

AI CREATE FURTURE

VALUE LAST LONG

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190212G14Q7W00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券