上次的 Python 快速入门系列我们讲了 Python 的基本语法,这次我们继续来学习一些常用的函数和用于声明的关键字。这次我们学习的函数有打印与输入、数据类型转换、数据信息获取这三大类。而声明关键字可以声明控制结构、函数和类的定义、模块导入、文件读写、空语句等。

这篇文章默认你已大概了解 Python 的基本语法。但如果你需要了解 Python 的基本语法,可以参考上一篇文章:Python 快速入门1——基本语法大纲


上篇:Python 常用函数

了解 Python 具体的常用函数之前,我们先知道 Python 函数是用来做什么的。

Python 的函数作用可以分为两大类:提供返回值、产生副作用

返回值是输入参数经过函数处理后得到的结果,也就是说函数名(参数)这一块就是等于一个返回值

副作用也分为两大类:改写对象打印输出

常用函数思维导图

一、 打印与输入

学习写一个 Python 程序最基本的就是要会打印输出内容至控制台,这是任何学习编程所要掌握最基础的功能。而一个和用户交互的程序,还需要接受用户的输入。我们需要用到 print()input() 函数,来实现这两个功能。

1. print() 函数:直接打印输出

print() 函数可以打印输出内容到控制台,可以接受多个参数,用逗号分隔。

1
print(要打印的内容1, 要打印的内容2, 要打印的内容3)

打印的内容可以是字符串、数字、变量、表达式等任何 Python 对象。

2. input() 函数:获取用户输入

input() 函数可以打印输入提示信息到控制台,等待并让用户输入内容,并将输入的内容作为字符串返回。

1
my_variable = input(输入提示信息)

输入提示信息可以是"请输入内容:""请输入你的名字:"等任何你希望用户输入的内容,静态文本记得加上引号。

二、 数据类型转换

上次我们讲过八大基本数据类型:整数、浮点数、字符串、布尔值、列表、元组、集合。而对这八种类型之间的相互转换,Python 提供了 int() float() str() bool() list() tuple() dict() set() 函数。

1. int() 函数:返回整数

int() 函数可以通过输入字符串、浮点数、布尔值等并返回整数。

1
my_variable = int(要转换的对象)

2. float() 函数:返回浮点数

float() 函数可以通过输入字符串、整数、布尔值等并返回浮点数。

1
my_variable = float(要转换的对象)

3. str() 函数:返回字符串

str() 函数可以通过输入整数、浮点数、布尔值等并返回字符串。

1
my_variable = str(要转换的对象)

4. bool() 函数:返回布尔值

bool() 函数可以通过输入整数、浮点数、字符串等并返回布尔值。

1
my_variable = bool(要转换的对象)

5. list() 函数:返回列表

list() 函数可以通过输入字符串、元组、集合等并返回列表。集合转为列表时,元素的顺序会随机排列。

1
my_variable = list(要转换的对象)

6. tuple() 函数:返回元组

tuple() 函数可以通过输入字符串、列表、集合等并返回元组。集合转为元组时,元素的顺序会随机排列。

1
my_variable = tuple(要转换的对象)

7. dict() 函数:返回字典

dict() 函数可以通过输入以像[key1, value1, key2, value2]键值对形式存储的序列返回字典,也可以输入key1 = value1, key2 = value2的参数形式。

1
my_variable = dict(要转换的对象)

8. set() 函数:返回集合

set() 函数可以通过输入字符串、列表、元组、字典等并返回集合(其中输入字典后只会输出键)。由于集合的无序性和元素的唯一性,重复的元素会自动被过滤掉,且集合中元素的顺序调整是不会改写集合对象本身的(调整前后等价)。

1
my_variable = set(要转换的对象)

三、 数据信息获取

数据信息获取时 Python 的重要功能,有助于我们调试程序中的数据问题,或实现一些需要获取数据信息的功能。在 Python 中,我们常用 len() type() id() dir() help() sorted() 函数来获取数据相应信息。

1. len() 函数:返回长度

len() 函数可以返回输入序列的长度。序列包括 字符串、列表、元组、集合 等。

1
my_variable = len(要获取长度的对象)

2. type() 函数:返回类型

