Python
  • 01、基础篇
    • Python基础篇-001. Python简介
    • Python基础篇-002. Hello World
    • Python基础篇-003. 变量类型(一)
    • Python基础篇-004. 常量
    • Python基础篇-005. 运算符
    • Python基础篇-006. 条件语句
    • Python基础篇-007. 循环语句
    • Python基础篇-008. 变量类型(二)
    • Python基础篇-009. 函数(一)
    • Python基础篇-010. 函数(二)
    • Python基础篇-011. 变量作用域
    • Python基础篇-012. 自定义类(一)
    • Python基础篇-013. 自定义类(二)
    • Python基础篇-014. 模块
    • Python基础篇-015. 异常处理
  • 02、进阶篇
    • Python进阶篇-001. 文件IO
    • Python进阶篇-002. main.py
    • Python进阶篇-003. init.py
    • Python进阶篇-004. all
    • Python进阶篇-005. private
    • Python进阶篇-006. lambda表达式
    • Python进阶篇-007. 推导式
    • Python进阶篇-008. 迭代器
    • Python进阶篇-009. 生成器
    • Python进阶篇-010. 多线程
    • Python进阶篇-011. 数据处理基础函数(一)
    • Python进阶篇-012. 数据处理基础函数(二)
    • Python进阶篇-013. 包管理(一)
    • Python进阶篇-014. 包管理(二)
    • Python进阶篇-015. 包管理(三)
    • Python进阶篇-016. 包管理(四)
    • Python进阶篇-017. requirements.txt
    • Python进阶篇-018. venv
    • Python进阶篇-019. 头部注释
    • Python进阶篇-020. 优雅传参
    • Python进阶篇-021. 连接MySQL
  • 03、实践篇
    • Python实践篇-001. GitBook小工具(一)
    • Python实践篇-002. GitBook小工具(二)
Powered by GitBook
On this page
  • 一、创作声明
  • 二、前言
  • 三、# -*- coding: utf-8 -*-
  • 四、#!/usr/bin/env python3
  • 五、写在最后
  1. 02、进阶篇

Python进阶篇-019. 头部注释

[toc]

一、创作声明

进阶篇是对基础篇的补充,这里面更多的是各种常用库、高级语法糖的教程,因此,进阶篇的内容会比较零碎。在创作过程中,同样会借助ChatGPT来辅助。

二、前言

Python常见的头部注释有两个:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

它们分别是什么作用呢?

三、# -*- coding: utf-8 -*-

# -*- coding: utf-8 -*-是用来指定Python源文件的字符编码。

Python源文件中的字符默认使用ASCII编码,如果源文件中包含了非ASCII字符(如中文字符),就需要在文件的开头加上 # -*- coding: utf-8 -*- 来指定使用UTF-8编码(也可以使用其他编码)。

指定字符编码有以下几个作用:

  1. 告诉Python解释器该源文件使用的字符编码,以便正确地解析源文件中的字符。

  2. 可以让源文件中包含非ASCII字符的字符串正确地被处理,例如在字符串比较、字符串连接和字符串长度等操作时正确地计算字符数。

  3. 可以在源文件中使用特定字符编码的注释,提高代码可读性。

需要注意的是,# -*- coding: utf-8 -*-是针对源文件本身的字符编码,不会对文件读写操作或者其他地方用到的编码产生任何影响。

这里单独说一下:

  1. Python3默认是UTF-8编码,而Python2默认是ASCII编码。也就是说,不加这个,Python3执行也没啥问题,但是Python2会有问题。

  2. 这玩意儿是针对源文件的,也就是说,源文件中但凡出现中文,最好还是加上这个。

四、#!/usr/bin/env python3

#!/usr/bin/env python3的作用是指定脚本使用Python 3解释器来运行。

当直接通过命令行运行python name.py时,操作系统会默认使用系统中配置的默认Python解释器来执行脚本。此时,脚本开头的#!/usr/bin/env python3指定解释器的语句不会起作用。

#!/usr/bin/env python3只在直接执行脚本文件时生效,例如通过./name.py执行。在该情况下,操作系统会读取脚本文件开头的指定解释器的语句,并以指定的解释器来运行脚本。

五、写在最后

更多技术分享,点击传送门:https://github.com/maxiaolu66/profile

PreviousPython进阶篇-018. venvNextPython进阶篇-020. 优雅传参

Last updated 1 year ago