为什么python使用。代替/用于import语句中的路径?

时间:2014-09-03 20:40:43

标签: python syntax language-design

我不熟悉其他语言,所以我也不知道他们是否也这样做(或类似)(并且很好奇)。

例如,我为什么要写:

from pylearn2.utils import serial

而不是

from pylearn2/utils import serial

???

3 个答案:

答案 0 :(得分:4)

因为Python将包和模块视为对象,因此使用点符号来访问其“属性”。

有关包对象及其表示法的更多信息:

以下是导入Django包的一些证明:

>>> import django
>>> type(django)
<type 'module'>
>>> type(django.contrib.auth.models)
<type 'module'>

答案 1 :(得分:2)

绝大多数编程语言都使用点/句点来命名空间。我个人认识的唯一一个不是PHP。

VB:

Imports System.Text
Imports System.IO
Imports Microsoft.VisualBasic.ControlChars

C#:

using System;
using System.Web.Services.Description;
using System.Collections;
using System.Xml;

爪哇:

import javax.swing.*;

ActionScript 3:

import flash.display.Sprite;
import flash.display.Shape;
import flash.events.MouseEvent;
import flash.filters.DropShadowFilter;

PHP:

use PhpAmqpLib\Connection\AMQPConnection;
use PhpAmqpLib\Message\AMQPMessage;

答案 2 :(得分:1)

除了其他答案......

并非所有模块都以导入时定义的方式存在于文件系统中。 somepackage.somemodule碰巧在somepackage / somemodule.py上的磁盘上只是一种方法。例如,C扩展可能位于不同的位置或具有不同的名称。此外,一些模块喜欢使用其命名空间。 'os.path'可能真的是'ntpath'或'posixpath'。