Python基本编码格式

Python011

Python基本编码格式,第1张

1、一般来说,声明编码格式在脚本中是必需的。2、如果Python源码文件没有声明编码格式,Python解释器会默认使用ASCII编码。但出现非ASCII编码的字符,Python解释器就会报错。

1、Python 采用代码缩进和冒号( : )来区分代码块之间的层次。2、在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。3、Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格)。4、对于 Python 缩进规则,初学者可以这样理解,Python 要求属于同一作用域中的各行代码,它们的缩进量必须一致,但具体缩进量为多少,并不做硬性规定。

正确示例代码:

错误示例代码:

Python中使用 # 进行注释,我们在使用# 的时候,# 号后面要空一格在行内注释的时候,中间应该至少加两个空格

print("你好,世界") # 注释

** 使用的一般性原则:**

1、在二元运算符两边各空一格,算术操作符两边的空格可灵活使用,但两侧务必要保持一致2、不要在逗号、分号、冒号前面加空格,但应该在它们后面加(除非在行尾)3、函数的参数列表中,逗号之后要有空格4、函数的参数列表中,默认值等号两边不要添加空格5、左括号之后,右括号之前不要加添加空格6、参数列表, 索引或切片的左括号前不应加空格

使用的一般性原则:

1、编码格式声明、模块导入、常量和全局变量声明、顶级定义和执行代码之间空两行2、顶级定义之间空两行,方法定义之间空一行3、在函数或方法内部,可以在必要的地方空一行以增强节奏感,但应避免连续空行

1、导入总应该放在文件顶部,位于模块注释和文档字符串之后,模块全局变量和常量之前。

2、导入应该按照从最通用到最不通用的顺序分组,分组之间空一行:

3、每个 import 语句只导入一个模块,尽量避免一次导入多个模块

命名规范这一块的大家应该都比较熟悉了,但是不同的编程语言之间的明明规范也是有所区别的~

Python命名建议遵循的一般性原则:

引号使用的一般性原则:

Python跟其他几个主流编程语言的分号使用区别很大Python的代码末尾不需要加分号,而Java和C#等都需要添加

不要在行尾添加分号,也不要用分号将两条命令放在同一行,例如:

Python学习日记

概述

在python代码即.py文件的头部声明即可

解析

py文件中的编码

Python 默认脚本文件都是 ANSCII 编码的,当文件 中有非 ANSCII 编码范围内的字符的时候就要使用"编码指示"来修正一个 module 的定义中,如果.py文件中包含中文字符(严格的说是含有非anscii字符),则需要在第一行或第二行指定编码声明:

# -*- coding=utf-8 -*-

#coding=utf-8

# 以上两种选其一即可

其他的编码如:gbk、gb2312也可以;否则会出现:

SyntaxError: Non-ASCII character '\xe4' in file test.py on line 3, but no encoding declaredsee http://www.python.org/peps/pep-0263.html for details

python中的编码与解码

先说一下python中的字符串类型,在python中有两种字符串类型,分别是 str 和 unicode,他们都是basestring的派生类;

str类型是一个包含Characters represent (at least) 8-bit bytes的序列;

unicode 的每个 unit 是一个 unicode obj

在str的文档中有这样的一句话:

The string data type is also used to represent arrays of bytes, e.g., to hold data read from a file.

也就是说在读取一个文件的内容,或者从网络上读取到内容时,保持的对象为str类型;如果想把一个str转换成特定编码类型,需要把str转为Unicode,然后从unicode转为特定的编码类型如:utf-8、gb2312等。

拓展内容

utf-8编码

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,也是一种前缀码。它可以用来表示Unicode标准中的任何字符,且其编码中的第一个字节仍与ASCII兼容,这使得原来处理ASCII字符的软件无须或只须做少部分修改,即可继续使用。因此,它逐渐成为电子邮件、网页及其他存储或发送文字的应用中,优先采用的编码。

UTF-8使用一至六个字节为每个字符编码(尽管如此,2003年11月UTF-8被RFC 3629重新规范,只能使用原来Unicode定义的区域,U+0000到U+10FFFF,也就是说最多四个字节):

1、128个US-ASCII字符只需一个字节编码(Unicode范围由U+0000至U+007F)。

2、带有附加符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文、阿拉伯文、叙利亚文及它拿字母则需要两个字节编码(Unicode范围由U+0080至U+07FF)。

3、其他基本多文种平面(BMP)中的字符(这包含了大部分常用字,如大部分的汉字)使用三个字节编码(Unicode范围由U+0800至U+FFFF)。

4、其他极少使用的Unicode 辅助平面的字符使用四至六字节编码(Unicode范围由U+10000至U+1FFFFF使用四字节,Unicode范围由U+200000至U+3FFFFFF使用五字节,Unicode范围由U+4000000至U+7FFFFFFF使用六字节)。

对上述提及的第四种字符而言,UTF-8使用四至六个字节来编码似乎太耗费资源了。但UTF-8对所有常用的字符都可以用三个字节表示,而且它的另一种选择,UTF-16编码,对前述的第四种字符同样需要四个字节来编码,所以要决定UTF-8或UTF-16哪种编码比较有效率,还要视所使用的字符的分布范围而定。不过,如果使用一些传统的压缩系统,比如DEFLATE,则这些不同编码系统间的的差异就变得微不足道了。若顾及传统压缩算法在压缩较短文字上的效果不大,可以考虑使用Unicode标准压缩格式(SCSU)。

互联网工程工作小组(IETF)要求所有互联网协议都必须支持UTF-8编码。互联网邮件联盟(IMC)建议所有电子邮件软件都支持UTF-8编码。

python的默认的编码是ascii: 指的是你写代码默认是编码是ascii 编码的, 当然你也可以改成你想要的编码,比如在开头写个注释就用utf8编码 # -*-coding:UTF-8-*-

字符串在Python内部的表示是unicode编码: 这个是python 3 以后才是这样的吧, 中文可以直接在字符串里用了,而python<3的版本得这么用 u'中文' 表示unicode编码