编码声明:是coding:utf-8还是coding=urf-8

发布网友

我来回答

5个回答

懂视网

python要编码声明的原因:1、python中的第一行,目的就是指出这个文件中的代码用什么可执行程序去运行它;2、如果要在python2的py文件里面写中文,则必须要添加一行声明文件编码的注释,否则python2会默认使用ASCII编码。

【相关学习推荐:python教程】

python要编码声明的原因:

python中的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它,就这么简单

#!/usr/bin/python 相当于写死了 python 路径(是告诉OS执行这个py时,调用 /usr/bin 下的 python 解释器;)

#!/usr/bin/env python 会去环境设置寻找python目录,推荐这种写法(目的是为了OS防止user没有将python 装在默认的 /usr/bin 路径里。在Linux类的OS环境下有意义)

如果要在python2的py文件里面写中文,则必须要添加一行声明文件编码的注释,否则python2会默认使用ASCII编码。

# -*- coding:utf-

需要说明的是,除了解析路径应放在py第一行,一般Python 中用来指明文件编码的 #coding:utf-8 在需要时也应该指明,可把 #coding:utf-8 放在第二行:

#!/usr/bin/env python
# -*- coding:utf-

想了解更多相关学习,敬请关注php培训栏目!

热心网友

都可以,没有声明其他编码方法,即使用ascii编码作为标准编码方法。

要定义源文件的编码方式,应在文件的第一行或第二行中放置声明,例如:

[python] view plain copy

#coding=<encoding name>  

或者(使用流行编辑器中的格式化方式)

[python] view plain copy

#!/usr/bin/python  

# -*- coding: <encoding name> -*-  

或者

[python] view plain copy

#!/usr/bin/python  

# vim: set fileencoding=<encoding name> :  


扩展资料:

执行python时,.py文件中的源代码首先编译成python的字节码,然后由python虚拟机执行编译后的字节码。该机制的基本思想与Java、.NET相一致。

但是,与Python虚拟机和Java或.NET虚拟机不同,Python的虚拟机是一种更高级的虚拟机。

这里的高级不是一般意义上的高级。不是Python的虚拟机比Java或.NET更强大,但是Python的虚拟机比Java或.NET更远离真实的机器。

或者这样说,python的虚拟机是一个更高层次的抽象虚拟机。由基于c的python编译的字节码文件,通常采用.pyc格式。

此外,python还可以在交互模式下运行。例如,主流操作系统unix/linux、mac和windows可以直接以命令模式运行python交互环境。互操作性可以通过直接发出操作命令来实现。

参考资料来源:百度百科-Python

热心网友

在Python中我们并没有声明别的编码方式,就是以ASCII编码作为标准编码方式的为了定义源文件的编码方式,一个魔法是的声明应当被放在这个文件的第一行或者是第二行例如:

#coding=<encoding name>

或者(使用流行编辑器中的格式化方式)

#!/usr/bin/python
# -*- coding: <encoding name> -*-

或者

#!/usr/bin/python
# vim: set fileencoding=<encoding name> :

不管怎么样,这些在第一行或者第二行的声明都要符合正则表达式

[python] view plain copy print?
"coding[:=]\s*([-\w.]+)"

热心网友

我们知道在Python源码的头文件中要声明编码方式,如果你不只是会用到ascii码,很多人都写得都有点差别:
#coding=utf-8
#coding:utf-8
#-*- coding:utf-8 -*-
那么怎样写才是有效地呢,哪些优势无效的呢?
可以查看下http://www.python.org/dev/peps/pep-0263/的解释
粗略的看下:

概要:
这个PEP的目的是介绍在一个Python源文件中如何声明编码的语法。随后Python解释器会在解释文件的时候用到这些编码信息。最显著的是源文件中对Unicode的解释,使得在一个能识别Unicode的编辑器中使用如FUT-8编码成为可能
怎么声明呢?如果在Python中我们并没有声明别的编码方式,就是以ASCII编码作为标准编码方式的
为了定义源文件的编码方式,一个魔法是的声明应当被放在这个文件的第一行或者是第二行例如: #coding=<encoding name>或者(使用流行编辑器中的格式化方式) #!/usr/bin/python
# -*- coding: <encoding name> -*-或者 #!/usr/bin/python
# vim: set fileencoding=<encoding name> :不管怎么样,这些在第一行或者第二行的声明都要符合正则表达式 "coding[:=]\s*([-\w.]+)"所以我们就可以知道为什么使用冒号或者等号都可以了,如果声明的编码python不能识别就会报错
Examples These are some examples to clarify the different styles for
defining the source code encoding at the top of a Python source
file:
1. With interpreter binary and using Emacs style file encoding
comment:
#!/usr/bin/python
# -*- coding: latin-1 -*-
import os, sys
...
#!/usr/bin/python
# -*- coding: iso-8859-15 -*-
import os, sys
...
#!/usr/bin/python
# -*- coding: ascii -*-
import os, sys
...
2. Without interpreter line, using plain text:
# This Python file uses the following encoding: utf-8
import os, sys
...
3. Text editors might have different ways of defining the file's
encoding, e.g.
#!/usr/local/bin/python
# coding: latin-1
import os, sys
...
4. Without encoding comment, Python's parser will assume ASCII
text:
#!/usr/local/bin/python
import os, sys
...
5. Encoding comments which don't work:
Missing "coding:" prefix:
#!/usr/local/bin/python
# latin-1
import os, sys
...
Encoding comment not on line 1 or 2:
#!/usr/local/bin/python
#
# -*- coding: latin-1 -*-
import os, sys
...
Unsupported encoding:
#!/usr/local/bin/python
# -*- coding: utf-42 -*-
import os, sys
...
以上几个例子充分说明了哪些是正确的写法,哪些是正确的写法

热心网友

都可以,没有声明别的编码方式,就是以ASCII编码作为标准编码方式。

为了定义源文件的编码方式,一个声明应当被放在这个文件的第一行或者是第二行例如:

[python] view plain copy

#coding=<encoding name>  

或者(使用流行编辑器中的格式化方式)

[python] view plain copy

#!/usr/bin/python  

# -*- coding: <encoding name> -*-  

或者

[python] view plain copy

#!/usr/bin/python  

# vim: set fileencoding=<encoding name> :  

不管怎么样,这些在第一行或者第二行的声明都要符合正则表达式。

[python] view plain copy

"coding[:=]\s*([-\w.]+)"  

所以我们就可以知道为什么使用冒号或者等号都可以了,如果声明的编码python不能识别就会报错。

扩展资料:

Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。

然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。

这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,而是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。

或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。基于C的Python编译出的字节码文件,通常是.pyc格式。

除此之外,Python还可以以交互模式运行,比如主流操作系统Unix/Linux、Mac、Windows都可以直接在命令模式下直接运行Python交互环境。直接下达操作指令即可实现交互操作。

参考资料来源:百度百科-Python

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com