Python学习笔记--函数模块篇



 

from…import 语句

Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中。语法如下:

from modname import name1[, name2[, ... nameN]]

例如,要导入模块 fib 的 fibonacci 函数,使用如下语句:

from fib import fibonacci

这个声明不会把整个 fib 模块导入到当前的命名空间中,它只会将 fib 里的 fibonacci 单个引入到执行这个声明的模块的全局符号表。

Python中的包

包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。

简单来说,包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。__init__.py 用于标识当前文件夹是一个包。

考虑一个在 package_runoob 目录下的 runoob1.py、runoob2.py、__init__.py 文件,test.py 为测试调用包的代码,目录结构如下:

test.py
package_runoob
|-- __init__.py
|-- runoob1.py
|-- runoob2.py

源代码如下:

package_runoob/runoob1.py

#!/usr/bin/python# -*- coding: UTF-8 -*- def runoob1(): print "I'm in runoob1"

package_runoob/runoob2.py

#!/usr/bin/python# -*- coding: UTF-8 -*- def runoob2(): print "I'm in runoob2"

现在,在 package_runoob 目录下创建 __init__.py:

package_runoob/__init__.py

#!/usr/bin/python# -*- coding: UTF-8 -*- if __name__ == '__main__': print '作为主程序运行'else: print 'package_runoob 初始化'

然后我们在 package_runoob 同级目录下创建 test.py 来调用 package_runoob 包

test.py

#!/usr/bin/python# -*- coding: UTF-8 -*- # 导入 Phone 包from package_runoob.runoob1 import runoob1from package_runoob.runoob2 import runoob2 runoob1()runoob2()

以上实例输出结果:

package_runoob 初始化
I'm in runoob1
I'm in runoob2

如上,为了举例,我们只在每个文件里放置了一个函数,但其实你可以放置许多函数。你也可以在这些文件里定义Python的类,然后为这些类建一个包。

  • PYTHONPATH 变量

    作为环境变量,PYTHONPATH 由装在一个列表里的许多目录组成。PYTHONPATH 的语法和 shell 变量 PATH 的一样。

    在 Windows 系统,典型的 PYTHONPATH 如下:

    set PYTHONPATH=c:\python27\lib;

    在 UNIX 系统,典型的 PYTHONPATH 如下:

    set PYTHONPATH=/usr/local/lib/python

    系统相关的信息模块: import sys

    sys.argv 是一个 list,包含所有的命令行参数.    
    sys.stdout sys.stdin sys.stderr 分别表示标准输入输出,错误输出的文件对象.    
    sys.stdin.readline() 从标准输入读一行 sys.stdout.write("a") 屏幕输出a    
    sys.exit(exit_code) 退出程序    
    sys.modules 是一个dictionary,表示系统中所有可用的module    
    sys.platform 得到运行的操作系统环境    
    sys.path 是一个list,指明所有查找module,package的路径.  

    操作系统相关的调用和操作: import os

    os.environ 一个dictionary 包含环境变量的映射关系   
    os.environ["HOME"] 可以得到环境变量HOME的值     
    os.chdir(dir) 改变当前目录 os.chdir('d:\\outlook')   
    注意windows下用到转义     
    os.getcwd() 得到当前目录     
    os.getegid() 得到有效组id os.getgid() 得到组id     
    os.getuid() 得到用户id os.geteuid() 得到有效用户id     
    os.setegid os.setegid() os.seteuid() os.setuid()     
    os.getgruops() 得到用户组名称列表     
    os.getlogin() 得到用户登录名称     
    os.getenv 得到环境变量     
    os.putenv 设置环境变量     
    os.umask 设置umask     
    os.system(cmd) 利用系统调用,运行cmd命令   

    内置模块(不用import就可以直接使用)常用内置函数:

    help(obj) 在线帮助, obj可是任何类型    
    callable(obj) 查看一个obj是不是可以像函数一样调用    
    repr(obj) 得到obj的表示字符串,可以利用这个字符串eval重建该对象的一个拷贝    
    eval_r(str) 表示合法的python表达式,返回这个表达式    
    dir(obj) 查看obj的name space中可见的name    
    hasattr(obj,name) 查看一个obj的name space中是否有name    
    getattr(obj,name) 得到一个obj的name space中的一个name    
    setattr(obj,name,value) 为一个obj的name   
    space中的一个name指向vale这个object    
    delattr(obj,name) 从obj的name space中删除一个name    
    vars(obj) 返回一个object的name space。用dictionary表示    
    locals() 返回一个局部name space,用dictionary表示    
    globals() 返回一个全局name space,用dictionary表示    
    type(obj) 查看一个obj的类型    
    isinstance(obj,cls) 查看obj是不是cls的instance    
    issubclass(subcls,supcls) 查看subcls是不是supcls的子类  
    
    ##################    类型转换  ##################
    
    chr(i) 把一个ASCII数值,变成字符    
    ord(i) 把一个字符或者unicode字符,变成ASCII数值    
    oct(x) 把整数x变成八进制表示的字符串    
    hex(x) 把整数x变成十六进制表示的字符串    
    str(obj) 得到obj的字符串描述    
    list(seq) 把一个sequence转换成一个list    
    tuple(seq) 把一个sequence转换成一个tuple    
    dict(),dict(list) 转换成一个dictionary    
    int(x) 转换成一个integer    
    long(x) 转换成一个long interger    
    float(x) 转换成一个浮点数    
    complex(x) 转换成复数    
    max(...) 求最大值    
    min(...) 求最小值  

from…import 语句

Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中。语法如下:

