一. python中的切片索引操作
slice.png二. python在不同目录下导入模块的方法
a. 在同一级目录下的调用
test.py 和需要调用的模块 module1.py 在同一级目录下
from module1 import *
import module1
b. 调用子目录下的模块
test.py和 lib目录在同一级,需要调用的模块module.1py在lib目录下
可以在lib文件夹下建立空文件 __init__.py
from lib.module1 import *
import lib.module1
c. 调用上级目录下的文件
先跳到上级目录下,然后问题就可以转化为a 和 b 情况
import sys
sys.path.append('../上级目录')
import module1
d. 关于 __init__.py
一个包是一个带有特殊文件 __init__.py 的目录。__init__.py 文件定义了包的属性和方法。其实它可以什么也不定义;可以只是一个空文件,但是必须存在。如果 __init__.py不存在,这个目录就仅仅是一个目录,而不是一个包,它就不能被导入或者包含其它的模块和嵌套包。
三. __future__模块
1. absolute_import 模块
from __future__ import absolute_import
在python2.4以前,默认是相对导入,程序会首先在当前目录下查找目标模块,如果找不到才会去系统的默认目录中查找,这样的话系统目录中的包会和当前目录下产生冲突,为了解决这种情况,采用绝对导入的方式,即指定包及模块来导入需要的模块。
2. division 模块
在 Python3.x中,所有除法都是精确除法,即会保留小数,地板除法用//表示,注意保留小数位问题
>>>from __future__ import division
>>>3/10
0.3
>>>3//10
0
3. print_function 模块
在Python2.x中,print方法后面既可以不加括号,又可以像函数一样添加括号。但在Python3.x中,print方法仅作为一个函数使用,不加括号会报错,若想统一使print仅作为函数使用:
from __future__ import print_function
4. unicode_literals 模块
同一个字符使用不同的编码格式,长度往往是不同的。对unicode类型的字符串调用len()和遍历才是以字符为单位的,为了统一建议使用 unicode_literals模块,显式地将所有的字符串转为Unicode类型。但是任然要注意,对于必须使用str字符串的地方要加以注意。
四. 查找模块中的属性和方法
help(modulename) #get the docs on all functions
dir(modulename) #simply list the names of all the functions and variables defined in the module
网友评论