python第五次
程序员文章站
2022-03-14 21:20:28
Python 错误和异常语法错误Python 的语法错误或者称之为解析错,如下实例:while True print('Hello world') File "", line 1, in ? while True print('Hello world') ^SyntaxError: invalid syntax这个例子中,函数 print() 被检查到有错误,是它前面缺少了一个冒号 : 。语法分析器指出了出错的一行,并且...
import 语句
import module1[, module2[,... moduleN]
当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。
搜索路径是一个解释器会先进行搜索的所有目录的列表。如想要导入模块 support,需要把命令放在脚本的顶端:
!/usr/bin/python3
Filename: support.py
def print_func( par ):
print ("Hello : ", par)
return
test.py 引入 support 模块:
#!/usr/bin/python3
#Filename: test.py
导入模块
import support
现在可以调用模块里包含的函数了
support.print_func("Runoob")
from … import 语句
Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中,语法如下:
from modname import name1[, name2[, ... nameN]]
__name__属性
一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。
Filename: using_name.py
if __name__ == '__main__':
print('程序自身在运行')
else:
print('我来自另一模块')
运行输出如下:
$ python using_name.py
程序自身在运行
python
import using_name
我来自另一模块
dir() 函数
内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回:
import fibo, sys
dir(fibo)
['__name__', 'fib', 'fib2']
dir(sys)
['__displayhook__', '__doc__', '__excepthook__', '__loader__', '__name__',
'__package__', '__stderr__', '__stdin__', '__stdout__',
'_clear_type_cache', '_current_frames', '_debugmallocstats', '_getframe',
'_home', '_mercurial', '_xoptions', 'abiflags', 'api_version', 'argv',
'base_exec_prefix', 'base_prefix', 'builtin_module_names', 'byteorder',
'call_tracing', 'callstats', 'copyright', 'displayhook',
'dont_write_bytecode', 'exc_info', 'excepthook', 'exec_prefix',
'executable', 'exit', 'flags', 'float_info', 'float_repr_style',
'getcheckinterval', 'getdefaultencoding', 'getdlopenflags',
'getfilesystemencoding', 'getobjects', 'getprofile', 'getrecursionlimit',
'getrefcount', 'getsizeof', 'getswitchinterval', 'gettotalrefcount',
'gettrace', 'hash_info', 'hexversion', 'implementation', 'int_info',
'intern', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path',
'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1',
'setcheckinterval', 'setdlopenflags', 'setprofile', 'setrecursionlimit',
'setswitchinterval', 'settrace', 'stderr', 'stdin', 'stdout',
'thread_info', 'version', 'version_info', 'warnoptions']
如果没有给定参数,那么 dir() 函数会罗列出当前定义的所有名称:
a = [1, 2, 3, 4, 5]
import fibo
fib = fibo.fib
dir() # 得到一个当前模块中定义的属性列表
['__builtins__', '__name__', 'a', 'fib', 'fibo', 'sys']
a = 5 # 建立一个新的变量 'a'
dir()
['__builtins__', '__doc__', '__name__', 'a', 'sys']
del a # 删除变量名a
dir()
['__builtins__', '__doc__', '__name__', 'sys']
本文地址:https://blog.csdn.net/weixin_52111800/article/details/109963297
上一篇: 司马昭为什么没有在自己大权在握的时候选择登基?他是害怕吗?
下一篇: Perl中的模式匹配学习笔记