注释Comment 回忆上次内容
-
使用了版本控制 git
-
制作备份
-
进行回滚
-
尝试了 嵌套的控制结构
-
层层 控制
-
不过
-
除非 到不得以
-
尽量不要 太多层次的嵌套
-
这样
-
从顶到底
-
含义 明确
-
而且 还扁平
-
扁平 也能
-
含义明确
-
还可以 做点什么?
-
让程序含义 更加明确呢?🤔
注释
-
其实我们见过注释
-
#号开头的 注释
-
颜色 和其他语句 不一样
-
不会 被python3解释执行
-
凡是 #开头的行
-
都是
-
注释语句
-
不会 被执行
-
除了
-
行首 注释之外
-
行中 是否可以有注释呢?
行中注释
-
试试
-
#号 后面的变颜色的部分
-
就是注释了
-
如果注释在字符串里面呢?
尝试一下 print("hi # there")
-
在字符串中的 #(Pound,井号)
-
可以试试
-
结论是
-
#号 是字符串中的字符
-
不会被当做注释
-
为什么 井号 代表注释呢?
井号
-
历史悠久
-
从纯数字键盘时代
-
就开始使用井号键了
-
这个井号是从什么时候有的呢?
质量单位
-
来自罗马的质量计量单位
-
libra pondo
-
缩写形式 为了区别于 1p
-
写作 ℔
-
读作 pound weight
-
后来演化成了 // 和 = 的组合
-
#`
-
# 在文本中被标记为 数字符号
-
比如说 1#302中
-
#是数字标记
打字机时代
-
# 被 1893年的 Blickensderfer 5 留存下来
-
并且明确作为数字标记使用
-
后来#号 顺利进入ascii字符集
unicode
-
#的 各个含义
-
也有了独立的字符
-
各个独立字符
-
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
-
交叉排线
-
程序员
-
沿用了这个读法
-
#!
-
"hash, bang"
-
"shebang"
-
网络时代
-
#又有了新的含义
HashTag
-
可以挂接的主题词
-
hashtag
-
注释还有什么用处呢?
判别编码格式
-
编写的py文件 都是二进制的文件
-
如果 不进行编码格式说明的话
-
怎么知道 应该用什么 编码格式打开 呢?
-
test.py 应该
-
用gb2312打开
-
还是utf-8的方式打开?
-
这是一个很现实的问题!
-
这个问题在 pep263 中的有描述
具体描述
-
这三种都是可以接受的解码方式定义
-
# encoding= utf-8
-
直接给的等号赋值
-
# -*- coding: utf-8 -*-
-
emcas也能识别的
-
#vim:set fileencoding = utf-8
-
第四种是关于解码方式的正则表达式
-
^[ \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
-
上面三种写法都可以匹配这个正则表达式
-
这正则表达式应该如何理解?
正则表达
-
注意下图中的第二行
-
^[ \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
-
解释器感到很困惑
-
哈哈哈
-
虽然注释不用被执行
-
但是作用很大啊!
-
除此之外注释还可以怎样用么呢?
搜索注释
-
原来 用#时
-
都是单行注释
-
现在 有
-
多行注释
多行注释
-
用三个引号
-
就可以 做多行注释
-
单双引号都可以
-
三引号里面的东西
-
就是注释
-
注释中 说明了
-
上面输入的 是苹果数量
-
下面 是香蕉数量
-
虽然注释 内容很长
-
但是 不会影响程序的 运行速度
-
只是增加 可读性而已
总结
-
这次了解了注释
-
写注释 是为了让程序更可读
-
注释 不会 影响程序运行速度
-
注释分为两种
-
单行的
-
以#开头
-
不能是 字符串当中的#
-
多行的
-
三个"
-
三个'
-
多行注释
-
还有什么 特殊功能 么?🤔
-
下次再说!👋