ControlNet Blog

ControlNet Blog

马上订阅 ControlNet Blog RSS 更新: https://controlnet.space/atom.xml

Python编程基础05:Python的过程分解和文件IO

2021年7月19日 19:22

人生苦短,我用Python![1]

这次的主要内容主要是介绍Python中的过程分解和文件IO。过程分解包括了函数(function),模块(module)。而文件IO主要是介绍使用Python打开文件并进行读写操作。

过程分解概念

过程分解是一种解决编程问题的策略。它将一个复杂的问题分解为一个一个的小问题,这些小问题更简单,更独立,并且更易于管理,然后通过某种方式来解决这些小问题。通过使用这种方法,编程也会变得简单,更容易理解,更方便做规划和实现。

desktop-example
Fig. 1. 台式机的硬件可拆分也是一种分解思维. Adapted from [2]

要合理的分解这些组件,需要清晰的认识每一个部件的输入和输出。在Python中,过程分解是主要由函数(Function),模块(Module)和类(Class)组成。其中最主要的关键,是提升整体代码的复用性(Reusability)。

函数

函数(Function)是Python中的重要组成部分。函数是一种独立的语句集合,是为完成某一个特定的任务,解决一个特定的问题而定义的。

它可以使用任意数量的参数作为输入,并且返回任意数量任意类型的值。函数需要先创建,然后再进行调用。

函数是对过程或者功能的一种抽象。用户只需要知道怎么把函数用起来去解决问题,而不需要知道函数内部是怎么工作的。

Python中的函数

在Python中,函数是使用关键字def定义的。在函数的开头,需要定义函数的名称和参数(Argument)。函数的名称,参数和返回值构成了函数签名。

函数的组成部分:

  • 函数名
  • 参数(0或多个)
  • 文档注释(可选)
  • 函数体
  • 返回值(可选)

函数的命名规范:

  • 与变量名相同
  • 使用camelCase或者underscore
  • 必须以字母或者下划线开头,并且只能包含字母、数字或者下划线

define_func
Fig. 2. 创建一个函数.

定义一个函数(有参数)

1
2
3
def addition_func(first_arg, second_arg):
result = first_arg + second_arg
return result

定义一个函数(默认参数)

1
2
3
def addition_func(first_arg=0, second_arg=0):
result = first_arg + second_arg
return result

调用函数:

  • 位置参数(不带关键字): 得按照函数定义的顺序来调用
  • 关键字参数: 使用关键字来调用
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    sum = addition_func(10, 8)
    print("The result is", sum)
    # The result is 18

    sum = addition_func(second_arg=8)
    print("The result is", sum)
    # The result is 8

    sum = addition_func(2, second_arg=8)
    print("The result is", sum)
    # The result is 10

return和print的区别

return:

  • return只能用在函数内部,否则会有语法错误
  • 在一个函数中只会运行一次return
  • 在函数里return后面的代码将不会被运行
  • 这个return的值将会赋予函数的调用者

print:

  • print可以用在函数外部,也可以用在函数内部
  • 可以在函数内部执行多次
  • 在函数里print后面的代码可以继续运行
  • 这个print的值将会输出至控制台

main函数

main函数是一个特殊的函数,它指示程序的执行流程,定义了程序的入口点。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def function1():
...

def function2():
...

def function3...

剩余内容已隐藏

查看完整文章以阅读更多