python import math报错_import语句
1 mport math
2
3 r=5
4 print('半径为5的园面积为:%.2f'%(math.pi*r**2))
5 #保存文件名为import_test.py。在CMD窗口执行如下命令:
6 D:\Pythonworkspace>python import_test.py
7 半径为5的园面积为:78.54
8 #上面的程序使用了import语句。
9 #import math的意思为从Python标准库中引入math.py模块,这是Python中定义的引入模块的方法。#import的标准语法如下:
10 >>>import module1[,module2[,...moduleN]]
11 #表示允许一个import导入多个模块,但各个模块间需要用逗号隔开。
12 #当解释器遇到import语句时,如果模块在当前搜索路径就会被导入。搜索路径是一个解释器,会先搜索所有目录的列表。
13 #当我们使用import语句时,Python解释器怎样找到对应的文件呢?这就涉及Python的搜索路径,搜索路径由一系列目录名组成,Python解释器会依次从这些目录中寻找引入的模块。
14 看起来很像环境变量,事实上可以通过定义环境变量的方式确定搜索路径。搜索路径是在Python编译或安装时确定的,被存储在sys模块的path变量中。查看搜索路径的方式如下:
15 import sys
16
17 print('Python的搜索路径为:%s'%sys.path)
18 #保存文件为import_sys.py,在cmd窗口执行结果如下:
19 D:\Pythonworkspace>python import_sys.py
20 Python的搜索路径为:['D:\\Pythonworkspace', 'D:\\Python\\python36.zip', 'D:\\Python\\DLLs', 'D:\\Python\\lib', 'D:\\Python', 'D:\\Python\\lib\\site-packages']
21 #由以上输出结果看到,sys.path输出了一个列表,第一项输出的是执行文件的目录,即我们执行Python解释器的目录(如果是脚本,就是运行脚本所在的目录)。
22 #了解搜索路径的概念后,可以在脚本中修改sys.path引入一下不在搜索路径中的模块。
23 #上面我们初步引入了import语句,除了用import引入模块,还有另一种方式引入模块,示例如下:
24 >>> from math import pi
25 >>> print(pi)
26 3.141592653589793
27 #上面的操作使用了from math import pi 的方式,这是什么意思?
28 #在Python中,from语句可以从模块中导入指定部分到当前命名空间中,语法如下:
29 >>>from modnane import name1[,name2[,...nameN]]
30 #例如,from math import pi 语句就是从math模块导入pi到当前命名空间,该语句不会将math整个模块导入。比如在math模块中还有sin、exp函数,在这个语句里这两个函数都使用不了,而导入整个math模块的语句中可以使用,示例如下:
31 >>> import math
32 >>> print(math.pi) #math.pi可以被输出
33 3.141592653589793
34 >>> print(math.sin(1)) #math.sin(1)可以被输出
35 0.8414709848078965
36 >>> print(math.exp(1)) #math.exp(1)可以被输出
37 2.718281828459045
38 >>> from import math.pi
39 SyntaxError: invalid syntax
40 >>> from math import.pi
41 SyntaxError: invalid syntax
42 >>> from math import pi
43 >>> print(pi) #pi可以被输出
44 3.141592653589793
45 >>> print(math.pi)
46 3.141592653589793
47 >>> print(sin(1)) #sin(1)不可以被输出
48 Traceback (most recent call last):
49 File "", line 1, in
50 print(sin(1)) #sin(1)不可以被输出
51 NameError: name 'sin' is not defined
52 >>> print(exp(1)) #exp(1)不可以被输出
53 Traceback (most recent call last):
54 File "", line 1, in
55 print(exp(1))
56 NameError: name 'exp' is not defined
57 #再例如:
58 >>> from math import pi
59 >>> print(math.exp(1))
60 Traceback (most recent call last):
61 File "", line 1, in
62 print(math.exp(1))
63 NameError: name 'math' is not defined
64 >>> import math
65 >>> print(math.exp(1))
66 2.718281828459045
67 #由以上结果可知,如果导入模块,就会得到模块中所有对象;如果指定导入某个对象,就只能得到该对象。
68 #这样做的好处是什么呢?示例:
69 >>> import math
70 >>> print(math.pi)
71 3.141592653589793
72 >>> print(pi)
73 Traceback (most recent call last):
74 File "", line 1, in
75 print(pi)
76 NameError: name 'pi' is not defined
77 >>> from math import pi
78 >>> print(pi)
79 3.141592653589793
80 #由上面的输出结果可知,如果在导入math模块时访问pi对象,需要使用math.pi,直接使用pi访问不了,会报错。使用import语句后,可以直接访问pi对象,不需要加上模块名进行访问。
81 #如果要访问模块中多个对象,是否需要一个一个导入呢?如果要访问math中的pi和sin,是否要写两个from math import语句呢?例如
82 from math import pi
83 from math import sin
84 #当然不用,可以直接使用如下语句:
85 from math import pi,sin
86 #可以从一个导入语句导入多个函数,多个函数之前用逗号分割。
87 #如果要访问模块中多个对象,是否需要一个一个导入呢?当然不用,可以直接使用如下语句:
88 from math import*
89 #使用该语句可以将math中所有对象都引入,比如上面几个报错的情况就可以成功输出结果:例如:
90 >>> from math import*
91 >>> print(pi) #pi可以被输出
92 3.141592653589793
93 >>> print(math.pi)
94 Traceback (most recent call last):
95 File "", line 1, in
96 print(math.pi)
97 NameError: name 'math' is not defined
98 >>> print(sin(1)) #sin(1)可以被输出
99 0.8414709848078965
100 >>> print(math.sin(1))
101 Traceback (most recent call last):
102 File "", line 1, in
103 print(math.sin(1))
104 NameError: name 'math' is not defined
105 >>> print(exp(1)) #exp(1)可以被输出
106 2.718281828459045
107 #由输出结果看到,pi、sin、exp等函数都可以被正确输出了,这是一个简单的将项目中所有模块都导入的方法。在实际操作过程中,这种声明不建议过多使用,这样不利于编写清晰、简单的代码。只有想从给定模块导入所有功能时才使用这种方式。
108 #除了上述几种方式外,还可以为模块取别名,例如:
109 >>> import math as m
110 >>> m.pi
111 3.141592653589793
112 #由输出结果看到,给模块取别名的方式为:在导出模块的语句末尾增加一个as子句,as后面跟上别名名称。
113 #既然可以为模块取别名,当然也可以为函数取别名,例如:
114 >>> from math import pi as p
115 >>> p
116 3.141592653589793
117 #由输出结果可知,我们为pi取了别名为p,为函数取别名的方式和为模块取别名的方式类似,也是在语句后面加上as,as后面跟上别名名称。
python import math报错_import语句相关推荐
- python import requests报错_import requests 出错,搜了很多,没解决,求教.
requests 依赖的库都已经安装了. Requirement not upgraded as not directly required: chardet<3.1.0,>=3.0.2 ...
- python导入requests报错_import requests报错
参考:https://blog.csdn.net/weixin_42342979/article/details/81751124 import requests报错 requests的安装我尝试了两 ...
- python import xlrd 报错_python读取excel(xlrd)
一.安装xlrd模块: 1.mac下打开终端输入命令: pip install xlrd 2.验证安装是否成功: 在mac终端输入 python 进入python环境 然后输入 import xlr ...
- python import random 报错_Python import random报错处理办法
python安装失败:make的时候报错: /usr/include/tkDecls.h:1542: error: expected ')' before '*' token /usr/include ...
- python import random 报错_导致python中import错误的原因是什么
Python程序可以调用一组基本的函数(即内建函数),比如print().input()和len()等函数.Python本身也内置一组模块(即标准库).每个模块都是一个Python程序,且包含了一组相 ...
- python import pandas报错找不到_扎心!“我学了半年 Python,还是找不到工作”
在编程界,Python是一种神奇的存在.有人认为,只有用Python才能优雅写代码,提高代码效率:但另一部分人恨不能把Python喷成筛子.那么,Python到底有没有用,为什么用Python找不到工 ...
- Python与机器视觉(x)windows下import cv2报错dll
pip install 直接安装opencv_python 有时会与windows中的python版本不匹配,造成import 错误 import cv2 报错 ImportError: DLL lo ...
- python里import bs4是什么意思_from bs4 import BeautifulSoup报错
Windows下安装BeautifulSoup4完后,from bs4 import BeautifulSoup报错: >>> from bs4 import BeautifulS ...
- python导入模块报错syntaxerror_python import错误 SyntaxError: invalid syntax
Python 3.6print 出现 SyntaxError: invalid syntax 开始使用sublime学习python,编写代码如图 Ctrl+B运行以后,报错 SyntaxErro ...
最新文章
- opencv用java完成的例子_SpringBoot整合OpenCV的实现示例
- apply_async进程不执行_c/c++面试精选题(八)简单回答,进程和线程关系及区别...
- 2020\Simulation_1\2.约数个数
- oracle进程瞬间暴增,oracle goldengate ogg 源段传输进程lag延迟不断增加的原因?
- java操作sql数据库_java-JDBC连接数据库并进行SQL操作
- 给你的数据来一个顶层设计
- can connect mysql not server_MySQL -- 配置文件my.cnf 的详细说明
- Swagger注解-@ApiImplicitParams 和 @ApiImplicitParam
- 想开公司没钱租用办公地,注册地址怎么办?
- ibm笔记本电脑电池_笔记本电脑是一直插着电源好,还是拔了电源好?
- Linux学习笔记一:vmware安装Ubuntu虚拟机并进行联网设置
- 用unity协程写的发牌程序
- 80.共享内存实现进程通信
- Windows7系统如果安装升级IE11浏览器
- ubuntu18.04LTS搭建hackrf+limesdr软件无线电开发环境,并下载Gnuradio。
- TI DSP C64X 优化基本方法
- Netflow、Netstream、sflow
- c语言作业参考文献,c语言外文参考文献_数学类的文献 外文翻译_c 语言与面向对象的设计 习题及参考解答...
- OpenStack裸金属使用总结
- linux connect 超时时间,Linux下connect超时处理【总结】