括号负八逗号负一括号加中括号和小括号的混合运算五逗号二中括号和小括号的混合运算等于多少?

2023-09-20
3版权版权声明:
本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《
阿里云开发者社区用户服务协议》和
《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写
侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
简介:
优雅的代码--PEP8规范+关注继续查看每日分享Progress is impossible without change, and those who cannot change their minds cannot change anything.没有改变就不可能取得进步,那些不愿改变想法的人无法改变任何事。小闫语录:想要改变,首先是改变想法,否则只能重蹈覆辙。PEP8规范当入职一家公司,看到了一份乱糟糟的源码,你是不是心里奔腾着无数的草泥马?当你离职,留给后人的代码又如何呢?与人方便与己方便,规范代码,从我做起。为了让我们的代码提高可读性,便于后期维护,官方提供了一种规范,这就是PEP8。那么具体的内容是什么呢?下面一起来看看吧。1.缩进1.对于每一级缩进,采用四个空格(有的公司使用3个空格,视情况而定,但是官方推荐为4个)。如下:def func():
print("I'm EthanYan")print前面有4个空格。也许你因为使用一些工具,习惯了Tab键。但是有一点你要明白,有些地方tab键不是4个空格,而且python3中不允许混合使用空格和Tab键缩进。2.括号里面包裹的参数过多时,可以通过换行缩进来表示,如下:demo = func_name(var_one,
var_two,
var_three)当然,下面的示例也是符合规范的:my_list = [
1,2,3,
4,5,6
]2.行最大长度为了查看代码时,不需要来回的拉取滚动条,影响体验,所有行限制的最大字符数为79。对于文档字符串或者注释则应控制在72个字符内。对于较长的代码优先使用的续行方式并不是通过反斜杠,而是通过小括号,中括号以及大括号中的隐式续行方式实现。3.二元运算符在使用一些二元运算符时,如果变量名超长,需要换行,怎么办?答案是在运算符之前换行。# 推荐:运算符和操作数很容易进行匹配
income = (gross_wages
+ taxable_interest
+ (dividends - qualified_dividends)
- ira_deduction
- student_loan_interest)但是为了便于查看,尽量写在一行。4.空行1.顶层函数和类定义时,前后用两个空行隔开。2.类里面的方法定义用一个空行隔开。3.对于函数中不同的逻辑块可以用空行隔开。5.源代码1.Python核心发布版本中的代码总是以UTF-8格式编码(或者在Python2中用ASCII编码)。2.使用ASCII(在Python2中)或UTF-8(在Python3中)编码的文件不应具有编码声明。3.在标准库中,如果需要使用非默认的编码,应该将他们放在注释或者文档字符串中。比如作者的姓名。6.导入1.我们在导入模块的时候,最好是放在顶部,而且还应该遵循一定的规律:先导入标准库,再导入相关第三方库,最后导入本地模块应用之类的。每一组导入之间,加上空行就最好不过了。2.当然有时为了避免出现循环导入的问题,我们需要在特殊的地方导入,这也无可厚非。3.导包的时候还要注意使用绝对路径导入,增加可读性,提高代码性能。但是凡事有例外,比如你的绝对路径那么长,好吧,我比划了一下,你没有看见,不怪我。这时你可以采用相对路径:from . import ethanyan4.避免使用通配符的导入,这样会增加命名空间中名字的重复率。如下的方式,不推荐使用:from ethanyan import *7.引号单引号和双引号是相同的,根据你自己的喜好使用。但是为了避免出错,尽量使用单双引号包裹的形式;而不是单引号里面继续使用单引号,再用反斜杠进行转义。8.表达式中的空格问题1.对于小括号、中括号和大括号的使用,表达式紧跟括号,不要添加空格。yes: func(1, 2)no : func( 1, 2)2.逗号、封号、冒号等紧跟前面字符:yes: x, y, zno : x , y , z3.冒号再切片中,就像二元运算符一样,两边应该用相同数量的空格:example[1 : 9]9.注释有一句话是这样说的:与代码相矛盾的注释比没有注释还糟糕。所以请不要乱添加注释,而且在修改完代码之后,请更新你的注释,不要给后人留下一个烂摊子。紧跟代码的注释,应有至少两个空格的分割,如下:x = x + 1
# 这是测试数据10.命名规范1.命名与python中标识符的命名规则一样,由字母数字下划线组成,且数字不能开头。2.当然还有一些特殊的规则,比如大驼峰和小驼峰命名形式。3.如果以单下划线开头命名,那么在 frommimport*的时候是不会导入的。4.有时候你会看到一些以单下划线结尾的名字,不要奇怪。这是为了和python内部关键词不冲突的一种约定。5.命名的时候不要使用魔方方法的形式如 __ni__。6.避免混淆,不要使用有歧义的字符。如 l(小写的L)和 1多像,还有 O(英文字母)和 0(数字)多像,对吧?你也不想认错。7.类名首字母请大写。8.异常命名的时候最后以 Error结尾,让人一下子辨别出来。9.命名要做到见名知义。10.函数名要小写。11.一些常量名要全部使用大写。比如在项目中的一些常量放在一个单独的文件中,他们的名字应该如下:MAX_OVERFLOW。11.其他的建议1.避免在尾部添加空格。因为尾部的空格通常都看不见,会产生混乱。比如,一个反斜杠后面跟一个空格的换行符,不算续行标记。有些编辑器不会保留尾空格,并且很多项目(像 CPython)在pre-commit钩子调用中会过滤掉尾空格。2.前面也有所提到,就是在二元运算符两边都加一个空格。那么有哪些符号呢?赋值:= 、+= 、-=比较:== 、< 、> 、!= 、<> 、<= 、>= 、in 、not in 、is 、is not布尔:and 、or 、not3.在使用运算符的时候,有一个优先级的问题,我们需要在较低优先级的运算符两边添加空格(别指望提示,需要你自己判断)。空格最好是用一个,而且前后数量相等。如下:x = x*2 - 14.指定关键字参数或者默认参数值的时候,不要在 =附近添加空格。当然,规范中还有很多很多条目,这里只列出那些常用的、需要指出的部分。公司一般有自己的规范,严格按照文档进行编码即可。当然一些创业公司可能没有,建议你使用本规范,养成良好的编码习惯,工作中,看着也开心。最后祝愿大家代码无bug。文章标签:Python
相关文章码农小凡
1天前
Java
数据库连接
数据库
Spring 应用如何访问数据库,看这一篇就够了!
当我们开发应用时,访问数据库是一种常见的需求。 基本上所有需要持久化的数据,一般都存储在数据库中,例如常用的开源数据库 MySQL。 在今天的文章中,我将盘点一下 Java 应用访问数据的几种方式。指剑
3天前
人工智能
自然语言处理
数据安全/隐私保护
模型争霸,花落谁家
AI热潮席卷全球,语言大模型(LLM)主导的生成式AI(GenAI)必将成为未来几年最为重要的生产工具之一,各大科研机构、企业、开源团队纷纷推出各自的语言大模型,其中有通用语言大模型,也有专注于某些领域的语言大模型,因其侧重点不一,其使用效果也是不一样的,那么笔者将通过本篇文章带您体验由阿里云魔搭社区联合港中文大学(深圳)共同推出的中文竞技场大模型测评,通过6个不同领域来测试不同模型在不同领域的效果吧~~~
ChatGPT都推荐的向量数据库,不仅仅是向量索引
本文带大家一起了解阿里云 AnalyticDB 技术负责人姚奕玮在 QCon 全球软件开发大会(北京站)2023 上的精彩演讲,解密 AnalyticDB 全自研企业级向量数据库核心技术,以及新一代向量数据库在云原生存算分离和 AI 原生上的技术演进路线。不焦躁的程序员
4天前
负载均衡
应用服务中间件
nginx
5分钟搞懂Ingress / IngressController / IngressClass的区别
先来个一句话总结:Ingress由Ingress规则、IngressController、IngressClass这3部分组成。Ingress资源只是一系列路由转发配置,必须使用IngressController才能让路由规则生效,而IngressClass是IngressController的具体实现。使用原则:先部署IngressController → 再部署Ingress资源。
德哥
5天前
人工智能
关系型数据库
分布式数据库
沉浸式学习PostgreSQL|PolarDB 16: 植入通义千问大模型+文本向量化模型, 让数据库具备AI能力
开源大模型非常多, 但都需要大算力才能高效发挥大模型能力, 训练专业大模型. 普通企业很难构建及训练大模型.
为让大模型普惠企业及大众需求, 阿里云推出DashScope灵积:模型集市, 每个模型独有特点, 每一种模型都提供API接口, 任何人都可以调用大模型的算力.
什么和大模型结合将发挥重大的价值? 毫无疑问是数据. 1、通过数据来训练大模型. 2、通过大模型分析数据, 帮助企业进行决策. 3、通过大模型理解数据, 例如帮助企业解决客户和伙伴提出的问题, 提升产品体验.
这个实验将带领大家来体验一下如何将“千问大模型+文本向量化模型”植入到PG|PolarDB中, 让数据库具备AI能力.
云计算未来发展的“变”与“不变”
C 位面对面
9 月 3 日,在QCon全球软件开发大会主会场,极客邦科技与阿里云认证正式宣发携手认证合作,举办了授牌仪式,共同致力于未来技术人才的发展。同时,阿里云 CIO & aliyun.com 负责人蒋林泉与极客邦科技创始人 & CEO 霍太稳也进行一次深入对话,讨论了影响企业数字化转型的人才问题,以及在 AIGC 浪潮下的云计算未来发展。庄同学(魏庄)
6天前
存储
SQL
Cloud Native
一文教会你使用强大的ClickHouse物化视图
在现实世界中,数据不仅需要存储,还需要处理。处理通常在应用程序端完成。但是,有些关键的处理点可以转移到ClickHouse,以提高数据的性能和可管理性。ClickHouse中最强大的工具之一就是物化视图。在这篇文章中,我们将探秘物化视图以及它们如何完成加速查询以及数据转换、过滤和路由等任务。
如果您想了解更多关于物化视图的信息,我们后续会提供一个免费的培训课程。阿里开发者
7天前
Arthas
消息中间件
人工智能
为什么很多人工作3年,却只有1年经验?
同样是在软件开发行业工作 3 年,为什么有些人经验丰富,可以独当一面,而有些人却还和工作一年的人差不多?作者给出了自己的答案。
抢先预约!CloudOps云上运维系列公开课即将上线!
为了更好的帮助用户在使用DevOps缩短开发周期、提升业务效率的同时,也能让业务保持稳定、安全、可靠,且低成本的持续运营,阿里云弹性计算团队独家出品的【弹性计算技术公开课_CloudOps云上运维季】正式启动。阿里云弹性计算内部13位产品&技术专家共同分享云上运维深度实践,详细阐述如何利用CloudOps工具实现运维提效、弹性降本。该系列共10节直播课程,将在阿里云官网、阿里云微信视频号、CSDN官网、阿里云钉钉视频号、阿里云开发者微信视频号同步播出,本次课程由战略合作媒体CSDN独家支持。
安谋科技(Arm China)别再平:Arm Neoverse 软件生态介绍
2023年8月15日,系列课程第二节《Arm Neoverse 软件生态介绍》正式上线,由安谋科技(Arm China)高级软件经理别再平主讲,内容涵盖:Arm Neoverse 介绍,Arm Neoverse 软件生态系统,Arm Neoverse 软件迁移.开发者之家
21天前
机器学习/深度学习
人工智能
算法
【保姆级教程】用PAI-DSW修复亚运历史老照片
本教程整合了来自开源社区的高质量图像修复、去噪、上色等算法,并使用 Stable Diffusion WebUI 进行交互式图像修复。参与者可以根据需要进行参数调整,组合不同的处理方式以获得最佳修复效果。参与者还可以在活动页面上传修复后的成果图片,参与比赛,获胜者将有机会获得丰厚的奖品。
}

我要回帖

更多关于 中括号和小括号的混合运算 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信