作者:乐雨泉(yuquanle),湖南大学在读硕士,研究方向机器学习与自然语言处理。

Python 是由 Guido Van Rossum 在 90 年代早期设计,现在是最常用的编程语言之一。特别是人工智能的火热,再加之它的语法简洁且优美,实乃初学者入门AI必备的编程语言。

1. Python 基本语法

1.1 标识符

第一个字符必须是英文字母或下划线 _ 。标识符的其他的部分由字母、数字和下划线组成。标识符对大小写敏感。

1.2 保留字

保留字即关键字,不能用作任何标识符名称。 keyword 模块可以输出当前版本的所有关键字:

import keyword

1.3 注释

单行注释采用#,注释是给人看的,可以是任意内容,解释器会忽略掉注释。

多行注释采用'''或"""。

# print("我是注释,不会执行")

1.4 行与缩进

Python 使用缩进来表示代码块而不是大括号 {}。 缩进的空格数是可变的,但是同一个代码块的语句必须是相同的缩进空格数。建议四个空格数。
注意 Tab 和四格空格混用会报错,这个错误还不容易被察觉。

1.5 输入输出

通常是一条语句一行,如果语句很长,我们可以使用反斜杠()来实现多行语句。在 [], {}, 或 () 中的多行语句,则不需要反斜杠。

"I love " +

2. 基本数据类型

计算机程序要处理不同的数据,需要定义不同的数据类型。Python 中的变量不需要声明,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

Python中变量就是变量,没有类型,所说的"类型"是变量所指的内存中对象的类型。等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。

2.1 数字类型(Number)

数字类型是不可变数据。Python3 支持 int(整数)、float(浮点数)、bool(布尔)、complex(复数),数值类型的赋值和计算是很直观的。

# int(整数)

关于数值运算,可以同时为多个变量赋值,如a, b = 1, 2。一个变量可以通过赋值指向不同类型的对象。

除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。混合计算时,Python会把整型转换成为浮点数。

# 加

2.2 字符串类型(String)

Python 没有单独的字符类型,一个字符就是长度为1的字符串。字符串用单引号 ' 或双引号 " 括起来。

"I love python"

2.3 列表类型(List)

列表类型是一种有序的集合。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。列表是写在方括号 [] 之间、用逗号分隔开的元素列表。

1,

2.4 元组类型(Tuple)

元组类型是不可变类型,元组使用小括号()。

1,

2.5 集合类型(Set)

集合类型是无序的不重复元素序列。使用大括号 {} 或者 set() 函数创建集合。

注意:创建一个空集合必须用 set() 而不是 {},因为 {} 是用来创建一个空字典。

'a',

2.6 字典类型(Dictionary)

字典类型是可变类型。在同一个字典中,键(key)必须是唯一的。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。

# 用{}创建字典

3. 条件判断和循环

条件控制:通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。

每个条件后面要使用冒号: ,表示接下来是满足条件后要执行的语句块。使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。在 Python 中没有 switch–case 语句。

#if操作

4. 函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。
Python提供了许多内建函数,比如“print()”,也可以自己创建函数,这被叫做用户自定义函数。

# 1.无参函数

5. 类

类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。

类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。

数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。

#创建类Student

5.1 类的继承

面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。

通过继承创建的新类称为子类或派生类,被继承的类称为基类、父类或超类。

#编写一个名为Fruit的class,执行run()方法可以直接打印

方法重写

如果父类方法的功能不能满足你的需求,你可以在子类重写你父类的方法

class Fruit(object):

6. 模块

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和 Python 语句。模块让你能够有逻辑地组织你的 Python 代码段。

把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。

# 导入模块