[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∧结果不一样, 雅克比矩阵位置不同, 是不是…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...

简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

Spring AOP代理对象生成原理
代理对象生成的关键类是【AnnotationAwareAspectJAutoProxyCreator】,这个类继承了【BeanPostProcessor】是一个后置处理器 在bean对象生命周期中初始化时执行【org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization】方法时…...

对象回调初步研究
_OBJECT_TYPE结构分析 在介绍什么是对象回调前,首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例,用_OBJECT_TYPE这个结构来解析它,0x80处就是今天要介绍的回调链表,但是先不着急,先把目光…...
ThreadLocal 源码
ThreadLocal 源码 此类提供线程局部变量。这些变量不同于它们的普通对应物,因为每个访问一个线程局部变量的线程(通过其 get 或 set 方法)都有自己独立初始化的变量副本。ThreadLocal 实例通常是类中的私有静态字段,这些类希望将…...
js 设置3秒后执行
如何在JavaScript中延迟3秒执行操作 在JavaScript中,要设置一个操作在指定延迟后(例如3秒)执行,可以使用 setTimeout 函数。setTimeout 是JavaScript的核心计时器方法,它接受两个参数: 要执行的函数&…...

【Linux】使用1Panel 面板让服务器定时自动执行任务
服务器就是一台24小时开机的主机,相比自己家中不定时开关机的主机更适合完成定时任务,例如下载资源、备份上传,或者登录某个网站执行一些操作,只需要编写 脚本,然后让服务器定时来执行这个脚本就可以。 有很多方法实现…...