type() 函数可以返回输入对象的类型。

1
my_variable = type(要获取类型的对象)

3. id() 函数:返回内存地址

id() 函数可以返回输入对象的内存地址。

1
my_variable = id(要获取内存地址的对象)

4. dir() 函数:返回对象属性

dir() 函数可以返回输入对象的所有属性。

1
my_variable = dir(要获取属性的对象)

5. help() 函数:返回帮助信息

help() 函数可以返回输入对象的帮助信息。

1
help(要获取帮助的对象)

6. sorted() 函数:返回排序后的列表

sorted() 函数可以返回输入列表的排序后的列表。key参数可以指定提取属性函数的名称,reverse参数可以指定是否要降序。默认排序顺序为数值大小或ASCII值升序排序。

1
my_variable = sorted(要排序的列表, key = 某提取属性函数的名称如len, reverse = True/False)

下篇:Python 声明关键字

关键字除了可以用作运算符、布尔值,还可以用来声明 控制结构、函数和类的定义、模块导入、读写文件、空语句 等。

关键字思维导图

一、控制结构

控制结构分为三大类:条件判断(if条件)、迭代循环(for循环)、条件循环(while循环)。

breakcontinue 关键字可以用来跳出或跳过循环,使得循环结构更加灵活。

1. if - else - elif:条件判断

使用关键字 if 声明条件判断,当条件返回 True 则执行 if 后面的代码块。

还可以使用关键字 elif 声明前面if声明条件不成立时执行的条件判断,当条件返回 True 则执行 elif 后面的代码块。

也可以使用关键字 else 声明前面由if、elif声明的条件都不成立时执行的代码块。

1
2
3
4
5
6
7
8
if 条件1:
# 条件1为True时执行的代码块
elif 条件2:
# 条件1为False,条件2为True时执行的代码块
elif 条件3:
# 条件1、2为False,条件3为True时执行的代码块
else:
# 条件1、2、3都为False时执行的代码块

2. for:迭代循环

使用关键字 for 声明迭代循环,按从0开始的索引遍历可迭代对象的每个元素,作为每次循环的变量。

使用关键字 in 连接循环变量的名称和可迭代对象。

1
2
for 循环变量 in 可迭代对象:
# 代码块,可调用循环变量

3. while:条件循环

使用关键字 while 声明条件循环,当条件返回 True 时执行循环体内的代码,直到条件返回 False。

1
2
while 条件:
# 条件为真时执行的代码块

4. break:跳出循环

使用关键字 break 跳出当前循环,常结合while循环、if条件判断一起使用。

1
2
3
4
while 条件:
# 其它代码
if 条件2:
break # 跳出当前循环

5. continue:跳过当前循环

使用关键字 continue 跳过当前循环,直接进入下一次循环,常结合for循环、if条件判断一起使用。

1
2
3
4
for 循环变量 in 可迭代对象:
if 条件:
continue # 跳过当前循环,进入下一次循环
# 其他代码

二、异常处理

Python 提供了异常处理的功能,通过捕获一段可能出现异常的代码,执行不同的代码块,这方便了我们调试代码,或提示正在交互的用户输入正确的信息。

try - except - else - finally:异常处理

使用关键字 try 声明异常捕获,然后用关键字 except else finally 声明不同情况的异常处理。

其中使用 except 声明异常处理时,还要使用关键字 as 连接异常类型和异常变量。

1
2
3
4
5
6
7
8
try:
# 可能发生异常的代码块
except 异常类型 as 异常变量:
# 异常发生时执行的代码块
else:
# 无异常发生时执行的代码块
finally:
# 无论是否发生异常,都会执行的代码块

三、函数和类的定义

函数和类的定义是 Python 代码模块化的基础。我们可以通过 def 定义函数实现两大需求:重复代码的封装、某一功能的封装(比如我们设计了一个运动数据处理并打印的功能,就可以将它写进函数的定义中,再在后面调用)。而 class 类定义可以实现面向对象编程,可以将属性和特殊功能指定给一个对象中,并通过对象的实例化和访问调用。

1. def:定义函数

使用关键字 def 声明定义函数,函数名称后面跟着括号,括号内可以指定函数的参数(参数可选,也可以有多个)。

