码迷,mamicode.com
首页 > 编程语言 > 详细

Python学习笔记5—Python模块

时间:2014-10-31 12:07:30      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:python   模块   extc   print   eval   import   

    python模块分为系统内置的模块、第三方的模块和用户编写的模块

    默认情况下,python第三方的模块安装在python 的安装目录下site-packages下,以文件或者目录的形式存放

    用户模块,程序模块化对区分功能和结构,代码清晰度有很好的帮助

    默认情况下,在python运行时只是加载了少数的系统内置的模块,可以使用vars()查看

>>> print vars()
{‘__builtins__‘: <module ‘__builtin__‘ (built-in)>, ‘__package__‘: None, ‘__name__‘: ‘__main__‘, ‘__doc__‘: None}
>>> vars()
{‘__builtins__‘: <module ‘__builtin__‘ (built-in)>, ‘__package__‘: None, ‘__name__‘: ‘__main__‘, ‘__doc__‘: None}
>>> import time
>>> print vars()
{‘__builtins__‘: <module ‘__builtin__‘ (built-in)>, ‘__package__‘: None, ‘time‘: <module ‘time‘ (built-in)>, ‘__name__‘: ‘__main__‘, ‘__doc__‘: None}

    python程序可以作为模块运行,也可以作为模块被倒入使用

    如果调用 main 就时代表直接运行程序当前本身

    被倒入文件命名要以.py结尾,并且需要在python python环境变量可以搜索到的位置


    PYTHONPATH环境变量设定python导入模块的路径

    在交互式的DILE或者命令行运行时,用户的cwd默认加入pythonpath变量中

    零时性的修改可以修改sys.path

>>> import sys
>>> sys.path
[‘E:\\Note\\Python‘, ‘D:\\Python27\\Lib\\idlelib‘, ‘C:\\Windows\\system32\\python27.zip‘, ‘D:\\Python27\\DLLs‘, ‘D:\\Python27\\lib‘, ‘D:\\Python27\\lib\\plat-win‘, ‘D:\\Python27\\lib\\lib-tk‘, ‘D:\\Python27‘, ‘D:\\Python27\\lib\\site-packages‘]
>>> sys.path.append(‘/tmp‘)
>>> sys.path
[‘E:\\Note\\Python‘, ‘D:\\Python27\\Lib\\idlelib‘, ‘C:\\Windows\\system32\\python27.zip‘, ‘D:\\Python27\\DLLs‘, ‘D:\\Python27\\lib‘, ‘D:\\Python27\\lib\\plat-win‘, ‘D:\\Python27\\lib\\lib-tk‘, ‘D:\\Python27‘, ‘D:\\Python27\\lib\\site-packages‘, ‘/tmp‘]

    赋值语句,variables name=variables values

        在定义变量名是不得使用系统关键字和特殊符号,变量值可以是任意的数据对象

        变量名是未知的类型,变量名的类型取决于被赋予值的类型

    链式赋值

        a=b=c=100

        将数字100分别的赋予给a,b,c

    序列解包赋值

        name,age,address=(‘keyman‘,27,‘BeiJing‘)

        序列解包赋值变量名和变量值必须相等


    import语句是也是一个赋值语句

        improt socket    将socket模块倒入之后,赋值给scoekt

    import语句是将python模块导入,模块应该放置在pythonpath目录下

    import module name 或者 import module name as alias name

    from module name import method 或者 from module name import method as alias name

import time    #导入time模块
import time as t    #导入time模块,并取别名t,以后使用time模块的方法时,将以t代替time,比如t.time()
from math import sqrt    #将math模块中的sqrt方法导入
from math import sqrt as q    #将math模块中的sqrt方法导入,并取别名q

    python预留的关键字可以使用keyword模块检查

    keyword模块下的kwlist方法可以打印系统中所有的被预留的关键字

    keyword模块下的iskeyword可判断对象是否是关键字

>>> import keyword
>>> print keyword.kwlist
[‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]
>>> print keyword.iskeyword(‘for‘)
True
>>> print keyword.iskeyword(‘list‘)
False

    在python2.6、2.7中print是一个语句,在python3.0中python,print是一个函数

    print 连续打印多个对象,可以用‘,‘隔开

    如果要使用多个print语句,但结果需要显示在一行,需要在print语句之后加上‘,‘

print ‘a‘
print ‘b‘,
print ‘c‘
print ‘d‘,‘e‘
print(‘a‘)

    执行结果为

a
b c
d e
a

    exec语句

        exec 主要用于执行字符串内包含有python的代码

        exec("print ‘hello world‘")

    eval语句

        eval 主要用于执行字符串内包含有python的算术表达式

        exec("print (1+100-20)/2")

exec(‘print "hello world"‘)
print eval(‘5+4*3‘)

    执行结果为

hello world
17

本文出自 “Raffaele” 博客,请务必保留此出处http://raffaele.blog.51cto.com/6508076/1570275

Python学习笔记5—Python模块

标签:python   模块   extc   print   eval   import   

原文地址:http://raffaele.blog.51cto.com/6508076/1570275

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!