from modname import name1[, name2[, ... nameN]]

例如,要导入模块 fib 的 fibonacci 函数,使用如下语句:

from fib import fibonacci

这个声明不会把整个 fib 模块导入到当前的命名空间中,它只会将 fib 里的 fibonacci 单个引入到执行这个声明的模块的全局符号表。

Python中的包

包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。

简单来说,包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。__init__.py 用于标识当前文件夹是一个包。

考虑一个在 package_runoob 目录下的 runoob1.py、runoob2.py、__init__.py 文件,test.py 为测试调用包的代码,目录结构如下:

test.py
package_runoob
|-- __init__.py
|-- runoob1.py
|-- runoob2.py

源代码如下:

package_runoob/runoob1.py

#!/usr/bin/python# -*- coding: UTF-8 -*- def runoob1(): print "I'm in runoob1"

package_runoob/runoob2.py

#!/usr/bin/python# -*- coding: UTF-8 -*- def runoob2(): print "I'm in runoob2"

现在,在 package_runoob 目录下创建 __init__.py:

package_runoob/__init__.py

#!/usr/bin/python# -*- coding: UTF-8 -*- if __name__ == '__main__': print '作为主程序运行'else: print 'package_runoob 初始化'

然后我们在 package_runoob 同级目录下创建 test.py 来调用 package_runoob 包

test.py

#!/usr/bin/python# -*- coding: UTF-8 -*- # 导入 Phone 包from package_runoob.runoob1 import runoob1from package_runoob.runoob2 import runoob2 runoob1()runoob2()

以上实例输出结果:

package_runoob 初始化
I'm in runoob1
I'm in runoob2

如上,为了举例,我们只在每个文件里放置了一个函数,但其实你可以放置许多函数。你也可以在这些文件里定义Python的类,然后为这些类建一个包。

  • PYTHONPATH 变量

    作为环境变量,PYTHONPATH 由装在一个列表里的许多目录组成。PYTHONPATH 的语法和 shell 变量 PATH 的一样。

    在 Windows 系统,典型的 PYTHONPATH 如下:

    set PYTHONPATH=c:\python27\lib;

    在 UNIX 系统,典型的 PYTHONPATH 如下:

    set PYTHONPATH=/usr/local/lib/python

    系统相关的信息模块: import sys

    sys.argv 是一个 list,包含所有的命令行参数.    
    sys.stdout sys.stdin sys.stderr 分别表示标准输入输出,错误输出的文件对象.    
    sys.stdin.readline() 从标准输入读一行 sys.stdout.write("a") 屏幕输出a    
    sys.exit(exit_code) 退出程序    
    sys.modules 是一个dictionary,表示系统中所有可用的module    
    sys.platform 得到运行的操作系统环境    
    sys.path 是一个list,指明所有查找module,package的路径.  

    操作系统相关的调用和操作: import os

    os.environ 一个dictionary 包含环境变量的映射关系   
    os.environ["HOME"] 可以得到环境变量HOME的值     
    os.chdir(dir) 改变当前目录 os.chdir('d:\\outlook')   
    注意windows下用到转义     
    os.getcwd() 得到当前目录     
    os.getegid() 得到有效组id os.getgid() 得到组id     
    os.getuid() 得到用户id os.geteuid() 得到有效用户id     
    os.setegid os.setegid() os.seteuid() os.setuid()     
    os.getgruops() 得到用户组名称列表     
    os.getlogin() 得到用户登录名称     
    os.getenv 得到环境变量     
    os.putenv 设置环境变量     
    os.umask 设置umask     
    os.system(cmd) 利用系统调用,运行cmd命令   

    内置模块(不用import就可以直接使用)常用内置函数:

    help(obj) 在线帮助, obj可是任何类型    
    callable(obj) 查看一个obj是不是可以像函数一样调用    
    repr(obj) 得到obj的表示字符串,可以利用这个字符串eval重建该对象的一个拷贝    
    eval_r(str) 表示合法的python表达式,返回这个表达式    
    dir(obj) 查看obj的name space中可见的name    
    hasattr(obj,name) 查看一个obj的name space中是否有name    
    getattr(obj,name) 得到一个obj的name space中的一个name    
    setattr(obj,name,value) 为一个obj的name   
    space中的一个name指向vale这个object    
    delattr(obj,name) 从obj的name space中删除一个name    
    vars(obj) 返回一个object的name space。用dictionary表示    
    locals() 返回一个局部name space,用dictionary表示    
    globals() 返回一个全局name space,用dictionary表示    
    type(obj) 查看一个obj的类型    
    isinstance(obj,cls) 查看obj是不是cls的instance    
    issubclass(subcls,supcls) 查看subcls是不是supcls的子类  
    
    ##################    类型转换  ##################
    
    chr(i) 把一个ASCII数值,变成字符    
    ord(i) 把一个字符或者unicode字符,变成ASCII数值    
    oct(x) 把整数x变成八进制表示的字符串    
    hex(x) 把整数x变成十六进制表示的字符串    
    str(obj) 得到obj的字符串描述    
    list(seq) 把一个sequence转换成一个list    
    tuple(seq) 把一个sequence转换成一个tuple    
    dict(),dict(list) 转换成一个dictionary    
    int(x) 转换成一个integer    
    long(x) 转换成一个long interger    
    float(x) 转换成一个浮点数    
    complex(x) 转换成复数    
    max(...) 求最大值    
    min(...) 求最小值  

猜你喜欢

转载自blog.csdn.net/weixin_41171108/article/details/81191123
今日推荐