还可以在函数体中使用关键字 return 声明函数的返回值,返回值可以是任何 Python 对象。如果没有指定返回值,则默认返回 None

1
2
3
4
5
6
def 函数名称(参数1, 参数2, 参数3):
# 函数体
return 返回值 # 可选,也属于函数体的一部分

# 调用函数
函数名称(参数1 = 值1, 参数2 = 值2, 参数3 = 值3) # 可选,可以用等于号指定参数值,也可以按逗号分隔顺序写入参数值元组指定参数值

2. class:定义类

使用关键字 class 声明定义类,类名称后面跟着括号,括号内可以指定类的属性(属性可选,也可以有多个)。

还可以在类体中用关键字 def定义方法(方法可选,也可以有多个)以及用关键字 return 声明方法的返回值,方法可以调用类的属性和方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class 类名称(上一级类名称):  # 上一级类名称可选,指定继承的上一级类
# 类体如下
属性名称 = 值 # 可选,定义类的属性
# 初始化方法如下
def __init__(self, 参数1, 参数2, 参数3):
# 初始化方法体
self.属性名称 = 值 # 给类的属性赋值
# 其他方法如下
def 方法名称(self, 参数1, 参数2, 参数3):
# 方法体
return 返回值 # 可选,也属于方法体的一部分

对象名称 = 类名称(参数1 = 值1, 参数2 = 值2, 参数3 = 值3) # 创建对象(实例化)
对象名称.属性名称 # 访问对象的属性
对象名称.方法名称(参数1 = 值1, 参数2 = 值2, 参数3 = 值3) # 调用对象的方法

四、模块导入

Python 和它的社区提供了大量的第三方模块,通过 import 导入,我们可以调用这些模块提供的功能。

1. import:导入模块

使用关键字 import 导入模块,模块名称后面可以指定模块的别名。

当调用模块中的函数或类时,需要使用模块名称或别名作为模块对象进行访问。

1
2
3
import 模块名称 as 别名 # 导入模块

模块名称.函数或类名称() # 调用模块中的函数或类

2. from … import:导入模块中的函数或类

使用关键字 from 导入模块中的函数或类,模块名称后面跟着 import 关键字,然后用逗号分隔函数或类名称,可以指定函数或类的别名。而调用函数或类时,不需要使用模块名称或别名,直接使用函数或类名称即可。

1
2
3
from 模块名称 import 函数或类名称1, 函数或类名称2, 函数或类名称3 as 别名 # 导入模块中的函数或类

函数或类别名() # 调用模块中的函数或类

五、文件读写

with:文件读写

使用关键字 with 声明文件读写,可以自动关闭文件,不需要手动关闭。

1
2
with open(文件路径, 模式) as 文件对象:
# 读写文件代码块

其中 模式 可以是 r 读模式、w 写模式、a 追加模式、rb 二进制读模式、wb 二进制写模式、ab 二进制追加模式。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
with open('文件路径', 'r') as f:
# 读文件代码块

with open('文件路径', 'w') as f:
# 写文件代码块

with open('文件路径', 'a') as f:
# 追加文件代码块

with open('文件路径', 'rb') as f:
# 读二进制文件代码块

with open('文件路径', 'wb') as f:
# 写二进制文件代码块

with open('文件路径', 'ab') as f:
# 追加二进制文件代码块

六、空语句

pass:空语句

使用关键字 pass 声明空语句,可以作为占位符,通常在代码块使用,表示什么都不做。

1
2
声明主句:
pass # 空语句

以上就是 Python 常用函数与声明关键字的介绍,上篇介绍了打印与输入、数据类型转换、数据信息获取这三大类必会的函数,下篇介绍了控制结构、异常处理、函数和类的定义、模块导入、文件读写、空语句这六大类最基本的关键字,希望对你有所帮助。Python 快速入门系列就到这里,如果你已经把我博客中 Python 快速入门系列给学会,就可以写出很多像样的程序了。后面有关 Python 系列会讲它的高级用法。对于相当了解 Python 的你,也可以把 Python 快速入门系列当成帮助手册,随时查阅需要温习的内容。