TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据,只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。
一、基础
Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
应用领域
- Web和Internet开发
- 科学计算和统计,此处不得不提MATLAB
- 人工智能
- 教育
- 桌面界面开发
- 软件开发
- 后端开发
安装(Mac):系统自带Python2
- 方式一:使用Homebrew
brew install python3
- 方式二:使用安装包,传送门
- 方式一:使用Homebrew
参考
二、基本数据类型
- 总览
类型 | 说明 | 备注 |
---|---|---|
Number | 数字 | Python3支持int、float、bool、complex |
String | 字符串 | 无 |
Tuple | 元组 | 元组的元素不能修改 |
List | 列表 | 元素的类型可以不相同,它支持数字,字符串甚至可以包含列表 |
Set | 集合 | 创建一个空集合必须用set()而不是{ } |
Dictionary | 字典 | 创建一个空字典{} |
分类
- 不可变数据(3个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3个):List(列表)、Dictionary(字典)、Set(集合)。
- 内置的type()函数可以用来查询变量所指的对象类型
- 在python中,类型属于对象,变量是没有类型的
demo(直接在命令行进行)
- 数字类型:python3支持int、float、bool、complex四种。
- python3只有一种整数类型int,表示长整型,没有python2中的long
- python2没有布尔型,它用数字0表示False,用1表示True;python3中True和False为关键字,它们的值还是1和0,可以进行数值运算
1
2>>> a, b, c, d = 1, 2.3, True, 4+5j
>>> print(type(a),type(b),type(c),type(d))字符串类型:python中的字符串用单引号’或双引号”括起来,同时使用反斜杠\转义特殊字符,如果不想让反斜杠发生转义,可以在字符串前面添加一个
r
来表示原始字符串。- 字符串截取:
变量[头下标:尾下标]
,索引值以0
为开始值,-1
为从末尾的开始位置 - 加号
+
是字符串的连接符 - 星号
*
表示复制当前字符串,紧跟的数字为复制的次数 - 字符串不可通过索引下标改变原来的值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24>>> str = 'hello world'
>>> print(type(str))
>>> str1,str2 = 'Hello', 'World'
>>> print(str1 + ' ' + str2)
>>> str3 = 'Num'
>>> print(str3 * 3)
>>> str4 = "01234"
>>> print(type(str4))
>>> print(str4[0])
## 开区间
>>> print(str4[0:-1])
>>> print(str4[0:])
>>> print(str4)
>>> str = 'abc'
>>> str[0]='x'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment- 字符串截取:
列表List:写在方括号 [] 之间、用逗号分隔开的元素列表,它可以完成大多数集合类的数据结构实现,另外列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表,即嵌套列表,基于以上种种特性,它是python中使用最频繁的数据类型。
- 列表截取:
变量[头下标:尾下标]
,索引值以0
为开始值,-1
为从末尾的开始位置。 - List中的元素是可以改变的,和字符串的不同之处
- 列表截取可以接收第三个参数,参数作用是截取的步长
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16>>> list = [1, 2, 3, 4]
>>> print(type(list))
>>> list[0]='aa'
>>> print(list)
>>> list=[1, 2, 3, 4]
>>> print(list[0:-1])
## 开区间
>>> list1 = [1, 2, 3, 4, 5]
>>> list1[1:2] = [['a', 'b', 'c']]
>>> print(list1)
>>> list2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> print(list2[1:7:2])- 列表截取:
元组Tuple:元组与列表类似,不同之处在于元组的元素不能修改。
- 元组写在小括号
()
里,元素之间用逗号隔开 - 其他属性可参见字符串或列表类型
1
2>>> t = (1, 2, 3, 4, 5)
>>> print(type(t))- 元组写在小括号
集合Set:由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
- 可以使用大括号
{}
或者set()
函数创建集合 - 创建一个空集合必须用
set()
- 集合元素不能为列表类型
- 集合元素不能重复
1
2>>> s = {1, 'abc'}
>>> print(type(s))- 可以使用大括号
字典Dictionary:字典是一种映射类型,字典用
{ }
标识,它是一个无序的键(key):值(value)
的集合。- 列表是有序的对象集合,字典是无序的对象集合,两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
- 构造函数dict()可以直接从键值对序列中构建字典:
1
2
3
4
5
6
7
8
9
10
11
12>>> d = {}
>>> print(type(d))
>>> d = {'name':'tom', 'age':10}
>>> d[1] = 1
>>> d[0] = 0
>>> print(d)
>>> d = dict([('name', 'tom'), ('age',12), ('sex', '男')])
>>> print(d)
>>> d['name'] = 'jerry'
>>> print(d)
- 数字类型:python3支持int、float、bool、complex四种。
三、函数
函数代码块以
def
关键词开头,后接函数标识符名称和圆括号()
。任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式]
结束函数,选择性地返回一个值给调用方。- 不带表达式的
return
相当于返回None
- 不带表达式的
demo
1 | >>> def hello(): |
- 调用函数
1 | >>> hello() |
四、模块包库
- 模块:在Python中一个.py文件就可以称为一个模块,其表达的含义是实现了某个功能
- 包:它是一个类似文件夹的东西,里面包含了很多
.py
文件,最主要的是有一个__init__.py
文件,它描述了有多少个模块的东西。- 包管理器又称软件包管理系统,它是在电脑中自动安装、配制、卸载和升级软件包的工具组合,在各种系统软件和应用软件的安装管理中均有广泛应用。
- pip是Python包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能,就如同composer之于php,npm之于js等。
- 库:它是一个完整的项目打包,可直接调用或者运行,一个库中可能有多个包。
- 标准库
- 第三方库
库 > 包 > 模块
从大到小的层级关系