【Python】字符串的换行 和 引入其他py文件

简介:

1. 如果你的字符串很长,那么改如何处理呢?

直接回车是不行的,就像这样子:


python提供了3中方式可以用来对很长的字符串进行换行显示

A. 三个‘号


 

B. 三个"号



C. 在第一行的末尾加上 \ 




2. 想要引入其他的包或者其他的py文件如何做呢?

其实问题就归根结底到import的用法了:

转自:http://blog.csdn.net/lisonglisonglisong/article/details/38666819

在程序中定义函数可以实现代码重用。但当你的代码逐渐变得庞大时,你可能想要把它分割成几个文件,以便能够更简单地维护。同时,你希望在一个文件中写的代码能够被其他文件所重用,这时我们应该使用模块(module)

一、导入模块

在Python中,一个.py文件就构成一个模块。一个模块中的定义可以导入(import)到另一个模块或主模块。

比如你可以通过内置模块platform来查看你当前的操作平台信息:

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. import platform  
  2. s = platform.platform()  
  3. print(s)  
  4. # 我的输出:Linux-3.15.8-200.fc20.x86_64-x86_64-with-fedora-20-Heisenbug  
又比如你可以通过内置模块time获取当前的时间:

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. import time  
  2. s = time.ctime()  
  3. print(s)  
  4. # 输出:Mon Aug 18 16:04:57 2014  

每个模块有其私有的符号表,在该模块内部当成全局符号表来使用。 当我们将一个模块导入到当前模块时,只有被导入模块的名称被放入当前模块的全局符号表里,所以我们不用担心变量名发生冲突。

其他几种导入方式:

1、import a as b:导入模块a,并将模块a重命名为b。

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. import time as x     
  2. s = x.ctime()  
  3. print(s)  

2、from a import func:直接把模块内的函数或变量的名称导入当前模块符号表里。

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. from time import ctime  
  2. s = ctime()   # 这时可以直接调用函数,而不用再使用time.ctime()  
  3. print(s)  
3、 from a import * :导入模块中所有的名字(以下划线开头的名字除外)到当前模块符号表里。

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. from time import *  
  2. s = ctime()     
  3. print(s)  

注意:导入 * 是不好的,因为它常常产生难以阅读的代码,并且会容易产生名字冲突。


二、模块搜索路径

当导入名为 a 的模块时, 解释器会先从内建模块尝试匹配,如果没找到,则将在 sys.path 记录的所有目录中搜索 a.py 文件,而sys.path则包括:

  • 当前程序所在目录
  • 标准库的安装目录
  • 操作系统环境变量PYTHONPATH所包含的目录

变量 sys.path 是一个字符串列表,它为解释器指定了模块的搜索路径。它通过环境变量 PATHONPATH 初始化为一个默认路径,当没有设置 PYTHONPATH 时, 就使用内建默认值来初始化。你可以通过标准 list 操作来修改它:

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> import sys  
  2. >>> sys.path.append('/ufs/guido/lib/python')  

三、模块的__name__

对于任何一个模块,模块的名字都可以通过全局变量 __name__得到:

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. import time  
  2. s = time.__name__  
  3. print(s)    # 输出time   
一个模块既可以在其它模块中导入使用,也可以当作脚本直接运行。不同的是,当导入到其他模块时,__name__的值是被导入模块的名字;而当作为脚本运行时,__name__的值被设为 “__main__”

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. # test.py  
  2. if __name__ == '__main__':  
  3.     print('This program is being run by itself')  
  4. else:  
  5.     print('I am being imported into another module')  
当作脚本执行:

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. $ python test.py   
  2. This program is being run by itself  
当作导入模块使用:

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> import test  
  2. I am being imported into another module  
  3. >>>   

四、dir() 函数

Python3基础六中我们提到,可以通过内置dir()函数查询一个类或者对象的所有属性。除此之外,我们还可以用它列出一个模块里定义的所有名字,它返回一个有序字串列表:

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. >>> import builtins  
  2. >>> dir(builtins)  

五、包

可以把多个模块,即多个.py文件,放在同一个文件夹中,构成一个包(Package)。例如:

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. sound/                          顶级包  
  2.       __init__.py               初始化这个声音包  
  3.       formats/                  格式转换子包  
  4.               __init__.py  
  5.               wavread.py  
  6.               wavwrite.py  
  7.               aiffread.py  
  8.               aiffwrite.py  
  9.               auread.py  
  10.               auwrite.py  
  11.               ...  
  12.       effects/                  音效子包  
  13.               __init__.py  
  14.               echo.py  
  15.               surround.py  
  16.               reverse.py  
  17.               ...  
  18.       filters/                  过滤器子包  
  19.               __init__.py  
  20.               equalizer.py  
  21.               vocoder.py  
  22.               karaoke.py  
  23.               ...  

注意:在每个包文件夹里都必须包含一个 __init__.py 的文件,告诉Python,该文件夹是一个包。__init__.py 可以是一个空文件。

我们可以通过import 包名.模块名导入包中的子模块,例如:

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. import sound.effects.echo  
当然,也可以使用 from... import... 句式导入包中的模块:

[python]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. from sound.effects import echo               # 导入echo子模块  
  2. from sound.effects.echo import echofilter    # 导入echo子模块中的函数或变量  
  3. from sound.effects import *                  # 导入__all__变量中所有的子模块  

目录
相关文章
|
24天前
|
自然语言处理 数据处理 Python
python操作和解析ppt文件 | python小知识
本文将带你从零开始,了解PPT解析的工具、工作原理以及常用的基本操作,并提供具体的代码示例和必要的说明【10月更文挑战第4天】
221 60
|
18天前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
python知识点100篇系列(15)-加密python源代码为pyd文件
|
23天前
|
Linux 区块链 Python
Python实用记录(十三):python脚本打包exe文件并运行
这篇文章介绍了如何使用PyInstaller将Python脚本打包成可执行文件(exe),并提供了详细的步骤和注意事项。
44 1
Python实用记录(十三):python脚本打包exe文件并运行
|
25天前
|
Python
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
本篇将详细介绍Python中的字符串类型及其常见操作,包括字符串的定义、转义字符的使用、字符串的连接与格式化、字符串的重复和切片、不可变性、编码与解码以及常用内置方法等。通过本篇学习,用户将掌握字符串的操作技巧,并能灵活处理文本数据。
50 1
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
|
16天前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。
|
17天前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
23天前
|
自然语言处理 Java 数据处理
【速收藏】python字符串操作,你会几个?
【速收藏】python字符串操作,你会几个?
46 7
|
23天前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
31 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
|
23天前
|
Python
Python实用记录(十二):文件夹下所有文件重命名以及根据图片路径保存到新路径下保存
这篇文章介绍了如何使用Python脚本对TTK100_VOC数据集中的JPEGImages文件夹下的图片文件进行批量重命名,并将它们保存到指定的新路径。
31 0
|
25天前
|
Python
如何利用Python快捷地操作文件和文件夹
关注B站用户“肆十二-”,观看更多实战教学视频。本文介绍Python的shutil库,涵盖文件和文件夹的复制、移动、删除及归档等高级操作,提供实用代码示例。
22 0