通俗的理解 __name__ == '__main__':
假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明');在你自己眼中,你是你自己(__name__ == '__main__')。
if __name__ == '__main__'的意思是:当 .py 文件被直接运行时,if __name__ == '__main__' 之下的代码块将被运行;当 .py 文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行
1. 调用模块属性的区别
import 模块名 模块名.xxx = 引用 from 模块名 import * xxx = 拷贝 # 能修改属性值
函数,类... : "import 模块名" 和 "from 模块名 import *" 都是引用。
2. 私有属性两种导入的区别
# . 类中的私有属性 # 本质做了一个名字重整 class test() self.__name
__name 名字重整成 _test__name。
_littlethree : 模块的私有属性(数据)。
看完这章之后对这个 from…import * 语句与 import 区别很是疑惑从别处看完解释理解如下。
首先你要了解 import 与 from…import 的区别。
所以使用上的的区别是当引用文件时是:
import //模块.函数 from…import // 直接使用函数名使用就可以了
所以
from…import *:是把一个模块中所有函数都导入进来; 注:相当于:相当于导入的是一个文件夹中所有文件,所有函数都是绝对路径。
结论:
from…import *语句与import区别在于:
import 导入模块,每次使用模块中的函数都要是定是哪个模块。
from…import * 导入模块,每次使用模块中的函数,直接使用函数就可以了;注因为已经知道该函数是那个模块中的了。
还是上面例子中的模块 support.py:
def print_func( par ): print "Hello : ", par return
使用 import 引入并调用 support 模块的正确方法:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 导入模块 import support # 现在可以调用模块里包含的函数了 support.print_func("facesoho")
提示:并不能直接使用 print_func() 实现调用,必须将引入的模块名称当作一个对象,调用这个模块对象下的方法 print_func,这时才能实现调用。
使用 from … import 模块的正确方法:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 导入模块 from support import * # 现在可以调用模块里包含的函数了 print_func("facesoho")
提示:可以直接使用 print_func() 实现调用。
笔者建议:一般来说,推荐使用 import 语句,避免使用 from … import,因为这样可以使你的程序更加易读,也可以避免名称冲突。
系统相关的信息模块: 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(...) 求最小值
感谢您的支持,我会继续努力的!
支付宝扫一扫,即可进行扫码打赏哦
976Python 模块
通俗的理解 __name__ == '__main__':
假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明');在你自己眼中,你是你自己(__name__ == '__main__')。
if __name__ == '__main__'的意思是:当 .py 文件被直接运行时,if __name__ == '__main__' 之下的代码块将被运行;当 .py 文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行
975Python 模块
1. 调用模块属性的区别
函数,类... : "import 模块名" 和 "from 模块名 import *" 都是引用。
2. 私有属性两种导入的区别
__name 名字重整成 _test__name。
_littlethree : 模块的私有属性(数据)。
974Python 模块
看完这章之后对这个 from…import * 语句与 import 区别很是疑惑从别处看完解释理解如下。
首先你要了解 import 与 from…import 的区别。
所以使用上的的区别是当引用文件时是:
所以
from…import *:是把一个模块中所有函数都导入进来; 注:相当于:相当于导入的是一个文件夹中所有文件,所有函数都是绝对路径。
结论:
from…import *语句与import区别在于:
import 导入模块,每次使用模块中的函数都要是定是哪个模块。
from…import * 导入模块,每次使用模块中的函数,直接使用函数就可以了;注因为已经知道该函数是那个模块中的了。
973Python 模块
import 和 from … import 模块的变量、方法引用差异
还是上面例子中的模块 support.py:
使用 import 引入并调用 support 模块的正确方法:
提示:并不能直接使用 print_func() 实现调用,必须将引入的模块名称当作一个对象,调用这个模块对象下的方法 print_func,这时才能实现调用。
使用 from … import 模块的正确方法:
提示:可以直接使用 print_func() 实现调用。
笔者建议:一般来说,推荐使用 import 语句,避免使用 from … import,因为这样可以使你的程序更加易读,也可以避免名称冲突。
972Python 模块
系统相关的信息模块: import sys
操作系统相关的调用和操作: import os
内置模块(不用import就可以直接使用)常用内置函数: