[oeasy]python0048_注释_comment_设置默认编码格式
注释Comment
回忆上次内容
- 使用了版本控制 git
- 制作备份
- 进行回滚
- 尝试了 嵌套的控制结构
- 层层 控制
- 不过
- 除非 到不得以
- 尽量不要 太多层次的嵌套
- 这样
- 从顶到底
- 含义 明确
- 而且 还扁平
- 扁平 也能
- 含义明确
- 还可以 做点什么?
- 让程序含义 更加明确呢?🤔
注释
- 其实我们见过注释

#号开头的 注释- 颜色 和其他语句 不一样
- 不会 被python3解释执行
- 凡是 #开头的行
- 都是
- 注释语句
- 不会 被执行
- 都是
- 除了
- 行首 注释之外
- 行中 是否可以有注释呢?
行中注释
- 试试

#号后面的变颜色的部分- 就是注释了
- 如果注释在字符串里面呢?
尝试一下
print("hi # there")
- 在字符串中的 #(Pound,井号)
- 可以试试
- 结论是
#号是字符串中的字符- 不会被当做注释
- 为什么
井号代表注释呢?
井号
- 历史悠久
- 从纯数字键盘时代
- 就开始使用
井号键了
- 就开始使用
- 从纯数字键盘时代

- 这个井号是从什么时候有的呢?
质量单位
- 来自罗马的质量计量单位
- libra pondo
- 缩写形式 为了区别于 1p
- 写作 ℔
- 读作 pound weight
- 缩写形式 为了区别于 1p
- 后来演化成了 // 和 = 的组合
- `#``
- libra pondo

#在文本中被标记为 数字符号- 比如说 1#302中
#是数字标记
- 比如说 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
- 交叉排线
- 来自于 hatch

- 程序员
- 沿用了这个读法
#!- “hash, bang”
- “shebang”
- 网络时代
#又有了新的含义
HashTag
- 可以挂接的主题词
- hashtag

- 注释还有什么用处呢?
判别编码格式
- 编写的py文件 都是二进制的文件
- 如果 不进行编码格式说明的话
- 怎么知道 应该用什么 编码格式打开 呢?
- test.py 应该
- 用gb2312打开
- 还是utf-8的方式打开?
- 这是一个很现实的问题!
- 这个问题在 pep263 中的有描述
- https://www.python.org/dev/peps/pep-0263/
具体描述
- 这三种都是可以接受的解码方式定义
# 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
- 打开与保存的编码格式是
- 不但 规定了 python3 解释 运行源文件的编码格式 是
- 如果我定义一个
- python解释器都不认识的编码格式
- 会如何?
oeasy-8


- 解释器感到很困惑
- 哈哈哈
- 虽然注释不用被执行
- 但是作用很大啊!
- 除此之外注释还可以怎样用么呢?
搜索注释


- 原来 用#时
- 都是单行注释
- 现在 有
- 多行注释
多行注释
- 用三个引号
- 就可以 做多行注释
- 单双引号都可以

- 三引号里面的东西
- 就是注释
- 注释中 说明了
- 上面输入的 是苹果数量
- 下面 是香蕉数量
- 虽然注释 内容很长
- 但是 不会影响程序的 运行速度
- 只是增加
可读性而已
总结
-
这次了解了注释
- 写注释 是为了让程序更可读
- 注释
不会 影响程序运行速度
-
注释分为两种
- 单行的
- 以
#开头 - 不能是 字符串当中的
#
- 以
- 多行的
- 三个
" - 三个
'
- 三个
- 单行的
-
多行注释
- 还有什么 特殊功能 么?🤔
-
下次再说!👋
-
蓝桥->https://www.lanqiao.cn/courses/3584
-
github->https://github.com/overmind1980/oeasy-python-tutorial
-
gitee->https://gitee.com/overmind1980/oeasypython
相关文章:
[oeasy]python0048_注释_comment_设置默认编码格式
注释Comment 回忆上次内容 使用了版本控制 git 制作备份进行回滚 尝试了 嵌套的控制结构 层层 控制 不过 除非 到不得以尽量不要 太多层次的嵌套 这样 从顶到底含义 明确而且 还扁平 扁平 也能 含义明确 还可以 做点什么? 让程序含义 更加明确呢?&…...
C++中的queue与priority_queue
文章目录 queuequeue的介绍queue的使用 priority_queuepriority_queue介绍priority_queue使用 queue queue的介绍 队列是一种容器适配器,专门用于上下文先进先出的操作中。队列的特性是先进先出,从容器的一端插入,另一端提取元素。 队列…...
电脑发挥极致,畅游永恒之塔sf
随着22寸显示器的普及,玩永恒之塔势必会对显示卡造成了很大负担。不要说效果全开,就连简洁的玩,都成了问题,那是不是就要重金把才买的显示卡又要拿掉呢? 最出众的解决办法,是超频。 主要就具有以下条件最佳…...
ChatGPT :十几个国内免费可用 ChatGPT 网页版
前言 ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI 研发的聊天机器人程序 ,于2022年11月30日发布 。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言…...
5 分钟教你如何免费用上 GPT-4
今天要分享的就是普通用户,没有 OpenAI 账号,不需要写代码,你依然可以免费体验 GPT-4,当然,会有一些缺点,本篇文章将会手把手教你怎么用上免费版的 GPT-4 以及它的一些限制。 第一步:打开 Stea…...
安卓手机搭建智能语音客服/通话播音/聊天播音乐技术实现
声明,此项技术需要root支持,如果因为刷机导致手机变砖或其他不可预料的后果请自行解决。 场景 我有一个朋友他是做业务的,主要还是做电销,其实电销相对于以前纪念没那么好做了(我自己觉得主要是互联网冲击,…...
【学习笔记】PKUSC2023 不知道咋记
挺快乐的。到 P K U PKU PKU感受了一下北大校园,其实并没有想像中那么令人惊艳,但是看到了许多亲切的学长以及他们的热心陪伴(虽然有的我甚至不认识),感觉心里还是挺暖的。 如果不算上 D 2 T 1 D2T1 D2T1被平衡树板子…...
Packet Tracer - 配置基于区域的策略防火墙 (ZPF)
Packet Tracer - 配置基于区域的策略防火墙 (ZPF) 拓扑图 地址分配表 设备 接口 IP 地址 子网掩码 默认网关 交换机端口 R1 G0/1 192.168.1.1 255.255.255.0 不适用 S1 F0/5 S0/0/0 (DCE) 10.1.1.1 255.255.255.252 不适用 不适用 R2 S0/0/0 10.1.1.2 255…...
全方位揭秘!大数据从0到1的完美落地之运行流程和分片机制
一个完整的MapReduce程序在分布式运行时有三类实例进程: MRAppMaster: 负责整个程序的过程调度及状态协调MapTask: 负责Map阶段的整个数据处理流程ReduceTask: 负责Reduce阶段的整个数据处理流程 当一个作业提交后(mr程序启动),大概流程如下࿱…...
后端程序员的前端必备【Vue】 - 07 ES6新语法
ES6新语法 1 let定义变量2 const定义常量3 模板字符串4 方法默认值5 箭头函数6 解构6.1 对象解构6.2 数组解构6.2 使用解构实现变量交换 7 Spread Operator8 模块化编程 1 let定义变量 使用let定义变量能更加精准的确定变量的作用域 //for(var i 0 ; i < 10 ; i){} for(let…...
AI落地:程序员如何用AI?
对于程序员来说,真正能提高效率、可落地的AI应用场景都有哪些? 目前已经能切实落地,融入我日常工作生活的有以下几个场景: 开发工作:自然语言生成代码,自动补全代码 日常工作学习:写作、翻译、…...
掌握优化+创新模式,轻松提升APP广告eCPM
无论是市场占有率高的综合性应用程序(App),还是透过特定目的所设计的专业化应用程序(App),内部嵌入广告已成为其主要的盈利方式。 而优化和创新作为提升广告收益的两大关键词。通过不断的数据分析和优化,结合对用户需求的深刻理解去优化和…...
在docker上安装运行Python文件
目录 一、在docker中安装python 1.1 输入镜像拉取命令 1.2 查看镜像 1.3 运行 1.4 查看是否成功 1.5 查看python版本 二、运行py文件 2.1准备运行所需文件 2.2 准备文件夹 2.3 大概是这幅模样 2.4 打包上传到服务器上 2.5 构建镜像示例 2.6 查看镜像 2.7 优化镜像的…...
RocketMQ第三节(生产者和消费者)
目录 1:生产者(同步、异步、单向) 1.1:同步发送消息(每发送一条等待mq返回值) 1.2:异步发送消息 1.3:单向发送消息(不管成功失败,只管发送消息)…...
人大金仓亮相国际金融展,打造“金融+产业+生态”创新模式
4月27日,以“荟萃金融科技成果,展现数字金融力量,谱写金融服务中国式现代化新篇章”为主题的2023中国国际金融展圆满落幕。作为已经举办30年的行业盛会,人大金仓再一次重磅亮相,全方位展示国产数据库前沿应用和创新服务…...
Syslog-ng RHEL 的安装和配置
syslog-ng 作为 syslog 的替代工具,可以完全替代 syslog 的服务,并且通过定义规则,实现更好的过滤功能。 作为运维来说一个好的日志工具比什么都重要。 通常我们会管理不同的服务器,因此我们需要把日志集中一下以便于快速查找。…...
得物直播低延迟探索 | 得物技术
1.背景 直播的时效性保证了良好的用户体验,根据经验在交易环节,延迟越低转化效果也会越好。传统的直播延迟问题已经成为了一个不容忽视的问题,高延迟不仅破坏了用户的观看体验,也让主播难以实时获取到用户的反馈。为了进一步优化…...
【CVPR红外小目标检测】红外小目标检测中的非对称上下文调制(ACM)
论文题目: Asymmetric Contextual Modulation for Infrared Small Target Detection 红外小目标检测中的非对称上下文调制 红外小目标数据集 目标个数分布:约90%图片中只有一个目标,约10%图片有多个目标(在稀疏/显著的方法中&am…...
Axios概述
一、Json-server 获得零编码的完整伪造 REST API zero coding 在不到 30 秒的时间内 (认真)。 使用 <3 创建,适用于需要快速后端进行原型设计和模拟的前端开发人员,模拟后端发送过来json数据。 1.安装 npm install -g jso…...
用右雅克比对旋转矩阵进行求导
考虑一个向量 a \bold{a} a对其进行旋转, 旋转用旋转矩阵 R \bold{R} R表示, 用朴素的倒数定义进行求导而不是用扰动模型, 我得到了这个过程与结果 和高博的新书结果 − R J r a ∧ -\bold{R}\bold{J}_{r}\bold{a}^{\wedge} −RJra∧结果不一样, 雅克比矩阵位置不同, 是不是…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
前端中slice和splic的区别
1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...
AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)
Name:3ddown Serial:FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名:Axure 序列号:8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...
