前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python基础补课一 开头注释

Python基础补课一 开头注释

作者头像
企鹅号小编
发布2018-01-05 15:38:13
1.2K0
发布2018-01-05 15:38:13
举报
文章被收录于专栏:企鹅号快讯

#!/usr/bin/python

or

#!/usr/bin/env python

"#!"符号并不是Python 专属,它实际上是类Unix系统中通用的,并且有一个名字叫做“Shebang”。

它的作用是指定将要执行的脚本的解释器,也就是说它规定了接下来的所有代码要由谁来解释。例如,#!/bin/sh 的意思就是用sh shell来执行这个脚本。假如一个脚本连带它的地址叫做path/to/script,而它的第一行写着#!/bin/sh,那么相当于直接在命令行直接输入/bin/sh path/to/script,path/to/script在这里作为/bin/sh 的第一个参数。

Shebang的格式如下:

#!interpreter [optional-arg]

interpreter 是一个绝对地址,指向一个可执行的程序,optional-arg 是一个可选的参数,就如#!/usr/bin/env python中所示,python在这里是env的参数,env在环境变量中寻找名叫python的程序,然后用它来执行某个第一行写了这段代码的程序。另外,"#!"符号后面也可以加空格,不影响它的功能。

显然,#!/usr/bin/env python的写法要比#!/usr/bin/python更有通用性。

除此之外,单独的"#"符号更一般的功能是把整行代码作为注释。在类Unix 系统中,"#!"是个例外,它不被看做注释,而在Windows 系统中没有Shebang 的概念,就算把#和!写在一起,也是会被看成注释。所以在Windows 系统中这行代码其实是没有用的。

# -*- coding: utf-8 -*-

这是Python特有的表达方式。类似于Shebang,这段代码前面虽然有注释符号"#",但是却有着特定的功能。它的作用是声明所在的Python文件使用哪种编码方式。

默认的编码方是ASCII码

这个声明需要满足如下正则表达式:

^[ \t\v]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)

所以实际上一般见到的那种写法只是为了好看。#coding=utf-8和#encoding:utf-8等等写法也都是可以识别的。

另外,就像"#!"要写在第一行,编码声明也规定要写在第一行(当第一行没有Shebang 时)或第二行。

· 以上规定来自于PEP(Python Enhancement Proposals),PEP 是由Python 社区提议和维护的,可以看作是Python 的编码规范。著名的提案有建议Python编程样式的PEP8。

本文来自企鹅号 - Arkh媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - Arkh媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档