Python——模块(三)

什么是模块?

在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。

在java中,一个类可以引用另一个类,Python中,一个.py文件也可以引用其他的py文件,一个.py文件可以成为模块。

模块分为内建模块和自定义模块。

创建模块

在名为 mymodule.py 的文件中保存代码:

1
2
def greeting(name):
print("Hello, " + name)

导入名为 mymodule 的模块,并调用 greeting 函数:

1
2
3
import mymodule

mymodule.greeting("Bill")

重命名模块

您可以在导入模块时使用 as 关键字创建别名:

1
2
3
4
import mymodule as mx

a = mx.person1["age"]
print(a)

从模块导入

您可以使用 from 关键字选择仅从模块导入部件。

名为 mymodule 的模块拥有一个函数和一个字典:

1
2
3
4
5
6
7
8
def greeting(name):
print("Hello, " + name)

person1 = {
"name": "Bill",
"age": 63,
"country": "USA"
}

仅从模块导入 person1 字典:

1
2
3
from mymodule import person1

print (person1["age"])

内建模块

Python 中有几个内建模块,您可以随时导入。

日期

Python 中的日期不是其自身的数据类型,但是我们可以导入名为 datetime 的模块,把日期视作日期对象进行处理。

返回 weekday 的名称和年份:

1
2
3
4
5
6
7
8
9
import datetime

x = datetime.datetime.now()

print(x.year)
print(x.strftime("%A"))

2020
Friday

JSON

Python 有一个名为 json 的内置包,可用于处理 JSON 数据。

把 JSON 转换为 Python:

1
2
3
4
5
6
7
8
9
10
import json

一些 JSON:
x = '{ "name":"Bill", "age":63, "city":"Seatle"}'

解析 x:
y = json.loads(x)

结果是 Python 字典:
print(y["age"])

把 Python 转换为 JSON:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import json

Python 对象(字典):
x = {
"name": "Bill",
"age": 63,
"city": "Seatle"
}

转换为 JSON:
y = json.dumps(x)

结果是 JSON 字符串:
print(y)

正则

Python 提供名为 re 的内置包,可用于处理正则表达式。

1
2
3
4
import re

txt = "China is a great country"
x = re.search("^China.*country$", txt)

re 模块提供了一组函数,允许我们检索字符串以进行匹配:

函数 描述
findall 返回包含所有匹配项的列表
search 如果字符串中的任意位置存在匹配,则返回 Match 对象
split 返回在每次匹配时拆分字符串的列表
sub 用字符串替换一个或多个匹配项
文章目录
  1. 1. 什么是模块?
  2. 2. 创建模块
  3. 3. 重命名模块
  4. 4. 从模块导入
  5. 5. 内建模块
    1. 5.1. 日期
    2. 5.2. JSON
    3. 5.3. 正则
|