[oeasy]python0048_注释_comment_设置默认编码格式
注释Comment 回忆上次内容
  • 使用了版本控制 git
  • 制作备份
  • 进行回滚
 
  • 尝试了 嵌套的控制结构
  • 层层 控制
 
  • 不过
  • 除非 到不得以
  • 尽量不要 太多层次的嵌套
 
  • 这样
  • 从顶到底
  • 含义 明确
  • 而且 还扁平
 
  • 扁平 也能
  • 含义明确
 
  • 还可以 做点什么?
  • 让程序含义 更加明确呢?🤔
 
注释
  • 其实我们见过注释
 
添加图片注释,不超过 140 字(可选)
 
  • #号开头的 注释
  • 颜色 和其他语句 不一样
  • 不会 被python3解释执行
 
  • 凡是 #开头的行
  • 都是
  • 注释语句
 
  • 不会 被执行
 
  • 除了
  • 行首 注释之外
  • 行中 是否可以有注释呢?
 
行中注释
  • 试试
 
添加图片注释,不超过 140 字(可选)
 
  • #号 后面的变颜色的部分
  • 就是注释了
 
  • 如果注释在字符串里面呢?
尝试一下 print("hi # there")
  • 在字符串中的 #(Pound,井号)
  • 可以试试
 
  • 结论是
  • #号 是字符串中的字符
  • 不会被当做注释
 
  • 为什么 井号 代表注释呢?
井号
  • 历史悠久
  • 从纯数字键盘时代
  • 就开始使用井号键了
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 这个井号是从什么时候有的呢?
质量单位
  • 来自罗马的质量计量单位
  • libra pondo
  • 缩写形式 为了区别于 1p
  • 写作 ℔
 
  • 读作 pound weight
 
  • 后来演化成了 // 和 = 的组合
  • #`
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • # 在文本中被标记为 数字符号
  • 比如说 1#302中
  • #是数字标记
 
 
打字机时代
  • # 被 1893年的 Blickensderfer 5 留存下来
  • 并且明确作为数字标记使用
 
 
添加图片注释,不超过 140 字(可选)
 
  • 后来#号 顺利进入ascii字符集
unicode
  • #的 各个含义
  • 也有了独立的字符
 
 
添加图片注释,不超过 140 字(可选)
 
  • 各个独立字符
  • 2114 ℔ l b bar symbol
  • 2116 № numero sign
  • 2317 ⌗ viewdata square
  • 266F ♯ music sharp sign
  • 29E3 ⧣ equals sign and slanted parallel
 
  • 不过程序员对于#有独立的叫法
hash
  • 英国 管# 叫做 'hash'
  • 来自于 hatch
  • 来自于 cross-hatching
  • 交叉排线
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 程序员
  • 沿用了这个读法
 
  • #!
  • "hash, bang"
  • "shebang"
 
  • 网络时代
  • #又有了新的含义
 
HashTag
  • 可以挂接的主题词
  • hashtag
 
 
添加图片注释,不超过 140 字(可选)
 
  • 注释还有什么用处呢?
判别编码格式
  • 编写的py文件 都是二进制的文件
  • 如果 不进行编码格式说明的话
  • 怎么知道 应该用什么 编码格式打开 呢?
 
  • test.py 应该
  • 用gb2312打开
  • 还是utf-8的方式打开?
  • 这是一个很现实的问题!
 
 
具体描述
  • 这三种都是可以接受的解码方式定义
  • # encoding= utf-8
  • 直接给的等号赋值
 
  • # -*- coding: utf-8 -*-
  • emcas也能识别的
 
  • #vim:set fileencoding = utf-8
 
 
添加图片注释,不超过 140 字(可选)
 
  • 第四种是关于解码方式的正则表达式
  • ^[ \t\f]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)
  • https://regexper.com/?#%5E%5B%20%5Ct%5Cf%5D%23.coding%5B%3A%3D%5D%5B%20%5Ct%5D*%28%5B-_.a-zA-Z0-9%5D%2B%29
  • 上面三种写法都可以匹配这个正则表达式
 
  • 这正则表达式应该如何理解?
正则表达
 
添加图片注释,不超过 140 字(可选)
 
  • 注意下图中的第二行
 
添加图片注释,不超过 140 字(可选)
 
  • ^[ \t\f]*#.*coding[:=][ \t]*[-_.a-zA-Z0-9]\+
  • 可以匹配到第二行
  • ^ 行开头
  • [ \t\f]* 前面可以有空格、tab或者换页符若干个
  • # 有个# 在python语言中可以理解为本行为注释行
  • .*? 后面接着任意长度的任意字符
  • coding[:=] 存在code: 或者 code=
  • [ \t]* 有0到任意多个空格或tab
  • [-_.a-zA-Z0-9]\+ 由中划线、下划线、点、大写小写数字若干组成的标识符
 
  • ^[\t\v]_#._?coding[:=][\t]\*([-_.a-zA-Z0-9]+)
  • ([-_.a-zA-Z0-9]+)
  • 小括号中 匹配到的
  • 就是编码格式的名称
  • 比如utf-8
 
 
  • 而且这种写法同时
  • 也设置了vim的打开方式
 
编码方式
  • encoding 经典定义
#!/usr/bin/python3 #vim: set fileencoding=utf-8
  • 第一句
  • 是告诉 shell 的
  • 用哪个二进制文件 打开这个当前文件
 
  • 第二句
  • 不但 规定了 python3 解释 运行源文件的编码格式 是utf-8
  • 而且 还设置了 vim 的对于此文件
  • 打开与保存的编码格式是utf-8
 
 
  • 如果我定义一个
  • python解释器都不认识的编码格式
  • 会如何?
 
oeasy-8
 
添加图片注释,不超过 140 字(可选)
 
 
添加图片注释,不超过 140 字(可选)
 
  • 解释器感到很困惑
  • 哈哈哈
 
  • 虽然注释不用被执行
  • 但是作用很大啊!
  • 除此之外注释还可以怎样用么呢?
 
搜索注释
 
添加图片注释,不超过 140 字(可选)
 
 
添加图片注释,不超过 140 字(可选)
 
  • 原来 用#时
  • 都是单行注释
 
  • 现在 有
  • 多行注释
 
多行注释
  • 用三个引号
  • 就可以 做多行注释
  • 单双引号都可以
 
 
添加图片注释,不超过 140 字(可选)
 
  • 三引号里面的东西
  • 就是注释
 
  • 注释中 说明了
  • 上面输入的 是苹果数量
  • 下面 是香蕉数量
 
  • 虽然注释 内容很长
  • 但是 不会影响程序的 运行速度
  • 只是增加 可读性而已
总结
  • 这次了解了注释
  • 写注释 是为了让程序更可读
  • 注释 会 影响程序运行速度
 
  • 注释分为两种
  • 单行的
  • #开头
  • 不能是 字符串当中的#
 
  • 多行的
  • 三个"
  • 三个'
 
 
  • 多行注释
  • 还有什么 特殊功能 么?🤔
 


posted on 2023-05-04 20:57  overmind1980  阅读(11)  评论(0编辑  收藏  举报